diff --git a/packages/core/cairo/src/common-components.ts b/packages/core/cairo/src/common-components.ts index bdfcef0e8..19e022afb 100644 --- a/packages/core/cairo/src/common-components.ts +++ b/packages/core/cairo/src/common-components.ts @@ -69,8 +69,8 @@ export function addSRC5Component(c: ContractBuilder, section?: string) { } } -export function addVotesComponent(c: ContractBuilder, name: string, version: string, section?: string) { - addSNIP12Metadata(c, name, version, section); +export function addVotesComponent(c: ContractBuilder, name: string, version: string, snip12MetadataSection?: string) { + addSNIP12Metadata(c, name, version, snip12MetadataSection); c.addComponent(components.NoncesComponent, [], false); c.addComponent(components.VotesComponent, [], false); c.addImplToComponent(components.VotesComponent, { diff --git a/packages/core/cairo_alpha/CHANGELOG.md b/packages/core/cairo_alpha/CHANGELOG.md index 032579de9..bf511c6bf 100644 --- a/packages/core/cairo_alpha/CHANGELOG.md +++ b/packages/core/cairo_alpha/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Unreleased + +- **Breaking changes**: + - Use OpenZeppelin Contracts for Cairo v3.0.0-alpha.0. ([#623](https://github.com/OpenZeppelin/contracts-wizard/pull/623)) + ## 2.0.0 (2025-06-20) - Add AccessControlWithDelay. ([#506](https://github.com/OpenZeppelin/contracts-wizard/pull/506)) diff --git a/packages/core/cairo_alpha/package.json b/packages/core/cairo_alpha/package.json index b54ffcf8c..2ef7ef1a3 100644 --- a/packages/core/cairo_alpha/package.json +++ b/packages/core/cairo_alpha/package.json @@ -1,7 +1,7 @@ { "name": "@openzeppelin/wizard-cairo-alpha", "private": true, - "version": "2.0.0", + "version": "3.0.0-alpha.0", "description": "A boilerplate generator to get started with the latest alpha version of OpenZeppelin Contracts for Cairo", "license": "AGPL-3.0-only", "repository": "https://github.com/OpenZeppelin/contracts-wizard", diff --git a/packages/core/cairo_alpha/src/account.test.ts.md b/packages/core/cairo_alpha/src/account.test.ts.md index 6ed84cbef..140fb25ce 100644 --- a/packages/core/cairo_alpha/src/account.test.ts.md +++ b/packages/core/cairo_alpha/src/account.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -86,7 +86,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -142,7 +142,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -219,7 +219,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -275,7 +275,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -346,7 +346,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -396,7 +396,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -477,7 +477,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -550,7 +550,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -623,7 +623,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -698,7 +698,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -773,7 +773,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -850,7 +850,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -927,7 +927,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1005,7 +1005,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1062,7 +1062,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1140,7 +1140,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1197,7 +1197,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1269,7 +1269,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1320,7 +1320,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1402,7 +1402,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1476,7 +1476,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1550,7 +1550,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1626,7 +1626,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1702,7 +1702,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ @@ -1780,7 +1780,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract(account)]␊ mod MyAccount {␊ diff --git a/packages/core/cairo_alpha/src/account.test.ts.snap b/packages/core/cairo_alpha/src/account.test.ts.snap index e97d5704c..822a79cde 100644 Binary files a/packages/core/cairo_alpha/src/account.test.ts.snap and b/packages/core/cairo_alpha/src/account.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/common-components.ts b/packages/core/cairo_alpha/src/common-components.ts index bdfcef0e8..b0c797ab1 100644 --- a/packages/core/cairo_alpha/src/common-components.ts +++ b/packages/core/cairo_alpha/src/common-components.ts @@ -69,14 +69,15 @@ export function addSRC5Component(c: ContractBuilder, section?: string) { } } -export function addVotesComponent(c: ContractBuilder, name: string, version: string, section?: string) { - addSNIP12Metadata(c, name, version, section); +export function addVotesComponent(c: ContractBuilder, name: string, version: string, snip12MetadataSection?: string) { + addSNIP12Metadata(c, name, version, snip12MetadataSection); c.addComponent(components.NoncesComponent, [], false); c.addComponent(components.VotesComponent, [], false); c.addImplToComponent(components.VotesComponent, { name: 'VotesImpl', value: `VotesComponent::VotesImpl`, }); + c.addUseClause('openzeppelin::utils::contract_clock', 'ERC6372TimestampClock'); } export function addSNIP12Metadata(c: ContractBuilder, name: string, version: string, section?: string) { diff --git a/packages/core/cairo_alpha/src/contract.test.ts.md b/packages/core/cairo_alpha/src/contract.test.ts.md index 2594c05d2..0ee366499 100644 --- a/packages/core/cairo_alpha/src/contract.test.ts.md +++ b/packages/core/cairo_alpha/src/contract.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -24,7 +24,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -44,7 +44,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -64,7 +64,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -89,7 +89,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -114,7 +114,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -154,7 +154,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -195,7 +195,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod Foo {␊ @@ -237,7 +237,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ // Security contact: security@example.com␊ #[starknet::contract]␊ diff --git a/packages/core/cairo_alpha/src/contract.test.ts.snap b/packages/core/cairo_alpha/src/contract.test.ts.snap index 5cc56e268..93f8ba017 100644 Binary files a/packages/core/cairo_alpha/src/contract.test.ts.snap and b/packages/core/cairo_alpha/src/contract.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/custom.test.ts.md b/packages/core/cairo_alpha/src/custom.test.ts.md index 42a53952b..bf5351d34 100644 --- a/packages/core/cairo_alpha/src/custom.test.ts.md +++ b/packages/core/cairo_alpha/src/custom.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -24,7 +24,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -85,7 +85,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -171,7 +171,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -232,7 +232,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -247,7 +247,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ @@ -308,7 +308,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ ␊ @@ -385,7 +385,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyContract {␊ diff --git a/packages/core/cairo_alpha/src/custom.test.ts.snap b/packages/core/cairo_alpha/src/custom.test.ts.snap index d0bd431d0..d269ba9ff 100644 Binary files a/packages/core/cairo_alpha/src/custom.test.ts.snap and b/packages/core/cairo_alpha/src/custom.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/erc1155.test.ts.md b/packages/core/cairo_alpha/src/erc1155.test.ts.md index 259709793..b0caea4f7 100644 --- a/packages/core/cairo_alpha/src/erc1155.test.ts.md +++ b/packages/core/cairo_alpha/src/erc1155.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -81,7 +81,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -173,7 +173,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const URI_SETTER_ROLE: felt252 = selector!("URI_SETTER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -282,7 +282,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -359,7 +359,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -484,7 +484,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -610,7 +610,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -737,7 +737,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ const URI_SETTER_ROLE: felt252 = selector!("URI_SETTER_ROLE");␊ @@ -884,7 +884,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -976,7 +976,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1086,7 +1086,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const URI_SETTER_ROLE: felt252 = selector!("URI_SETTER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -1212,7 +1212,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1326,7 +1326,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const URI_SETTER_ROLE: felt252 = selector!("URI_SETTER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -1456,7 +1456,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const PAUSER_ROLE: felt252 = selector!("PAUSER_ROLE");␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ @@ -1667,7 +1667,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const PAUSER_ROLE: felt252 = selector!("PAUSER_ROLE");␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ diff --git a/packages/core/cairo_alpha/src/erc1155.test.ts.snap b/packages/core/cairo_alpha/src/erc1155.test.ts.snap index 4c1c5e57d..d8e7bd195 100644 Binary files a/packages/core/cairo_alpha/src/erc1155.test.ts.snap and b/packages/core/cairo_alpha/src/erc1155.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/erc20.test.ts.md b/packages/core/cairo_alpha/src/erc20.test.ts.md index 37c56b7ca..2f2d15e38 100644 --- a/packages/core/cairo_alpha/src/erc20.test.ts.md +++ b/packages/core/cairo_alpha/src/erc20.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -49,7 +49,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -120,7 +120,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -200,7 +200,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -308,7 +308,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const PAUSER_ROLE: felt252 = selector!("PAUSER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -435,7 +435,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -548,7 +548,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -621,7 +621,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -692,7 +692,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -773,7 +773,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -873,7 +873,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -882,6 +882,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress};␊ @@ -988,7 +989,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -997,6 +998,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress};␊ @@ -1103,12 +1105,13 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ use openzeppelin::governance::votes::VotesComponent;␊ use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ ␊ @@ -1187,7 +1190,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1195,6 +1198,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::governance::votes::VotesComponent;␊ use openzeppelin::security::pausable::PausableComponent;␊ use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ContractAddress, get_caller_address};␊ @@ -1330,7 +1334,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1340,6 +1344,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress, get_caller_address};␊ @@ -1493,7 +1498,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const PAUSER_ROLE: felt252 = selector!("PAUSER_ROLE");␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ @@ -1508,6 +1513,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc20::{DefaultConfig, ERC20Component};␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress, get_caller_address};␊ diff --git a/packages/core/cairo_alpha/src/erc20.test.ts.snap b/packages/core/cairo_alpha/src/erc20.test.ts.snap index 90e86c8ba..5132a45da 100644 Binary files a/packages/core/cairo_alpha/src/erc20.test.ts.snap and b/packages/core/cairo_alpha/src/erc20.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/erc721.test.ts.md b/packages/core/cairo_alpha/src/erc721.test.ts.md index 8ed1bd72b..92add384d 100644 --- a/packages/core/cairo_alpha/src/erc721.test.ts.md +++ b/packages/core/cairo_alpha/src/erc721.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -55,7 +55,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -132,7 +132,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -209,7 +209,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -296,7 +296,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -410,7 +410,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -512,7 +512,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -611,7 +611,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -736,7 +736,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const MINTER_ROLE: felt252 = selector!("MINTER_ROLE");␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ @@ -855,7 +855,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -932,7 +932,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1027,7 +1027,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ ␊ @@ -1135,7 +1135,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1234,7 +1234,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ const UPGRADER_ROLE: felt252 = selector!("UPGRADER_ROLE");␊ ␊ @@ -1346,7 +1346,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1358,6 +1358,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::common::erc2981::{DefaultConfig, ERC2981Component};␊ use openzeppelin::token::erc721::ERC721Component;␊ use openzeppelin::token::erc721::extensions::ERC721EnumerableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ContractAddress, get_caller_address};␊ @@ -1530,7 +1531,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1540,6 +1541,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc721::ERC721Component;␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress};␊ @@ -1652,7 +1654,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1662,6 +1664,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc721::ERC721Component;␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress};␊ @@ -1774,13 +1777,14 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ use openzeppelin::governance::votes::VotesComponent;␊ use openzeppelin::introspection::src5::SRC5Component;␊ use openzeppelin::token::erc721::ERC721Component;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::ContractAddress;␊ @@ -1866,7 +1870,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyToken {␊ @@ -1880,6 +1884,7 @@ Generated by [AVA](https://avajs.dev). use openzeppelin::token::erc721::extensions::ERC721EnumerableComponent;␊ use openzeppelin::upgrades::interface::IUpgradeable;␊ use openzeppelin::upgrades::UpgradeableComponent;␊ + use openzeppelin::utils::contract_clock::ERC6372TimestampClock;␊ use openzeppelin::utils::cryptography::nonces::NoncesComponent;␊ use openzeppelin::utils::cryptography::snip12::SNIP12Metadata;␊ use starknet::{ClassHash, ContractAddress, get_caller_address};␊ diff --git a/packages/core/cairo_alpha/src/erc721.test.ts.snap b/packages/core/cairo_alpha/src/erc721.test.ts.snap index 328e9af35..29874d6a2 100644 Binary files a/packages/core/cairo_alpha/src/erc721.test.ts.snap and b/packages/core/cairo_alpha/src/erc721.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/governor.test.ts.md b/packages/core/cairo_alpha/src/governor.test.ts.md index 345a33c28..8951311ea 100644 --- a/packages/core/cairo_alpha/src/governor.test.ts.md +++ b/packages/core/cairo_alpha/src/governor.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -151,7 +151,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -269,7 +269,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -411,7 +411,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -553,7 +553,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod CustomGovernor {␊ @@ -695,7 +695,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -837,7 +837,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -988,7 +988,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -1130,7 +1130,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ @@ -1272,7 +1272,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyGovernor {␊ diff --git a/packages/core/cairo_alpha/src/governor.test.ts.snap b/packages/core/cairo_alpha/src/governor.test.ts.snap index f7c43e300..00106c90a 100644 Binary files a/packages/core/cairo_alpha/src/governor.test.ts.snap and b/packages/core/cairo_alpha/src/governor.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/multisig.test.ts.md b/packages/core/cairo_alpha/src/multisig.test.ts.md index 000e461a0..f9eae3abb 100644 --- a/packages/core/cairo_alpha/src/multisig.test.ts.md +++ b/packages/core/cairo_alpha/src/multisig.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod CustomMultisig {␊ @@ -72,7 +72,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyMultisig {␊ @@ -135,7 +135,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod CustomMultisig {␊ @@ -198,7 +198,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyMultisig {␊ @@ -261,7 +261,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyMultisig {␊ diff --git a/packages/core/cairo_alpha/src/multisig.test.ts.snap b/packages/core/cairo_alpha/src/multisig.test.ts.snap index d0eb36ef7..fdbc6a4e5 100644 Binary files a/packages/core/cairo_alpha/src/multisig.test.ts.snap and b/packages/core/cairo_alpha/src/multisig.test.ts.snap differ diff --git a/packages/core/cairo_alpha/src/utils/version.ts b/packages/core/cairo_alpha/src/utils/version.ts index 062fd2687..055f13865 100644 --- a/packages/core/cairo_alpha/src/utils/version.ts +++ b/packages/core/cairo_alpha/src/utils/version.ts @@ -1,19 +1,19 @@ /** * The actual latest version to use in links. */ -export const contractsVersion = '2.0.0'; +export const contractsVersion = '3.0.0-alpha.0'; export const contractsVersionTag = `v${contractsVersion}`; /** * Cairo compiler versions. */ export const edition = '2024_07'; -export const cairoVersion = '2.11.4'; -export const scarbVersion = '2.11.4'; +export const cairoVersion = '2.12.0'; +export const scarbVersion = '2.12.0'; /** * Semantic version string representing of the minimum compatible version of Contracts to display in output. * If this targets a stable version, it should use a range (e.g. ^2.0.0) * If this targets an alpha version, it should be pinned to the exact version (e.g. not using ^) */ -export const compatibleContractsSemver = '2.0.0'; +export const compatibleContractsSemver = '3.0.0-alpha.0'; diff --git a/packages/core/cairo_alpha/src/vesting.test.ts.md b/packages/core/cairo_alpha/src/vesting.test.ts.md index 88c9536b7..65c666705 100644 --- a/packages/core/cairo_alpha/src/vesting.test.ts.md +++ b/packages/core/cairo_alpha/src/vesting.test.ts.md @@ -9,7 +9,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod CustomVesting {␊ @@ -64,7 +64,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyVesting {␊ @@ -119,7 +119,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyVesting {␊ @@ -174,7 +174,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyVesting {␊ @@ -229,7 +229,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyVesting {␊ @@ -299,7 +299,7 @@ Generated by [AVA](https://avajs.dev). > Snapshot 1 `// SPDX-License-Identifier: MIT␊ - // Compatible with OpenZeppelin Contracts for Cairo 2.0.0␊ + // Compatible with OpenZeppelin Contracts for Cairo 3.0.0-alpha.0␊ ␊ #[starknet::contract]␊ mod MyVesting {␊ diff --git a/packages/core/cairo_alpha/src/vesting.test.ts.snap b/packages/core/cairo_alpha/src/vesting.test.ts.snap index 759bead71..c54d15576 100644 Binary files a/packages/core/cairo_alpha/src/vesting.test.ts.snap and b/packages/core/cairo_alpha/src/vesting.test.ts.snap differ diff --git a/packages/core/cairo_alpha/test_project/Scarb.lock b/packages/core/cairo_alpha/test_project/Scarb.lock index 27a0a3587..e414131c9 100644 --- a/packages/core/cairo_alpha/test_project/Scarb.lock +++ b/packages/core/cairo_alpha/test_project/Scarb.lock @@ -3,8 +3,8 @@ version = 1 [[package]] name = "openzeppelin" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_access", "openzeppelin_account", @@ -21,16 +21,16 @@ dependencies = [ [[package]] name = "openzeppelin_access" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_introspection", ] [[package]] name = "openzeppelin_account" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_introspection", "openzeppelin_utils", @@ -38,8 +38,8 @@ dependencies = [ [[package]] name = "openzeppelin_finance" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_access", "openzeppelin_token", @@ -47,8 +47,8 @@ dependencies = [ [[package]] name = "openzeppelin_governance" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_access", "openzeppelin_account", @@ -59,18 +59,18 @@ dependencies = [ [[package]] name = "openzeppelin_introspection" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" [[package]] name = "openzeppelin_merkle_tree" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" [[package]] name = "openzeppelin_presets" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_access", "openzeppelin_account", @@ -83,13 +83,13 @@ dependencies = [ [[package]] name = "openzeppelin_security" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" [[package]] name = "openzeppelin_token" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" dependencies = [ "openzeppelin_access", "openzeppelin_account", @@ -99,13 +99,13 @@ dependencies = [ [[package]] name = "openzeppelin_upgrades" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" [[package]] name = "openzeppelin_utils" -version = "2.0.0" -source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v2.0.0#f1c15a30a44311166e0368081c5f79ab5a02c1d3" +version = "3.0.0-alpha.0" +source = "git+https://github.com/OpenZeppelin/cairo-contracts?tag=v3.0.0-alpha.0#8023c19f0235b702d9d1729937690a655a98fb59" [[package]] name = "test_project" diff --git a/packages/core/cairo_alpha/test_project/Scarb.toml b/packages/core/cairo_alpha/test_project/Scarb.toml index df72a29d4..b9d4d943c 100644 --- a/packages/core/cairo_alpha/test_project/Scarb.toml +++ b/packages/core/cairo_alpha/test_project/Scarb.toml @@ -2,12 +2,12 @@ name = "test_project" version = "0.1.0" edition = "2024_07" -cairo-version = "2.11.4" -scarb-version = "2.11.4" +cairo-version = "2.12.0" +scarb-version = "2.12.0" [dependencies] -starknet = "2.11.4" -openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts", tag = "v2.0.0" } +starknet = "2.12.0" +openzeppelin = { git = "https://github.com/OpenZeppelin/cairo-contracts", tag = "v3.0.0-alpha.0" } [lib] diff --git a/packages/ui/src/main.ts b/packages/ui/src/main.ts index 0f9c07655..dd85f3db9 100644 --- a/packages/ui/src/main.ts +++ b/packages/ui/src/main.ts @@ -70,7 +70,7 @@ function evaluateSelection( return { compatible: true, appType: 'cairo' }; } else if ( requestedVersion === 'alpha' || - (semver.satisfies(requestedVersion, cairoAlphaSemver) && cairoVersion !== cairoAlphaVersion) + (semver.satisfies(requestedVersion, cairoAlphaSemver) && semver.compare(cairoVersion, cairoAlphaVersion) !== 0) ) { return { compatible: true, appType: 'cairo_alpha' }; } else if (requestedVersion === 'stable' || semver.satisfies(requestedVersion, cairoSemver)) {