From 761330202ab0980af291300684b509934a145eab Mon Sep 17 00:00:00 2001 From: immrsd Date: Wed, 31 Dec 2025 12:32:08 +0300 Subject: [PATCH 1/4] Fix interfaces and utils versions, also update UDC class hash --- content/contracts-cairo/3.x/utils/constants.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/contracts-cairo/3.x/utils/constants.js b/content/contracts-cairo/3.x/utils/constants.js index 53c10df..f3bda6b 100644 --- a/content/contracts-cairo/3.x/utils/constants.js +++ b/content/contracts-cairo/3.x/utils/constants.js @@ -1,5 +1,5 @@ -export const OPENZEPPELIN_INTERFACES_VERSION = "3.0.0"; -export const OPENZEPPELIN_UTILS_VERSION = "3.0.0"; +export const OPENZEPPELIN_INTERFACES_VERSION = "2.1.0"; +export const OPENZEPPELIN_UTILS_VERSION = "2.1.0"; export const UMBRELLA_VERSION = "3.0.0"; export const CLASS_HASH_SCARB_VERSION = "2.13.1"; @@ -15,7 +15,7 @@ export const CLASS_HASHES = { EthAccountUpgradeableClassHash: "0x000b5bcc16b8b0d86c24996e22206f6071bb8d7307837a02720f0ce2fa1b3d7c", UniversalDeployerClassHash: - "0x01b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8", + "0x01724ff2f76fcddb8f4079d35783655e6d61935a281425721e98607cc480ef56", VestingWalletClassHash: "0x00540c7f907539e1a283318fb3da16f1bf9d9e60ad10c20d0557a0185043b08f", }; From 722e4ef317664659ba712181433c99d0c3114826 Mon Sep 17 00:00:00 2001 From: immrsd Date: Wed, 31 Dec 2025 12:32:40 +0300 Subject: [PATCH 2/4] Fix Cairo 3.x links in current.json --- src/navigation/starknet/current.json | 92 ++++++++++++++-------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/src/navigation/starknet/current.json b/src/navigation/starknet/current.json index 1400c10..e4a6094 100644 --- a/src/navigation/starknet/current.json +++ b/src/navigation/starknet/current.json @@ -11,12 +11,12 @@ { "type": "page", "name": "Overview", - "url": "/contracts-cairo/alpha" + "url": "/contracts-cairo/3.x" }, { "type": "page", "name": "Wizard", - "url": "/contracts-cairo/alpha/wizard" + "url": "/contracts-cairo/3.x/wizard" }, { "type": "folder", @@ -26,27 +26,27 @@ { "type": "page", "name": "Components", - "url": "/contracts-cairo/alpha/components" + "url": "/contracts-cairo/3.x/components" }, { "type": "page", "name": "Presets", - "url": "/contracts-cairo/alpha/presets" + "url": "/contracts-cairo/3.x/presets" }, { "type": "page", "name": "Interfaces and Dispatchers", - "url": "/contracts-cairo/alpha/guides/interfaces-and-dispatchers" + "url": "/contracts-cairo/3.x/guides/interfaces-and-dispatchers" }, { "type": "page", "name": "Counterfactual Deployments", - "url": "/contracts-cairo/alpha/guides/deployment" + "url": "/contracts-cairo/3.x/guides/deployment" }, { "type": "page", "name": "SNIP12 and Typed Messages", - "url": "/contracts-cairo/alpha/guides/snip12" + "url": "/contracts-cairo/3.x/guides/snip12" } ] }, @@ -57,22 +57,22 @@ { "type": "page", "name": "Interfaces", - "url": "/contracts-cairo/alpha/interfaces" + "url": "/contracts-cairo/3.x/interfaces" }, { "type": "page", "name": "Access Control", - "url": "/contracts-cairo/alpha/access" + "url": "/contracts-cairo/3.x/access" }, { "type": "page", "name": "Accounts", - "url": "/contracts-cairo/alpha/accounts" + "url": "/contracts-cairo/3.x/accounts" }, { "type": "page", "name": "Finance", - "url": "/contracts-cairo/alpha/finance" + "url": "/contracts-cairo/3.x/finance" }, { "type": "folder", @@ -81,29 +81,29 @@ { "type": "page", "name": "Governor", - "url": "/contracts-cairo/alpha/governance/governor" + "url": "/contracts-cairo/3.x/governance/governor" }, { "type": "page", "name": "Multisig", - "url": "/contracts-cairo/alpha/governance/multisig" + "url": "/contracts-cairo/3.x/governance/multisig" }, { "type": "page", "name": "Timelock", - "url": "/contracts-cairo/alpha/governance/timelock" + "url": "/contracts-cairo/3.x/governance/timelock" }, { "type": "page", "name": "Votes", - "url": "/contracts-cairo/alpha/governance/votes" + "url": "/contracts-cairo/3.x/governance/votes" } ] }, { "type": "page", "name": "Introspection", - "url": "/contracts-cairo/alpha/introspection" + "url": "/contracts-cairo/3.x/introspection" }, { "type": "folder", @@ -112,24 +112,24 @@ { "type": "page", "name": "Overview", - "url": "/contracts-cairo/alpha/macros" + "url": "/contracts-cairo/3.x/macros" }, { "type": "page", "name": "Type Hash", - "url": "/contracts-cairo/alpha/macros/type_hash" + "url": "/contracts-cairo/3.x/macros/type_hash" }, { "type": "page", "name": "With Components", - "url": "/contracts-cairo/alpha/macros/with_components" + "url": "/contracts-cairo/3.x/macros/with_components" } ] }, { "type": "page", "name": "Security", - "url": "/contracts-cairo/alpha/security" + "url": "/contracts-cairo/3.x/security" }, { "type": "folder", @@ -141,35 +141,35 @@ "index": { "type": "page", "name": "Overview", - "url": "/contracts-cairo/alpha/erc20" + "url": "/contracts-cairo/3.x/erc20" }, "children": [ { "type": "page", "name": "Creating Supply", - "url": "/contracts-cairo/alpha/guides/erc20-supply" + "url": "/contracts-cairo/3.x/guides/erc20-supply" }, { "type": "page", "name": "ERC20 Permit", - "url": "/contracts-cairo/alpha/guides/erc20-permit" + "url": "/contracts-cairo/3.x/guides/erc20-permit" } ] }, { "type": "page", "name": "ERC-721", - "url": "/contracts-cairo/alpha/erc721" + "url": "/contracts-cairo/3.x/erc721" }, { "type": "page", "name": "ERC-1155", - "url": "/contracts-cairo/alpha/erc1155" + "url": "/contracts-cairo/3.x/erc1155" }, { "type": "page", "name": "ERC-4626", - "url": "/contracts-cairo/alpha/erc4626" + "url": "/contracts-cairo/3.x/erc4626" } ] }, @@ -180,19 +180,19 @@ { "type": "page", "name": "Overview", - "url": "/contracts-cairo/alpha/udc" + "url": "/contracts-cairo/3.x/udc" }, { "type": "page", "name": "UDC Appchain Deployment", - "url": "/contracts-cairo/alpha/guides/deploy-udc" + "url": "/contracts-cairo/3.x/guides/deploy-udc" } ] }, { "type": "page", "name": "Upgrades", - "url": "/contracts-cairo/alpha/upgrades" + "url": "/contracts-cairo/3.x/upgrades" } ] }, @@ -203,88 +203,88 @@ { "type": "page", "name": "Access Control", - "url": "/contracts-cairo/alpha/api/access" + "url": "/contracts-cairo/3.x/api/access" }, { "type": "page", "name": "Account", - "url": "/contracts-cairo/alpha/api/account" + "url": "/contracts-cairo/3.x/api/account" }, { "type": "page", "name": "ERC-20", - "url": "/contracts-cairo/alpha/api/erc20" + "url": "/contracts-cairo/3.x/api/erc20" }, { "type": "page", "name": "ERC-721", - "url": "/contracts-cairo/alpha/api/erc721" + "url": "/contracts-cairo/3.x/api/erc721" }, { "type": "page", "name": "ERC-1155", - "url": "/contracts-cairo/alpha/api/erc1155" + "url": "/contracts-cairo/3.x/api/erc1155" }, { "type": "page", "name": "ERC-4626", - "url": "/contracts-cairo/alpha/api/erc20#ERC4626Component" + "url": "/contracts-cairo/3.x/api/erc20#ERC4626Component" }, { "type": "page", "name": "Token Common", - "url": "/contracts-cairo/alpha/api/token_common" + "url": "/contracts-cairo/3.x/api/token_common" }, { "type": "page", "name": "Finance", - "url": "/contracts-cairo/alpha/api/finance" + "url": "/contracts-cairo/3.x/api/finance" }, { "type": "page", "name": "Governance", - "url": "/contracts-cairo/alpha/api/governance" + "url": "/contracts-cairo/3.x/api/governance" }, { "type": "page", "name": "Introspection", - "url": "/contracts-cairo/alpha/api/introspection" + "url": "/contracts-cairo/3.x/api/introspection" }, { "type": "page", "name": "Merkle Tree", - "url": "/contracts-cairo/alpha/api/merkle-tree" + "url": "/contracts-cairo/3.x/api/merkle-tree" }, { "type": "page", "name": "Security", - "url": "/contracts-cairo/alpha/api/security" + "url": "/contracts-cairo/3.x/api/security" }, { "type": "page", "name": "Testing", - "url": "/contracts-cairo/alpha/api/testing" + "url": "/contracts-cairo/3.x/api/testing" }, { "type": "page", "name": "UDC", - "url": "/contracts-cairo/alpha/api/udc" + "url": "/contracts-cairo/3.x/api/udc" }, { "type": "page", "name": "Upgrades", - "url": "/contracts-cairo/alpha/api/upgrades" + "url": "/contracts-cairo/3.x/api/upgrades" }, { "type": "page", "name": "Utilities", - "url": "/contracts-cairo/alpha/api/utilities" + "url": "/contracts-cairo/3.x/api/utilities" } ] }, { "type": "page", "name": "Backwards Compatibility", - "url": "/contracts-cairo/alpha/backwards-compatibility" + "url": "/contracts-cairo/3.x/backwards-compatibility" } ] From e2e5e9481a09169ba5af252e1c93e4ad83712b54 Mon Sep 17 00:00:00 2001 From: immrsd Date: Wed, 31 Dec 2025 12:34:59 +0300 Subject: [PATCH 3/4] Revert version bump in UDC guide --- content/contracts-cairo/3.x/guides/deploy-udc.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/contracts-cairo/3.x/guides/deploy-udc.mdx b/content/contracts-cairo/3.x/guides/deploy-udc.mdx index c2f9874..5e20ac1 100644 --- a/content/contracts-cairo/3.x/guides/deploy-udc.mdx +++ b/content/contracts-cairo/3.x/guides/deploy-udc.mdx @@ -33,7 +33,7 @@ under one important assumption: **the declared UDC class hash MUST be the same a Different compiler versions may produce different class hashes for the same contract, so you need to make sure you are using the same compiler version to build the UDC class (and the release profile). -The latest version of the UDC available in the `openzeppelin_presets` package was compiled with **Cairo v2.13.1** (release profile) and the resulting class hash is `0x01b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8`. +The latest version of the UDC available in the `openzeppelin_presets` package was compiled with **Cairo v2.11.4** (release profile) and the resulting class hash is `0x01b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8`. If you are using a different compiler version, you need to make sure the class hash is the same as the one above in order to keep the same address across all networks. @@ -88,7 +88,7 @@ The bootstrapper contract is a simple contract that declares the UDC and allows You can find a reference implementation below: -This reference implementation targets Cairo v2.13.1. If you are using a different version of Cairo, you may need to update the code to match your compiler version. +This reference implementation targets Cairo v2.11.4. If you are using a different version of Cairo, you may need to update the code to match your compiler version. ```rust From 37455fdb4fad32bc82d61f1839d6e2478b120bb3 Mon Sep 17 00:00:00 2001 From: immrsd Date: Wed, 31 Dec 2025 15:47:44 +0300 Subject: [PATCH 4/4] Clarify UDC source code version --- content/contracts-cairo/3.x/guides/deploy-udc.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/contracts-cairo/3.x/guides/deploy-udc.mdx b/content/contracts-cairo/3.x/guides/deploy-udc.mdx index 5e20ac1..7df8732 100644 --- a/content/contracts-cairo/3.x/guides/deploy-udc.mdx +++ b/content/contracts-cairo/3.x/guides/deploy-udc.mdx @@ -33,7 +33,7 @@ under one important assumption: **the declared UDC class hash MUST be the same a Different compiler versions may produce different class hashes for the same contract, so you need to make sure you are using the same compiler version to build the UDC class (and the release profile). -The latest version of the UDC available in the `openzeppelin_presets` package was compiled with **Cairo v2.11.4** (release profile) and the resulting class hash is `0x01b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8`. +The latest UDC version available in the `openzeppelin_presets` package was compiled from library version `v2.0.0` using **Cairo v2.11.4** (release profile). The resulting class hash is `0x01b2df6d8861670d4a8ca4670433b2418d78169c2947f46dc614e69f333745c8`. If you are using a different compiler version, you need to make sure the class hash is the same as the one above in order to keep the same address across all networks.