diff --git a/README.md b/README.md index 08968d6bc..fa16af34b 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Installing directly the `main` branch may contain incomplete or breaking impleme ### Use a basic preset -Presets are ready-to-use contracts that you can deploy right away. They also serve as examples of how to use library modules. [Read more about presets](https://docs.openzeppelin.com/contracts-cairo/0.5.1/extensibility#presets). +Presets are ready-to-use contracts that you can deploy right away. They also serve as examples of how to use library modules. [Read more about presets](https://docs.openzeppelin.com/contracts-cairo/0.6.0/extensibility#presets). ```cairo // contracts/MyToken.cairo @@ -84,11 +84,11 @@ nile compile nile deploy MyToken --alias my_token ``` -> Note that `` is expected to be two integers i.e. `1` `0`. See [Uint256](https://docs.openzeppelin.com/contracts-cairo/0.5.1/utilities#uint256) for more information. +> Note that `` is expected to be two integers i.e. `1` `0`. See [Uint256](https://docs.openzeppelin.com/contracts-cairo/0.6.0/utilities#uint256) for more information. ### Write a custom contract using library modules -[Read more about libraries](https://docs.openzeppelin.com/contracts-cairo/0.5.1/extensibility#libraries). +[Read more about libraries](https://docs.openzeppelin.com/contracts-cairo/0.6.0/extensibility#libraries). ```cairo %lang starknet @@ -115,14 +115,14 @@ func transfer{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr}( Check out the [full documentation site](https://docs.openzeppelin.com/contracts-cairo)! Featuring: -- [Accounts](https://docs.openzeppelin.com/contracts-cairo/0.5.1/accounts) -- [ERC20](https://docs.openzeppelin.com/contracts-cairo/0.5.1/erc20) -- [ERC721](https://docs.openzeppelin.com/contracts-cairo/0.5.1/erc721) -- [ERC1155](https://docs.openzeppelin.com/contracts-cairo/0.5.1/erc1155) -- [Contract extensibility pattern](https://docs.openzeppelin.com/contracts-cairo/0.5.1/extensibility) -- [Proxies and upgrades](https://docs.openzeppelin.com/contracts-cairo/0.5.1/proxies) -- [Security](https://docs.openzeppelin.com/contracts-cairo/0.5.1/security) -- [Utilities](https://docs.openzeppelin.com/contracts-cairo/0.5.1/utilities) +- [Accounts](https://docs.openzeppelin.com/contracts-cairo/0.6.0/accounts) +- [ERC20](https://docs.openzeppelin.com/contracts-cairo/0.6.0/erc20) +- [ERC721](https://docs.openzeppelin.com/contracts-cairo/0.6.0/erc721) +- [ERC1155](https://docs.openzeppelin.com/contracts-cairo/0.6.0/erc1155) +- [Contract extensibility pattern](https://docs.openzeppelin.com/contracts-cairo/0.6.0/extensibility) +- [Proxies and upgrades](https://docs.openzeppelin.com/contracts-cairo/0.6.0/proxies) +- [Security](https://docs.openzeppelin.com/contracts-cairo/0.6.0/security) +- [Utilities](https://docs.openzeppelin.com/contracts-cairo/0.6.0/utilities) ### Cairo @@ -262,7 +262,7 @@ def foo_factory(): return cached_foo ``` -See [Memoization](https://docs.openzeppelin.com/contracts-cairo/0.5.1/utilities#memoization) in the Utilities documentation for a more thorough example on caching contracts. +See [Memoization](https://docs.openzeppelin.com/contracts-cairo/0.6.0/utilities#memoization) in the Utilities documentation for a more thorough example on caching contracts. > Note that this does not apply for stateless libraries such as SafeMath. diff --git a/docs/antora.yml b/docs/antora.yml index e5da27da1..56ec9ca7d 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,5 +1,5 @@ name: contracts-cairo title: Contracts for Cairo -version: 0.5.1 +version: 0.6.0 nav: - modules/ROOT/nav.adoc diff --git a/docs/modules/ROOT/pages/access.adoc b/docs/modules/ROOT/pages/access.adoc index 0e9e9cee8..f88725eb1 100644 --- a/docs/modules/ROOT/pages/access.adoc +++ b/docs/modules/ROOT/pages/access.adoc @@ -1,4 +1,4 @@ -:ownable-cairo: link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/access/ownable/library.cairo[Ownable] +:ownable-cairo: link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/access/ownable/library.cairo[Ownable] :extensibility-pattern: xref:extensibility.adoc#the_pattern @@ -200,7 +200,7 @@ Most software uses access control systems that are role-based: some users are re For each role that you want to define, you will create a new _role identifier_ that is used to grant, revoke, and check if an account has that role (see <> for information on creating identifiers). -Here's a simple example of implementing `AccessControl` on a portion of an link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20.cairo[ERC20 token contract] which defines and sets the 'minter' role: +Here's a simple example of implementing `AccessControl` on a portion of an link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20.cairo[ERC20 token contract] which defines and sets the 'minter' role: [,cairo] ---- @@ -350,7 +350,7 @@ However, because those roles' admin role is the default admin role, and that rol Dynamic role allocation is often a desirable property, for example in systems where trust in a participant may vary over time. It can also be used to support use cases such as https://en.wikipedia.org/wiki/Know_your_customer[KYC], where the list of role-bearers may not be known up-front, or may be prohibitively expensive to include in a single transaction. -The following example uses the link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/tests/mocks/AccessControl.cairo[AccessControl mock contract] which exposes the role management functions. +The following example uses the link:https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/tests/mocks/AccessControl.cairo[AccessControl mock contract] which exposes the role management functions. To grant and revoke roles in Python, for example: [,python] @@ -388,7 +388,7 @@ bytes32 public constant SOME_ROLE = keccak256("SOME_ROLE") These identifiers take up 32 bytes (256 bits). Cairo field elements store a maximum of 252 bits. -Even further, a declared _constant_ field element in a StarkNet contract stores even less (see https://github.com/starkware-libs/cairo-lang/blob/release-v0.5.1/src/starkware/cairo/lang/cairo_constants.py#L1[cairo_constants]). +Even further, a declared _constant_ field element in a StarkNet contract stores even less (see https://github.com/starkware-libs/cairo-lang/blob/release-v0.6.0/src/starkware/cairo/lang/cairo_constants.py#L1[cairo_constants]). With this discrepancy, this library maintains an agnostic stance on how contracts should create identifiers. Some ideas to consider: diff --git a/docs/modules/ROOT/pages/accounts.adoc b/docs/modules/ROOT/pages/accounts.adoc index ebb6cee03..e30f01c9a 100644 --- a/docs/modules/ROOT/pages/accounts.adoc +++ b/docs/modules/ROOT/pages/accounts.adoc @@ -1,4 +1,4 @@ -:test-signers: https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/tests/signers.py +:test-signers: https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/tests/signers.py = Accounts @@ -148,7 +148,7 @@ Since `address` will ultimately depend on the `class_hash` and `calldata`, it's == Standard interface -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/account/IAccount.cairo[`IAccount.cairo`] contract interface contains the standard account interface proposed in https://github.com/OpenZeppelin/cairo-contracts/discussions/41[#41] and adopted by OpenZeppelin and Argent. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/account/IAccount.cairo[`IAccount.cairo`] contract interface contains the standard account interface proposed in https://github.com/OpenZeppelin/cairo-contracts/discussions/41[#41] and adopted by OpenZeppelin and Argent. It implements https://eips.ethereum.org/EIPS/eip-1271[EIP-1271] and it is agnostic of signature validation. Further, nonce management is handled on the protocol level. NOTE: `\\__validate_deploy__` is not part of the interface since it's only callable by the protocol. Also contracts don't need to implement it to be considered accounts. @@ -582,11 +582,11 @@ Each preset differs on the signature type being used by the Account. === Account -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/account/presets/Account.cairo[`Account`] preset uses StarkNet keys to validate transactions. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/account/presets/Account.cairo[`Account`] preset uses StarkNet keys to validate transactions. === Eth Account -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/account/presets/EthAccount.cairo[`EthAccount`] preset supports Ethereum addresses, validating transactions with secp256k1 keys. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/account/presets/EthAccount.cairo[`EthAccount`] preset supports Ethereum addresses, validating transactions with secp256k1 keys. == Account introspection with ERC165 diff --git a/docs/modules/ROOT/pages/erc1155.adoc b/docs/modules/ROOT/pages/erc1155.adoc index 1ae34a0d8..f3c9cc991 100644 --- a/docs/modules/ROOT/pages/erc1155.adoc +++ b/docs/modules/ROOT/pages/erc1155.adoc @@ -214,7 +214,7 @@ Otherwise, transfer functions should fail. === ERC1155MintableBurnable -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo[`ERC1155MintableBurnable`] preset offers a quick and easy setup for creating ERC1155 tokens. Its constructor takes three arguments: `name`, `symbol`, and an `owner` address which will be capable of minting tokens. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo[`ERC1155MintableBurnable`] preset offers a quick and easy setup for creating ERC1155 tokens. Its constructor takes three arguments: `name`, `symbol`, and an `owner` address which will be capable of minting tokens. == Utilities diff --git a/docs/modules/ROOT/pages/erc20.adoc b/docs/modules/ROOT/pages/erc20.adoc index 660229c4a..840ae4902 100644 --- a/docs/modules/ROOT/pages/erc20.adoc +++ b/docs/modules/ROOT/pages/erc20.adoc @@ -134,7 +134,7 @@ await signer.send_transaction(account, erc20.contract_address, 'transfer', [reci ERC20 contracts can be extended by following the xref:extensibility.adoc#the_pattern[extensibility pattern]. The basic idea behind integrating the pattern is to import the requisite ERC20 methods from the ERC20 library and incorporate the extended logic thereafter. For example, let's say you wanted to implement a pausing mechanism. -The contract should first import the ERC20 methods and the extended logic from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/security/pausable/library.cairo[Pausable library] i.e. `Pausable.pause`, `Pausable.unpause`. +The contract should first import the ERC20 methods and the extended logic from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/security/pausable/library.cairo[Pausable library] i.e. `Pausable.pause`, `Pausable.unpause`. Next, the contract should expose the methods with the extended logic therein like this: [,cairo] @@ -166,21 +166,21 @@ Each preset mints an initial supply which is especially necessary for presets th === ERC20 (basic) -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20.cairo[`ERC20`] preset offers a quick and easy setup for deploying a basic ERC20 token. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20.cairo[`ERC20`] preset offers a quick and easy setup for deploying a basic ERC20 token. === ERC20Mintable -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo[`ERC20Mintable`] preset allows the contract owner to mint new tokens. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo[`ERC20Mintable`] preset allows the contract owner to mint new tokens. === ERC20Pausable -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[`ERC20Pausable`] preset allows the contract owner to pause/unpause all state-modifying methods i.e. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[`ERC20Pausable`] preset allows the contract owner to pause/unpause all state-modifying methods i.e. `transfer`, `approve`, etc. This preset proves useful for scenarios such as preventing trades until the end of an evaluation period and having an emergency switch for freezing all token transfers in the event of a large bug. === ERC20Upgradeable -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo[`ERC20Upgradeable`] preset allows the contract owner to upgrade a contract by deploying a new ERC20 implementation contract while also maintaining the contract's state. +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo[`ERC20Upgradeable`] preset allows the contract owner to upgrade a contract by deploying a new ERC20 implementation contract while also maintaining the contract's state. This preset proves useful for scenarios such as eliminating bugs and adding new features. For more on upgradeability, see xref:proxies.adoc#contract_upgrades[Contract upgrades]. diff --git a/docs/modules/ROOT/pages/erc721.adoc b/docs/modules/ROOT/pages/erc721.adoc index 45f4de274..0e5b49ebe 100644 --- a/docs/modules/ROOT/pages/erc721.adoc +++ b/docs/modules/ROOT/pages/erc721.adoc @@ -114,7 +114,7 @@ To be as close as possible to the standard, it accepts a dynamic array of felts. In Cairo, arrays are expressed with the array length preceding the actual array; hence, the method accepts `data_len` and `data` respectively as types `felt` and `felt*`. * `ERC165.register_interface` allows contracts to set and communicate which interfaces they support. -This follows OpenZeppelin's https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v0.5.1/contracts/utils/introspection/ERC165Storage.sol[ERC165Storage]. +This follows OpenZeppelin's https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v0.6.0/contracts/utils/introspection/ERC165Storage.sol[ERC165Storage]. * `IERC721Receiver` compliant contracts (`ERC721Holder`) return a hardcoded selector id according to EVM selectors, since selectors are calculated differently in Cairo. This is in line with the ERC165 interfaces design choice towards EVM compatibility. See the xref:introspection.adoc[Introspection docs] for more info. @@ -261,7 +261,7 @@ Instead, the interface IDs are hardcoded from their EVM calculations. On the EVM, the interface ID is calculated from the selector's first four bytes of the hash of the function's signature while Cairo selectors are 252 bytes long. Due to this difference, hardcoding EVM's already-calculated interface IDs is the most consistent approach to both follow the EIP165 standard and EVM compatibility. -Further, this implementation stores supported interfaces in a mapping (similar to OpenZeppelin's https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v0.5.1/contracts/utils/introspection/ERC165Storage.sol[ERC165Storage]). +Further, this implementation stores supported interfaces in a mapping (similar to OpenZeppelin's https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v0.6.0/contracts/utils/introspection/ERC165Storage.sol[ERC165Storage]). === Ready-to-Use Presets diff --git a/docs/modules/ROOT/pages/extensibility.adoc b/docs/modules/ROOT/pages/extensibility.adoc index a19887e08..3b2cbe304 100644 --- a/docs/modules/ROOT/pages/extensibility.adoc +++ b/docs/modules/ROOT/pages/extensibility.adoc @@ -81,15 +81,15 @@ They can be deployed as-is or used as templates for customization. Some presets are: -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/account/presets/Account.cairo[Account] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/tests/mocks/ERC165.cairo[ERC165] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo[ERC20Mintable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[ERC20Pausable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo[ERC20Upgradeable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20.cairo[ERC20] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo[ERC721MintableBurnable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo[ERC721MintablePausable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo[ERC721EnumerableMintableBurnable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/account/presets/Account.cairo[Account] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/tests/mocks/ERC165.cairo[ERC165] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo[ERC20Mintable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[ERC20Pausable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo[ERC20Upgradeable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20.cairo[ERC20] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo[ERC721MintableBurnable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo[ERC721MintablePausable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo[ERC721EnumerableMintableBurnable] In previous versions of Cairo importing any function from a module would automatically import all `@external` functions. We used to leverage this behavior to just import the constructor of the preset contract to load it. Since Cairo v0.10, however, contracts that utilize the preset contracts should import all of the exposed functions from it. For example: diff --git a/docs/modules/ROOT/pages/introspection.adoc b/docs/modules/ROOT/pages/introspection.adoc index 495161f4a..f579a4f8d 100644 --- a/docs/modules/ROOT/pages/introspection.adoc +++ b/docs/modules/ROOT/pages/introspection.adoc @@ -27,7 +27,7 @@ There may even not be any direct calls to them! ERC20 tokens may be sent to a contract that lacks a way to transfer them out of it, locking them forever). In these cases, a contract declaring its interface can be very helpful in preventing errors. -It should be noted that the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/utils/constants/library.cairo[constants library] includes constant variables referencing all of the interface ids used in these contracts. +It should be noted that the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/utils/constants/library.cairo[constants library] includes constant variables referencing all of the interface ids used in these contracts. This allows for more legible code i.e. using `IERC165_ID` instead of `0x01ffc9a7`. @@ -76,7 +76,7 @@ func check_support{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_p ---- NOTE: `supportsInterface` is camelCased because it is an exposed contract method as part of ERC165's interface. -This differs from library methods (such as `supports_interface` from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/introspection/erc165/library.cairo[ERC165 library]) which are snake_cased and not exposed. +This differs from library methods (such as `supports_interface` from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/introspection/erc165/library.cairo[ERC165 library]) which are snake_cased and not exposed. See the xref:extensibility.adoc#function_names_and_coding_style[Function names and coding style] for more details. === IERC165 diff --git a/docs/modules/ROOT/pages/proxies.adoc b/docs/modules/ROOT/pages/proxies.adoc index 4f2aa689a..00549eb9a 100644 --- a/docs/modules/ROOT/pages/proxies.adoc +++ b/docs/modules/ROOT/pages/proxies.adoc @@ -95,7 +95,7 @@ This allows developers to add features, update logic, and fix bugs without touch === Proxy contract -The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/upgrades/presets/Proxy.cairo[Proxy contract] includes two core methods: +The https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/upgrades/presets/Proxy.cairo[Proxy contract] includes two core methods: . The `\\__default__` method is a fallback method that redirects a function call and associated calldata to the implementation contract. . The `\\__l1_default__` method is also a fallback method; @@ -112,7 +112,7 @@ The proxy's fallback function redirects the function call to the implementation === Implementation contract The implementation contract, also known as the logic contract, receives the redirected function calls from the proxy contract. -The implementation contract should follow the xref:extensibility.adoc#the_pattern[Extensibility pattern] and import directly from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/upgrades/library.cairo[Proxy library]. +The implementation contract should follow the xref:extensibility.adoc#the_pattern[Extensibility pattern] and import directly from the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/upgrades/library.cairo[Proxy library]. The implementation contract should: @@ -312,8 +312,8 @@ await signer.send_transaction( For a full deployment and upgrade implementation, please see: -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/tests/mocks/UpgradesMockV1.cairo[Upgrades V1] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/tests/mocks/UpgradesMockV2.cairo[Upgrades V2] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/tests/mocks/UpgradesMockV1.cairo[Upgrades V1] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/tests/mocks/UpgradesMockV2.cairo[Upgrades V2] === Declaring contracts diff --git a/docs/modules/ROOT/pages/security.adoc b/docs/modules/ROOT/pages/security.adoc index 6a22590fd..73ad4d0bc 100644 --- a/docs/modules/ROOT/pages/security.adoc +++ b/docs/modules/ROOT/pages/security.adoc @@ -73,14 +73,14 @@ In other words, `pause` cannot be invoked when already paused and vice versa. For a list of full implementations utilizing the Pausable library, see: -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[ERC20Pausable] -* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo[ERC721MintablePausable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo[ERC20Pausable] +* https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo[ERC721MintablePausable] == Reentrancy Guard A https://gus-tavo-guim.medium.com/reentrancy-attack-on-smart-contracts-how-to-identify-the-exploitable-and-an-example-of-an-attack-4470a2d8dfe4[reentrancy attack] occurs when the caller is able to obtain more resources than allowed by recursively calling a target's function. -Since Cairo does not support modifiers like Solidity, the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/security/reentrancyguard/library.cairo[`reentrancy guard`] library exposes two methods `start` and `end` to protect functions against reentrancy attacks. +Since Cairo does not support modifiers like Solidity, the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/security/reentrancyguard/library.cairo[`reentrancy guard`] library exposes two methods `start` and `end` to protect functions against reentrancy attacks. The protected function must call `ReentrancyGuard.start` before the first function statement, and `ReentrancyGuard.end` before the return statement, as shown below: [,cairo] @@ -101,7 +101,7 @@ func test_function{syscall_ptr : felt*, pedersen_ptr : HashBuiltin*, range_check === SafeUint256 -The SafeUint256 namespace in the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/security/safemath/library.cairo[SafeMath library] offers arithmetic for unsigned 256-bit integers (uint256) by leveraging Cairo's Uint256 library and integrating overflow checks. +The SafeUint256 namespace in the https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/security/safemath/library.cairo[SafeMath library] offers arithmetic for unsigned 256-bit integers (uint256) by leveraging Cairo's Uint256 library and integrating overflow checks. Some of Cairo's Uint256 functions do not revert upon overflows. For instance, `uint256_add` will return a bit carry when the sum exceeds 256 bits. This library includes an additional assertion ensuring values do not overflow. diff --git a/docs/modules/ROOT/pages/utilities.adoc b/docs/modules/ROOT/pages/utilities.adoc index bc7b19896..adcebcf1f 100644 --- a/docs/modules/ROOT/pages/utilities.adoc +++ b/docs/modules/ROOT/pages/utilities.adoc @@ -29,7 +29,7 @@ CAUTION: Expect this module to evolve (as it has already done). == Constants -To ease the readability of Cairo contracts, this project includes reusable https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.5.1/src/openzeppelin/utils/constants/library.cairo[constant variables] like `UINT8_MAX`, or EIP165 interface IDs such as `IERC165_ID` or `IERC721_ID`. +To ease the readability of Cairo contracts, this project includes reusable https://github.com/OpenZeppelin/cairo-contracts/blob/release-v0.6.0/src/openzeppelin/utils/constants/library.cairo[constant variables] like `UINT8_MAX`, or EIP165 interface IDs such as `IERC165_ID` or `IERC721_ID`. For more information on how interface ids are calculated, see the xref:introspection.adoc#interface_calculations[ERC165 documentation]. == Strings diff --git a/scripts/update_version.py b/scripts/update_version.py index 408d707cf..50380602c 100644 --- a/scripts/update_version.py +++ b/scripts/update_version.py @@ -3,7 +3,7 @@ import sys from pathlib import Path -CURRENT_VERSION = "v0.5.1" +CURRENT_VERSION = "v0.6.0" OTHER_PATHS = ["docs/antora.yml", "README.md"] diff --git a/src/openzeppelin/access/accesscontrol/IAccessControl.cairo b/src/openzeppelin/access/accesscontrol/IAccessControl.cairo index 55887bac5..dea308b41 100644 --- a/src/openzeppelin/access/accesscontrol/IAccessControl.cairo +++ b/src/openzeppelin/access/accesscontrol/IAccessControl.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (access/accesscontrol/IAccessControl.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (access/accesscontrol/IAccessControl.cairo) %lang starknet diff --git a/src/openzeppelin/access/accesscontrol/library.cairo b/src/openzeppelin/access/accesscontrol/library.cairo index 6a3cfa346..77f2190d1 100644 --- a/src/openzeppelin/access/accesscontrol/library.cairo +++ b/src/openzeppelin/access/accesscontrol/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (access/accesscontrol/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (access/accesscontrol/library.cairo) %lang starknet diff --git a/src/openzeppelin/access/ownable/library.cairo b/src/openzeppelin/access/ownable/library.cairo index d19c310d5..3a36f8d2d 100644 --- a/src/openzeppelin/access/ownable/library.cairo +++ b/src/openzeppelin/access/ownable/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (access/ownable/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (access/ownable/library.cairo) %lang starknet diff --git a/src/openzeppelin/account/IAccount.cairo b/src/openzeppelin/account/IAccount.cairo index 6d8313aad..2ecc261e2 100644 --- a/src/openzeppelin/account/IAccount.cairo +++ b/src/openzeppelin/account/IAccount.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (account/IAccount.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (account/IAccount.cairo) %lang starknet diff --git a/src/openzeppelin/account/library.cairo b/src/openzeppelin/account/library.cairo index 952342188..81c454b37 100644 --- a/src/openzeppelin/account/library.cairo +++ b/src/openzeppelin/account/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (account/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (account/library.cairo) %lang starknet diff --git a/src/openzeppelin/account/presets/Account.cairo b/src/openzeppelin/account/presets/Account.cairo index 2b40379ac..50c1c0612 100644 --- a/src/openzeppelin/account/presets/Account.cairo +++ b/src/openzeppelin/account/presets/Account.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (account/presets/Account.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (account/presets/Account.cairo) %lang starknet diff --git a/src/openzeppelin/account/presets/AddressRegistry.cairo b/src/openzeppelin/account/presets/AddressRegistry.cairo index 63bf1e7ac..b38bbc19d 100644 --- a/src/openzeppelin/account/presets/AddressRegistry.cairo +++ b/src/openzeppelin/account/presets/AddressRegistry.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (account/presets/AddressRegistry.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (account/presets/AddressRegistry.cairo) %lang starknet diff --git a/src/openzeppelin/account/presets/EthAccount.cairo b/src/openzeppelin/account/presets/EthAccount.cairo index f9eebb077..c828bc76f 100644 --- a/src/openzeppelin/account/presets/EthAccount.cairo +++ b/src/openzeppelin/account/presets/EthAccount.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (account/presets/EthAccount.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (account/presets/EthAccount.cairo) %lang starknet from starkware.cairo.common.cairo_builtins import HashBuiltin, SignatureBuiltin, BitwiseBuiltin diff --git a/src/openzeppelin/introspection/erc165/IERC165.cairo b/src/openzeppelin/introspection/erc165/IERC165.cairo index ae0249ca2..73a117e61 100644 --- a/src/openzeppelin/introspection/erc165/IERC165.cairo +++ b/src/openzeppelin/introspection/erc165/IERC165.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (introspection/erc165/IERC165.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (introspection/erc165/IERC165.cairo) %lang starknet diff --git a/src/openzeppelin/introspection/erc165/library.cairo b/src/openzeppelin/introspection/erc165/library.cairo index 828e3b8e9..b9e700cba 100644 --- a/src/openzeppelin/introspection/erc165/library.cairo +++ b/src/openzeppelin/introspection/erc165/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (introspection/erc165/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (introspection/erc165/library.cairo) %lang starknet diff --git a/src/openzeppelin/security/initializable/library.cairo b/src/openzeppelin/security/initializable/library.cairo index 951006a4e..cbdf554a4 100644 --- a/src/openzeppelin/security/initializable/library.cairo +++ b/src/openzeppelin/security/initializable/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (security/initializable/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (security/initializable/library.cairo) %lang starknet diff --git a/src/openzeppelin/security/pausable/library.cairo b/src/openzeppelin/security/pausable/library.cairo index f5333d071..a04aecd1e 100644 --- a/src/openzeppelin/security/pausable/library.cairo +++ b/src/openzeppelin/security/pausable/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (security/pausable/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (security/pausable/library.cairo) %lang starknet diff --git a/src/openzeppelin/security/reentrancyguard/library.cairo b/src/openzeppelin/security/reentrancyguard/library.cairo index f3e959750..98aae6f4e 100644 --- a/src/openzeppelin/security/reentrancyguard/library.cairo +++ b/src/openzeppelin/security/reentrancyguard/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (security/reentrancyguard/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (security/reentrancyguard/library.cairo) %lang starknet diff --git a/src/openzeppelin/security/safemath/library.cairo b/src/openzeppelin/security/safemath/library.cairo index 4f721c4ff..2cabda197 100644 --- a/src/openzeppelin/security/safemath/library.cairo +++ b/src/openzeppelin/security/safemath/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (security/safemath/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (security/safemath/library.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/IERC1155.cairo b/src/openzeppelin/token/erc1155/IERC1155.cairo index a8e815d56..4b42af207 100644 --- a/src/openzeppelin/token/erc1155/IERC1155.cairo +++ b/src/openzeppelin/token/erc1155/IERC1155.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/IERC1155.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/IERC1155.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/IERC1155MetadataURI.cairo b/src/openzeppelin/token/erc1155/IERC1155MetadataURI.cairo index 0625be814..6839d3863 100644 --- a/src/openzeppelin/token/erc1155/IERC1155MetadataURI.cairo +++ b/src/openzeppelin/token/erc1155/IERC1155MetadataURI.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/IERC1155MetadataURI.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/IERC1155MetadataURI.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/IERC1155Receiver.cairo b/src/openzeppelin/token/erc1155/IERC1155Receiver.cairo index 918948987..b0a17c825 100644 --- a/src/openzeppelin/token/erc1155/IERC1155Receiver.cairo +++ b/src/openzeppelin/token/erc1155/IERC1155Receiver.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/IERC1155Receiver.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/IERC1155Receiver.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/library.cairo b/src/openzeppelin/token/erc1155/library.cairo index be875a3dc..8eee6c977 100644 --- a/src/openzeppelin/token/erc1155/library.cairo +++ b/src/openzeppelin/token/erc1155/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/library.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo b/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo index b5aaa7a83..b9c8ec4e7 100644 --- a/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo +++ b/src/openzeppelin/token/erc1155/presets/ERC1155MintableBurnable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/presets/ERC1155MintableBurnable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/presets/ERC1155MintableBurnable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc1155/presets/utils/ERC1155Holder.cairo b/src/openzeppelin/token/erc1155/presets/utils/ERC1155Holder.cairo index f8aa86259..dc084e2e9 100644 --- a/src/openzeppelin/token/erc1155/presets/utils/ERC1155Holder.cairo +++ b/src/openzeppelin/token/erc1155/presets/utils/ERC1155Holder.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc1155/presets/utils/ERC1155Holder.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc1155/presets/utils/ERC1155Holder.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/IERC20.cairo b/src/openzeppelin/token/erc20/IERC20.cairo index 3fedb028c..883ba6350 100644 --- a/src/openzeppelin/token/erc20/IERC20.cairo +++ b/src/openzeppelin/token/erc20/IERC20.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/IERC20.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/IERC20.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/library.cairo b/src/openzeppelin/token/erc20/library.cairo index 90e437a6f..f9d3db26c 100644 --- a/src/openzeppelin/token/erc20/library.cairo +++ b/src/openzeppelin/token/erc20/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/library.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/presets/ERC20.cairo b/src/openzeppelin/token/erc20/presets/ERC20.cairo index 304f90503..d9ac1890b 100644 --- a/src/openzeppelin/token/erc20/presets/ERC20.cairo +++ b/src/openzeppelin/token/erc20/presets/ERC20.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/presets/ERC20.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/presets/ERC20.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/presets/ERC20Burnable.cairo b/src/openzeppelin/token/erc20/presets/ERC20Burnable.cairo index c3c4f2d66..4ec40063f 100644 --- a/src/openzeppelin/token/erc20/presets/ERC20Burnable.cairo +++ b/src/openzeppelin/token/erc20/presets/ERC20Burnable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Cairo Contracts v0.5.1 (token/erc20/presets/ERC20Burnable.cairo) +// OpenZeppelin Cairo Contracts v0.6.0 (token/erc20/presets/ERC20Burnable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo b/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo index 4f9669da3..dfcc48d0f 100644 --- a/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo +++ b/src/openzeppelin/token/erc20/presets/ERC20Mintable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/presets/ERC20Mintable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/presets/ERC20Mintable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo b/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo index 133b43f21..c4e2f613f 100644 --- a/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo +++ b/src/openzeppelin/token/erc20/presets/ERC20Pausable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/presets/ERC20Pausable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/presets/ERC20Pausable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo b/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo index d4a5a90de..be55db770 100644 --- a/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo +++ b/src/openzeppelin/token/erc20/presets/ERC20Upgradeable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc20/presets/ERC20Upgradeable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc20/presets/ERC20Upgradeable.cairo) %lang starknet %builtins pedersen range_check diff --git a/src/openzeppelin/token/erc721/IERC721.cairo b/src/openzeppelin/token/erc721/IERC721.cairo index 81a1605d7..2a361489b 100644 --- a/src/openzeppelin/token/erc721/IERC721.cairo +++ b/src/openzeppelin/token/erc721/IERC721.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/IERC721.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/IERC721.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/IERC721Metadata.cairo b/src/openzeppelin/token/erc721/IERC721Metadata.cairo index f0bd2a95b..2db5fed93 100644 --- a/src/openzeppelin/token/erc721/IERC721Metadata.cairo +++ b/src/openzeppelin/token/erc721/IERC721Metadata.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/IERC721Metadata.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/IERC721Metadata.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/IERC721Receiver.cairo b/src/openzeppelin/token/erc721/IERC721Receiver.cairo index 447ab6fbb..89a5e251a 100644 --- a/src/openzeppelin/token/erc721/IERC721Receiver.cairo +++ b/src/openzeppelin/token/erc721/IERC721Receiver.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/IERC721Receiver.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/IERC721Receiver.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/enumerable/IERC721Enumerable.cairo b/src/openzeppelin/token/erc721/enumerable/IERC721Enumerable.cairo index 085e45594..bbbde9241 100644 --- a/src/openzeppelin/token/erc721/enumerable/IERC721Enumerable.cairo +++ b/src/openzeppelin/token/erc721/enumerable/IERC721Enumerable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/enumerable/IERC721Enumerable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/enumerable/IERC721Enumerable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/enumerable/library.cairo b/src/openzeppelin/token/erc721/enumerable/library.cairo index 7fc59b531..da45b70a9 100644 --- a/src/openzeppelin/token/erc721/enumerable/library.cairo +++ b/src/openzeppelin/token/erc721/enumerable/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/enumerable/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/enumerable/library.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo b/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo index c2039d60e..6df438e22 100644 --- a/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo +++ b/src/openzeppelin/token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/enumerable/presets/ERC721EnumerableMintableBurnable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/library.cairo b/src/openzeppelin/token/erc721/library.cairo index edcbfceb7..aa750bbb8 100644 --- a/src/openzeppelin/token/erc721/library.cairo +++ b/src/openzeppelin/token/erc721/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/library.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo b/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo index 813350e74..fbb775d78 100644 --- a/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo +++ b/src/openzeppelin/token/erc721/presets/ERC721MintableBurnable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/presets/ERC721MintableBurnable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/presets/ERC721MintableBurnable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo b/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo index 94c12cefc..2d8912339 100644 --- a/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo +++ b/src/openzeppelin/token/erc721/presets/ERC721MintablePausable.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/presets/ERC721MintablePausable.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/presets/ERC721MintablePausable.cairo) %lang starknet diff --git a/src/openzeppelin/token/erc721/presets/utils/ERC721Holder.cairo b/src/openzeppelin/token/erc721/presets/utils/ERC721Holder.cairo index 8fa960346..c543c7d78 100644 --- a/src/openzeppelin/token/erc721/presets/utils/ERC721Holder.cairo +++ b/src/openzeppelin/token/erc721/presets/utils/ERC721Holder.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (token/erc721/presets/utils/ERC721Holder.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (token/erc721/presets/utils/ERC721Holder.cairo) %lang starknet diff --git a/src/openzeppelin/upgrades/library.cairo b/src/openzeppelin/upgrades/library.cairo index a02800df2..4a866db78 100644 --- a/src/openzeppelin/upgrades/library.cairo +++ b/src/openzeppelin/upgrades/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (upgrades/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (upgrades/library.cairo) %lang starknet diff --git a/src/openzeppelin/upgrades/presets/Proxy.cairo b/src/openzeppelin/upgrades/presets/Proxy.cairo index 55ec0a89a..a19ccaec7 100644 --- a/src/openzeppelin/upgrades/presets/Proxy.cairo +++ b/src/openzeppelin/upgrades/presets/Proxy.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (upgrades/presets/Proxy.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (upgrades/presets/Proxy.cairo) %lang starknet diff --git a/src/openzeppelin/utils/constants/library.cairo b/src/openzeppelin/utils/constants/library.cairo index 1ea05aff9..d34d5d2ad 100644 --- a/src/openzeppelin/utils/constants/library.cairo +++ b/src/openzeppelin/utils/constants/library.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (utils/constants/library.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (utils/constants/library.cairo) %lang starknet diff --git a/src/openzeppelin/utils/presets/UniversalDeployer.cairo b/src/openzeppelin/utils/presets/UniversalDeployer.cairo index 7077cdeaa..fc65b2860 100644 --- a/src/openzeppelin/utils/presets/UniversalDeployer.cairo +++ b/src/openzeppelin/utils/presets/UniversalDeployer.cairo @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts for Cairo v0.5.1 (utils/presets/UniversalDeployer.cairo) +// OpenZeppelin Contracts for Cairo v0.6.0 (utils/presets/UniversalDeployer.cairo) %lang starknet