diff --git a/.changeset/afraid-chicken-attack.md b/.changeset/afraid-chicken-attack.md deleted file mode 100644 index 9baefdc2ca7..00000000000 --- a/.changeset/afraid-chicken-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Bytes`: Add `splice(bytes,uint256)` and `splice(bytes,uint256,uint256)` functions that move a specified range of bytes to the start of the buffer and truncate it in place, as an alternative to `slice`. diff --git a/.changeset/all-geese-stand.md b/.changeset/all-geese-stand.md deleted file mode 100644 index 44e6f256365..00000000000 --- a/.changeset/all-geese-stand.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': patch ---- - -Add constructors to the different signers. diff --git a/.changeset/angry-waves-film.md b/.changeset/angry-waves-film.md deleted file mode 100644 index aa316f9551e..00000000000 --- a/.changeset/angry-waves-film.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`WebAuthn`: Add a library for verifying WebAuthn Authentication Assertions. diff --git a/.changeset/clear-tools-refuse.md b/.changeset/clear-tools-refuse.md deleted file mode 100644 index 96e838e6c98..00000000000 --- a/.changeset/clear-tools-refuse.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`RelayedCall`: Add a library to perform indirect calls through minimal and predictable relayers. diff --git a/.changeset/dull-students-eat.md b/.changeset/dull-students-eat.md deleted file mode 100644 index 94c4fc21ef2..00000000000 --- a/.changeset/dull-students-eat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Memory`: Add library with utilities to manipulate memory diff --git a/.changeset/eight-radios-check.md b/.changeset/eight-radios-check.md deleted file mode 100644 index 431c7fcb115..00000000000 --- a/.changeset/eight-radios-check.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Checkpoints`: Add a new checkpoint variant `Checkpoint256` using `uint256` type for the value and key. diff --git a/.changeset/fast-beans-pull.md b/.changeset/fast-beans-pull.md deleted file mode 100644 index df80408d25b..00000000000 --- a/.changeset/fast-beans-pull.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Bytes`: Add a `clz` function to count the leading zero bits in a `bytes` buffer. diff --git a/.changeset/funny-donuts-follow.md b/.changeset/funny-donuts-follow.md deleted file mode 100644 index 01c19a901db..00000000000 --- a/.changeset/funny-donuts-follow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`IERC7751`: Add the interface for custom error wrapping of bubbled up reverts. diff --git a/.changeset/itchy-turkeys-allow.md b/.changeset/itchy-turkeys-allow.md deleted file mode 100644 index caab673c15c..00000000000 --- a/.changeset/itchy-turkeys-allow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`RLP`: Add a library for encoding and decoding data in Ethereum's Recursive Length Prefix format. diff --git a/.changeset/loose-lamps-bake.md b/.changeset/loose-lamps-bake.md deleted file mode 100644 index bc4703817ae..00000000000 --- a/.changeset/loose-lamps-bake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Base58`: Add a library for encoding and decoding bytes buffers into base58 strings. diff --git a/.changeset/major-feet-write.md b/.changeset/major-feet-write.md deleted file mode 100644 index ebae3abef8f..00000000000 --- a/.changeset/major-feet-write.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Bytes`: Add `reverseBytes32`, `reverseBytes16`, `reverseBytes8`, `reverseBytes4`, and `reverseBytes2` functions to reverse byte order for converting between little-endian and big-endian representations. diff --git a/.changeset/modern-moments-raise.md b/.changeset/modern-moments-raise.md deleted file mode 100644 index 3e7f91c5390..00000000000 --- a/.changeset/modern-moments-raise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Memory`: Add a UDVT for handling slices on memory space similarly to calldata slices. diff --git a/.changeset/new-days-tease.md b/.changeset/new-days-tease.md deleted file mode 100644 index b8d1da7cdd4..00000000000 --- a/.changeset/new-days-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Strings`: Add `toHexString(bytes)`. diff --git a/.changeset/old-memes-dress.md b/.changeset/old-memes-dress.md deleted file mode 100644 index b022bdf7bfc..00000000000 --- a/.changeset/old-memes-dress.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Bytes`: Add `concat` that merges a `bytes[]` array of buffers into a single `bytes` buffer. diff --git a/.changeset/petite-seas-shake.md b/.changeset/petite-seas-shake.md deleted file mode 100644 index d3db0a3273b..00000000000 --- a/.changeset/petite-seas-shake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`SignerWebAuthn`: Add an abstract signer that verifies WebAuthn signatures, with a P256 fallback. diff --git a/.changeset/plain-times-itch.md b/.changeset/plain-times-itch.md deleted file mode 100644 index 2fc84ffbe5e..00000000000 --- a/.changeset/plain-times-itch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ECDSA`: Add `parse` and `parseCalldata` to parse bytes signatures of length 65 or 64 (erc-2098) into its v,r,s components. diff --git a/.changeset/public-crabs-heal.md b/.changeset/public-crabs-heal.md deleted file mode 100644 index 463dc988731..00000000000 --- a/.changeset/public-crabs-heal.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`MultiSignerERC7913Weighted`: Extension of `MultiSignerERC7913` that supports assigning different weights to each signer, enabling more flexible governance schemes. diff --git a/.changeset/quick-pianos-press.md b/.changeset/quick-pianos-press.md deleted file mode 100644 index e9eae71946c..00000000000 --- a/.changeset/quick-pianos-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ReentrancyGuard` and `ReentrancyGuardTransient`: Add `nonReentrantView`, a read-only version of the `nonReentrant` modifier. diff --git a/.changeset/rich-cows-repair.md b/.changeset/rich-cows-repair.md deleted file mode 100644 index 013f6529f88..00000000000 --- a/.changeset/rich-cows-repair.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`InteroperableAddress`: Add a library for formatting and parsing ERC-7930 interoperable addresses. diff --git a/.changeset/ripe-bears-hide.md b/.changeset/ripe-bears-hide.md deleted file mode 100644 index 7fa165492c5..00000000000 --- a/.changeset/ripe-bears-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ERC20Bridgeable`: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges. diff --git a/.changeset/sharp-scissors-drum.md b/.changeset/sharp-scissors-drum.md deleted file mode 100644 index b701eccf3fa..00000000000 --- a/.changeset/sharp-scissors-drum.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`LowLevelCall`: Add a library to perform low-level calls and deal with the `returndata` more granularly. diff --git a/.changeset/shiny-dolphins-lick.md b/.changeset/shiny-dolphins-lick.md deleted file mode 100644 index 508e7f4304c..00000000000 --- a/.changeset/shiny-dolphins-lick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ERC4626`: compute `maxWithdraw` using `maxRedeem` and `previewRedeem` so that changes to the preview functions affect the max functions. diff --git a/.changeset/silent-zebras-press.md b/.changeset/silent-zebras-press.md deleted file mode 100644 index 18db1470ef9..00000000000 --- a/.changeset/silent-zebras-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ERC7786Recipient`: Generic ERC-7786 cross-chain message recipient contract. diff --git a/.changeset/solid-cobras-talk.md b/.changeset/solid-cobras-talk.md deleted file mode 100644 index 8d79402566c..00000000000 --- a/.changeset/solid-cobras-talk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Base64`: Add a new `decode` function that parses base64 encoded strings. diff --git a/.changeset/ten-steaks-try.md b/.changeset/ten-steaks-try.md deleted file mode 100644 index a734f5fdb45..00000000000 --- a/.changeset/ten-steaks-try.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Bytes`: Add an `equal` function to compare byte buffers. diff --git a/.changeset/tender-dolls-nail.md b/.changeset/tender-dolls-nail.md deleted file mode 100644 index 328ae8fb304..00000000000 --- a/.changeset/tender-dolls-nail.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ERC7913WebAuthnVerifier`: Add an ERC-7913 verifier that verifies WebAuthn Authentication Assertions for P256 identities. diff --git a/.changeset/three-parents-argue.md b/.changeset/three-parents-argue.md deleted file mode 100644 index b4986fc6a21..00000000000 --- a/.changeset/three-parents-argue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': patch ---- - -`ReentrancyGuard`, `ReentrancyGuardTransient`: Add an internal `_reentrancyGuardStorageSlot` function allowing slot customization via override. diff --git a/.changeset/violet-turtles-like.md b/.changeset/violet-turtles-like.md deleted file mode 100644 index 493f0629de5..00000000000 --- a/.changeset/violet-turtles-like.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`ECDSA`: Add `recoverCalldata` and `tryRecoverCalldata`, variants of `recover` and `tryRecover` that are more efficient when signatures are in calldata. diff --git a/.changeset/whole-cats-find.md b/.changeset/whole-cats-find.md deleted file mode 100644 index cdc0b75ca72..00000000000 --- a/.changeset/whole-cats-find.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Math`: Add a `clz` function to count the leading zero bits in a `uint256` value. diff --git a/.changeset/whole-plums-speak.md b/.changeset/whole-plums-speak.md deleted file mode 100644 index c58d9f8f064..00000000000 --- a/.changeset/whole-plums-speak.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`SignatureChecker`: Add `isValidSignatureNowCalldata(address,bytes32,bytes calldata)` for efficient processing of calldata signatures. diff --git a/.changeset/wild-baths-buy.md b/.changeset/wild-baths-buy.md deleted file mode 100644 index e2d978fa1ba..00000000000 --- a/.changeset/wild-baths-buy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`IERC7786`: Add the (draft) interface for ERC-7786 "Cross-Chain Messaging Gateway" diff --git a/.changeset/wise-webs-fly.md b/.changeset/wise-webs-fly.md deleted file mode 100644 index 5fe2c548c6f..00000000000 --- a/.changeset/wise-webs-fly.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': minor ---- - -`Accumulators`: A library for merging an arbitrary dynamic number of bytes buffers. diff --git a/.changeset/witty-hats-flow.md b/.changeset/witty-hats-flow.md deleted file mode 100644 index 757b8af24de..00000000000 --- a/.changeset/witty-hats-flow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'openzeppelin-solidity': patch ---- - -`Bytes`: Fix `lastIndexOf(bytes,byte,uint256)` with empty buffers and finite position to correctly return `type(uint256).max` instead of accessing uninitialized memory sections. diff --git a/CHANGELOG.md b/CHANGELOG.md index 90361a02500..d1983f07d10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,23 +1,83 @@ # Changelog +## 5.5.0 (2025-10-31) + ### Bug fixes -- `ERC165Checker`: Ensure the `supportsERC165` function returns false if the target reverts during the `supportsInterface(0xffffffff)` call. ([#5810](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5880)) +- `AccountERC7579`: Prevent revert in `isModuleInstalled` for fallback modules when `additionalContext` has fewer than 4 bytes. The function now returns `false` instead of reverting, ensuring ERC-7579 compliance. ([#5961](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5961)) +- `ERC165Checker`: Ensure the `supportsERC165` function returns false if the target reverts during the `supportsInterface(0xffffffff)` call. ([#5880](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5880)) - `AccountERC7579`: Prevent revert in `isModuleInstalled` for fallback modules when `additionalContext` has fewer than 4 bytes. The function now returns `false` instead of reverting, ensuring ERC-7579 compliance. ([#5961](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5961)) ### Breaking changes -- `ERC6909` and the its extensions (`ERC6909ContentURI`, `ERC6909Metadata` and `ERC6909TokenSupply`) are no longer marked as draft since [EIP-6909](https://eips.ethereum.org/EIPS/eip-6909) is now final. Developers must update the import paths. Contracts behavior is not modified. -- `SignerERC7702` is renamed as `SignerEIP7702`. Imports and inheritance must be updated to that new name and path. Behavior is unmodified. -- `ERC721Holder`, `ERC1155Holder`, `ReentrancyGuard` and `ReentrancyGuardTransient` are flagged as stateless and are no longer transpiled. Developers using their upgradeable variants from `@openzeppelin/contracts-upgradeable` must update their imports to use the equivalent version available in `@openzeppelin/contracts`. -- Update minimum pragma to 0.8.24 in `AccessControlEnumerable`, `Arrays`, `CircularBuffer`, `EIP712`, `EnumerableMap`, `EnumerableSet`, `ERC1155`, `ERC1155Burnable`, `ERC1155Pausable`, `ERC1155Supply`, `ERC1155URIStorage`, `ERC20Votes`, `ERC4626`,`ERC721Burnable`, `ERC721Consecutive`, `ERC721Enumerable`, `ERC721Pausable`, `ERC721Royalty`, `ERC721URIStorage`, `ERC721Votes`, `ERC721Wrapper`, `ERC7739`, `Heap`, `MerkleTree`, `MessageHashUtils`, `Strings`, `Votes` and `VotesExtended`. ([#5723](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/5723), [#5726](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5726), [#5965](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5965)) - `Account`: Add `signature` argument to the internal `_validateUserOp` function for custom signature handling logic. Developers overriding it must now provide the signature from the user operation (i.e. `userOp.signature`) to keep compatibility. ([#5976](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5976)) - `AccountERC7579`: Installing and uninstalling fallback modules now require the corresponding `initData` and `deInitData` arguments to be at least 4 bytes long (matching the selector to which the fallback module is registered). It now reverts with `ERC7579CannotDecodeFallbackData` instead of treating the missing bytes as `0x00`. ([#5974](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5974)) +- `ERC6909` and its extensions (`ERC6909ContentURI`, `ERC6909Metadata` and `ERC6909TokenSupply`) are no longer marked as draft since [EIP-6909](https://eips.ethereum.org/EIPS/eip-6909) is now final. Developers must update the import paths. Contracts behavior is not modified. ([#5929](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5929)) +- `SignerERC7702` is renamed as `SignerEIP7702`. Imports and inheritance must be updated to that new name and path. Behavior is unmodified. ([#5932](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5932)) +- `ERC721Holder`, `ERC1155Holder`, `ReentrancyGuard` and `ReentrancyGuardTransient` are flagged as stateless and are no longer transpiled. Developers using their upgradeable variants from `@openzeppelin/contracts-upgradeable` must update their imports to use the equivalent version available in `@openzeppelin/contracts`. ([#5944](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5944), [#5942](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5942)) +- Update minimum pragma to 0.8.24 in `AccessControlEnumerable`, `Arrays`, `CircularBuffer`, `EIP712`, `EnumerableMap`, `EnumerableSet`, `ERC1155`, `ERC1155Burnable`, `ERC1155Pausable`, `ERC1155Supply`, `ERC1155URIStorage`, `ERC20Votes`, `ERC4626`,`ERC721Burnable`, `ERC721Consecutive`, `ERC721Enumerable`, `ERC721Pausable`, `ERC721Royalty`, `ERC721URIStorage`, `ERC721Votes`, `ERC721Wrapper`, `ERC7739`, `Heap`, `MerkleTree`, `MessageHashUtils`, `Strings`, `Votes` and `VotesExtended`. ([#5723](https://github.com/OpenZeppelin/openzeppelin-contracts/issues/5723), [#5726](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5726), [#5965](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5965)) ### Deprecation -- `Initializable` and `UUPSUpgradeable` are no longer transpiled. An alias is present in the `@openzeppelin/contracts-upgradeable` package that redirect to the corresponding file in `@openzeppelin/contracts`. These alias will be removed in the next major release. Developers are advised to update their imports to get these files directly from the `@openzeppelin/contracts` package. -- `ECDSA` signature malleability protection is partly deprecated. See documentation for more details. +- `Initializable` and `UUPSUpgradeable` are no longer transpiled. An alias is present in the `@openzeppelin/contracts-upgradeable` package that redirect to the corresponding file in `@openzeppelin/contracts`. These alias will be removed in the next major release. Developers are advised to update their imports to get these files directly from the `@openzeppelin/contracts` package. [#5941](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5941) +- `ECDSA` signature malleability protection is partly deprecated. See documentation for more details. [#5814](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5814) + +### Changes by category + +#### Tokens + +- `ERC4626`: compute `maxWithdraw` using `maxRedeem` and `previewRedeem` so that changes to the preview functions affect the max functions. ([#5130](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5130)) + +#### Cross-chain + +- `InteroperableAddress`: Add a library for formatting and parsing ERC-7930 interoperable addresses. ([#5736](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5736)) +- `ERC7786Recipient`: Generic ERC-7786 cross-chain message recipient contract. ([#5904](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5904)) +- `IERC7786`: Add the (draft) interface for ERC-7786 "Cross-Chain Messaging Gateway" ([#5737](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5737)) + +#### Cryptography + +##### Signers + +- `SignerWebAuthn`: Add an abstract signer that verifies WebAuthn signatures, with a P256 fallback. ([#5809](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5809)) +- Add constructors to the different signers. ([#5757](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5757)) + +##### Verifiers + +- `ERC7913WebAuthnVerifier`: Add an ERC-7913 verifier that verifies WebAuthn Authentication Assertions for P256 identities. ([#5809](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5809)) + +##### Other + +- `WebAuthn`: Add a library for verifying WebAuthn Authentication Assertions. ([#5809](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5809)) +- `ECDSA`: Add `parse` and `parseCalldata` to parse bytes signatures of length 65 or 64 (erc-2098) into its v,r,s components. ([#5814](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5814)) +- `ECDSA`: Add `recoverCalldata` and `tryRecoverCalldata`, variants of `recover` and `tryRecover` that are more efficient when signatures are in calldata. ([#5788](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5788)) +- `SignatureChecker`: Add `isValidSignatureNowCalldata(address,bytes32,bytes calldata)` for efficient processing of calldata signatures. ([#5788](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5788)) + +#### Structures + +- `Checkpoints`: Add a new checkpoint variant `Checkpoint256` using `uint256` type for the value and key. ([#5748](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5748)) +- `Accumulators`: A library for merging an arbitrary dynamic number of bytes buffers. ([#5680](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5680)) + +#### Utils + +- `Arrays`: Add `slice` and `splice` functions for value types (`uint256[]`, `bytes32[]`, `address[]`). ([#5983](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5983)) +- `Base58`: Add a library for encoding and decoding bytes buffers into base58 strings. ([#5762](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5762)) +- `Base64`: Add a new `decode` function that parses base64 encoded strings. ([#5765](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5765)) +- `Bytes`: Add `concat` that merges a `bytes[]` array of buffers into a single `bytes` buffer. ([#5882](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5882)) +- `Bytes`: Add `reverseBytes32`, `reverseBytes16`, `reverseBytes8`, `reverseBytes4`, and `reverseBytes2` functions to reverse byte order for converting between little-endian and big-endian representations. ([#5724](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5724)) +- `Bytes`: Add `splice(bytes,uint256)` and `splice(bytes,uint256,uint256)` functions that move a specified range of bytes to the start of the buffer and truncate it in place, as an alternative to `slice`. ([#5733](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5733)) +- `Bytes`: Add a `clz` function to count the leading zero bits in a `bytes` buffer. ([#5725](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5725)) +- `Bytes`: Add an `equal` function to compare byte buffers. ([#5726](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5726)) +- `Bytes`: Fix `lastIndexOf(bytes,byte,uint256)` with empty buffers and finite position to correctly return `type(uint256).max` instead of accessing uninitialized memory sections. ([#5797](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5797)) +- `IERC7751`: Add the interface for custom error wrapping of bubbled up reverts. ([#5816](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5816)) +- `LowLevelCall`: Add a library to perform low-level calls and deal with the `returndata` more granularly. ([#5094](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5094)) +- `Math`: Add a `clz` function to count the leading zero bits in a `uint256` value. ([#5725](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5725)) +- `Memory`: Add library with utilities to manipulate memory ([#5189](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5189)) +- `Memory`: Add a UDVT for handling slices on memory space similarly to calldata slices. ([#5680](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5680)) +- `ReentrancyGuard` and `ReentrancyGuardTransient`: Add `nonReentrantView`, a read-only version of the `nonReentrant` modifier. ([#5800](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5800)) +- `ReentrancyGuard`, `ReentrancyGuardTransient`: Add an internal `_reentrancyGuardStorageSlot` function allowing slot customization via override. ([#5892](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5892)) +- `RelayedCall`: Add a library to perform indirect calls through minimal and predictable relayers. ([#5630](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5630)) +- `RLP`: Add a library for encoding and decoding data in Ethereum's Recursive Length Prefix format. ([#5680](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5680)) +- `Strings`: Add `toHexString(bytes)`. ([#5761](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5761)) ## 5.4.0 (2025-07-17) @@ -45,7 +105,7 @@ #### Tokens -- `ERC20Bridgeable`: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges. ([#5739](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5739)) +- `ERC20Bridgeable`: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges. ([#5735](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5735)) #### Cryptography @@ -55,7 +115,7 @@ - `SignerERC7702`: Implementation of `AbstractSigner` for Externally Owned Accounts (EOAs). Useful with ERC-7702. ([#5657](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5657)) - `SignerERC7913`: Abstract signer that verifies signatures using the ERC-7913 workflow. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659)) - `MultiSignerERC7913`: Implementation of `AbstractSigner` that supports multiple ERC-7913 signers with a threshold-based signature verification system. ([#5659](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5659)) -- `MultiSignerERC7913Weighted`: Extension of `MultiSignerERC7913` that supports assigning different weights to each signer, enabling more flexible governance schemes. ([#5741](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5741)) +- `MultiSignerERC7913Weighted`: Extension of `MultiSignerERC7913` that supports assigning different weights to each signer, enabling more flexible governance schemes. ([#5718](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5718)) ##### Verifiers diff --git a/contracts/access/extensions/AccessControlDefaultAdminRules.sol b/contracts/access/extensions/AccessControlDefaultAdminRules.sol index ad64a88d57e..0be96d9ae12 100644 --- a/contracts/access/extensions/AccessControlDefaultAdminRules.sol +++ b/contracts/access/extensions/AccessControlDefaultAdminRules.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/AccessControlDefaultAdminRules.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (access/extensions/AccessControlDefaultAdminRules.sol) pragma solidity ^0.8.20; diff --git a/contracts/access/extensions/AccessControlEnumerable.sol b/contracts/access/extensions/AccessControlEnumerable.sol index caf50a32923..26a159426de 100644 --- a/contracts/access/extensions/AccessControlEnumerable.sol +++ b/contracts/access/extensions/AccessControlEnumerable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/AccessControlEnumerable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (access/extensions/AccessControlEnumerable.sol) pragma solidity ^0.8.24; diff --git a/contracts/access/extensions/IAccessControlDefaultAdminRules.sol b/contracts/access/extensions/IAccessControlDefaultAdminRules.sol index 0b533160a09..1d9139908b9 100644 --- a/contracts/access/extensions/IAccessControlDefaultAdminRules.sol +++ b/contracts/access/extensions/IAccessControlDefaultAdminRules.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (access/extensions/IAccessControlDefaultAdminRules.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (access/extensions/IAccessControlDefaultAdminRules.sol) pragma solidity >=0.8.4; diff --git a/contracts/access/manager/AccessManager.sol b/contracts/access/manager/AccessManager.sol index 7b9b8a3774f..12a734d4075 100644 --- a/contracts/access/manager/AccessManager.sol +++ b/contracts/access/manager/AccessManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (access/manager/AccessManager.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (access/manager/AccessManager.sol) pragma solidity ^0.8.20; diff --git a/contracts/access/manager/IAccessManager.sol b/contracts/access/manager/IAccessManager.sol index 94a1237c22f..749fe2654a3 100644 --- a/contracts/access/manager/IAccessManager.sol +++ b/contracts/access/manager/IAccessManager.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (access/manager/IAccessManager.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (access/manager/IAccessManager.sol) pragma solidity >=0.8.4; diff --git a/contracts/account/Account.sol b/contracts/account/Account.sol index 3c882596ca0..0b335383b28 100644 --- a/contracts/account/Account.sol +++ b/contracts/account/Account.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (account/Account.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (account/Account.sol) pragma solidity ^0.8.20; diff --git a/contracts/account/extensions/draft-AccountERC7579.sol b/contracts/account/extensions/draft-AccountERC7579.sol index e739c2fcdc1..2302d8359b6 100644 --- a/contracts/account/extensions/draft-AccountERC7579.sol +++ b/contracts/account/extensions/draft-AccountERC7579.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (account/extensions/draft-AccountERC7579.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (account/extensions/draft-AccountERC7579.sol) pragma solidity ^0.8.26; diff --git a/contracts/account/extensions/draft-ERC7821.sol b/contracts/account/extensions/draft-ERC7821.sol index 9db9b4bb0f0..f7e0573f9cf 100644 --- a/contracts/account/extensions/draft-ERC7821.sol +++ b/contracts/account/extensions/draft-ERC7821.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (account/extensions/draft-ERC7821.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (account/extensions/draft-ERC7821.sol) pragma solidity ^0.8.20; diff --git a/contracts/account/utils/EIP7702Utils.sol b/contracts/account/utils/EIP7702Utils.sol index 988526992b4..df9ca8acc81 100644 --- a/contracts/account/utils/EIP7702Utils.sol +++ b/contracts/account/utils/EIP7702Utils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (account/utils/EIP7702Utils.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (account/utils/EIP7702Utils.sol) pragma solidity ^0.8.20; diff --git a/contracts/account/utils/draft-ERC7579Utils.sol b/contracts/account/utils/draft-ERC7579Utils.sol index 257115dbf6f..07bd924944b 100644 --- a/contracts/account/utils/draft-ERC7579Utils.sol +++ b/contracts/account/utils/draft-ERC7579Utils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (account/utils/draft-ERC7579Utils.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (account/utils/draft-ERC7579Utils.sol) pragma solidity ^0.8.20; diff --git a/contracts/crosschain/ERC7786Recipient.sol b/contracts/crosschain/ERC7786Recipient.sol index 5847942cf30..0035aee4b25 100644 --- a/contracts/crosschain/ERC7786Recipient.sol +++ b/contracts/crosschain/ERC7786Recipient.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (crosschain/ERC7786Recipient.sol) pragma solidity ^0.8.20; diff --git a/contracts/finance/VestingWallet.sol b/contracts/finance/VestingWallet.sol index c3a1762a4fd..914998a77fe 100644 --- a/contracts/finance/VestingWallet.sol +++ b/contracts/finance/VestingWallet.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (finance/VestingWallet.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (finance/VestingWallet.sol) + pragma solidity ^0.8.20; import {IERC20} from "../token/ERC20/IERC20.sol"; diff --git a/contracts/governance/Governor.sol b/contracts/governance/Governor.sol index a0a99ae29ab..6d49f110734 100644 --- a/contracts/governance/Governor.sol +++ b/contracts/governance/Governor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/Governor.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/Governor.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/IGovernor.sol b/contracts/governance/IGovernor.sol index 2afa913394c..0988b4e91ca 100644 --- a/contracts/governance/IGovernor.sol +++ b/contracts/governance/IGovernor.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/IGovernor.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/IGovernor.sol) pragma solidity >=0.8.4; diff --git a/contracts/governance/TimelockController.sol b/contracts/governance/TimelockController.sol index 0455638d452..52aadcee19e 100644 --- a/contracts/governance/TimelockController.sol +++ b/contracts/governance/TimelockController.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/TimelockController.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/TimelockController.sol) pragma solidity ^0.8.20; diff --git a/contracts/governance/extensions/GovernorProposalGuardian.sol b/contracts/governance/extensions/GovernorProposalGuardian.sol index 0de6d23e921..618f66c8682 100644 --- a/contracts/governance/extensions/GovernorProposalGuardian.sol +++ b/contracts/governance/extensions/GovernorProposalGuardian.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorProposalGuardian.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorProposalGuardian.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorStorage.sol b/contracts/governance/extensions/GovernorStorage.sol index c00d3369b42..b93a4065eac 100644 --- a/contracts/governance/extensions/GovernorStorage.sol +++ b/contracts/governance/extensions/GovernorStorage.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorStorage.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorStorage.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorSuperQuorum.sol b/contracts/governance/extensions/GovernorSuperQuorum.sol index 463e0dc7d89..293f61a1603 100644 --- a/contracts/governance/extensions/GovernorSuperQuorum.sol +++ b/contracts/governance/extensions/GovernorSuperQuorum.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorSuperQuorum.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorSuperQuorum.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorTimelockCompound.sol b/contracts/governance/extensions/GovernorTimelockCompound.sol index 601267e2925..8f6183e8b89 100644 --- a/contracts/governance/extensions/GovernorTimelockCompound.sol +++ b/contracts/governance/extensions/GovernorTimelockCompound.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorTimelockCompound.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorTimelockCompound.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorTimelockControl.sol b/contracts/governance/extensions/GovernorTimelockControl.sol index 8bdbbc30593..082952ae4ec 100644 --- a/contracts/governance/extensions/GovernorTimelockControl.sol +++ b/contracts/governance/extensions/GovernorTimelockControl.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorTimelockControl.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorTimelockControl.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorVotesQuorumFraction.sol b/contracts/governance/extensions/GovernorVotesQuorumFraction.sol index 9ba224ce2cb..de67172e49c 100644 --- a/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +++ b/contracts/governance/extensions/GovernorVotesQuorumFraction.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorVotesQuorumFraction.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorVotesQuorumFraction.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol b/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol index ac3bd9b6b82..53a7049a637 100644 --- a/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol +++ b/contracts/governance/extensions/GovernorVotesSuperQuorumFraction.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/extensions/GovernorVotesSuperQuorumFraction.sol) pragma solidity ^0.8.24; diff --git a/contracts/governance/utils/IVotes.sol b/contracts/governance/utils/IVotes.sol index 4817629dce4..87db0e8251f 100644 --- a/contracts/governance/utils/IVotes.sol +++ b/contracts/governance/utils/IVotes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (governance/utils/IVotes.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/utils/IVotes.sol) pragma solidity >=0.8.4; diff --git a/contracts/governance/utils/Votes.sol b/contracts/governance/utils/Votes.sol index 02c68d028c0..1eebb7e23d1 100644 --- a/contracts/governance/utils/Votes.sol +++ b/contracts/governance/utils/Votes.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.2.0) (governance/utils/Votes.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/utils/Votes.sol) + pragma solidity ^0.8.24; import {IERC5805} from "../../interfaces/IERC5805.sol"; diff --git a/contracts/governance/utils/VotesExtended.sol b/contracts/governance/utils/VotesExtended.sol index 929053c3f17..25a72209d73 100644 --- a/contracts/governance/utils/VotesExtended.sol +++ b/contracts/governance/utils/VotesExtended.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.2.0) (governance/utils/VotesExtended.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (governance/utils/VotesExtended.sol) + pragma solidity ^0.8.24; import {Checkpoints} from "../../utils/structs/Checkpoints.sol"; diff --git a/contracts/interfaces/IERC3156FlashLender.sol b/contracts/interfaces/IERC3156FlashLender.sol index d5fdcf25c66..83076d4a148 100644 --- a/contracts/interfaces/IERC3156FlashLender.sol +++ b/contracts/interfaces/IERC3156FlashLender.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC3156FlashLender.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/IERC3156FlashLender.sol) pragma solidity >=0.5.0; diff --git a/contracts/interfaces/IERC4626.sol b/contracts/interfaces/IERC4626.sol index 9c4976e8902..66e83390ec1 100644 --- a/contracts/interfaces/IERC4626.sol +++ b/contracts/interfaces/IERC4626.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC4626.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/IERC4626.sol) pragma solidity >=0.6.2; diff --git a/contracts/interfaces/IERC6909.sol b/contracts/interfaces/IERC6909.sol index f8421df4fb3..dd90d625888 100644 --- a/contracts/interfaces/IERC6909.sol +++ b/contracts/interfaces/IERC6909.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC6909.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/IERC6909.sol) pragma solidity >=0.6.2; diff --git a/contracts/interfaces/IERC7751.sol b/contracts/interfaces/IERC7751.sol index dc0462a8b1d..1755b0b5b71 100644 --- a/contracts/interfaces/IERC7751.sol +++ b/contracts/interfaces/IERC7751.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/IERC7751.sol) pragma solidity >=0.8.4; diff --git a/contracts/interfaces/draft-IERC6093.sol b/contracts/interfaces/draft-IERC6093.sol index 7effb920516..e9d6249ef52 100644 --- a/contracts/interfaces/draft-IERC6093.sol +++ b/contracts/interfaces/draft-IERC6093.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC6093.sol) pragma solidity >=0.8.4; diff --git a/contracts/interfaces/draft-IERC7579.sol b/contracts/interfaces/draft-IERC7579.sol index 2373bf1d27a..7688dbcc725 100644 --- a/contracts/interfaces/draft-IERC7579.sol +++ b/contracts/interfaces/draft-IERC7579.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7579.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC7579.sol) pragma solidity >=0.8.4; diff --git a/contracts/interfaces/draft-IERC7786.sol b/contracts/interfaces/draft-IERC7786.sol index f5f2879272b..553ae1200ac 100644 --- a/contracts/interfaces/draft-IERC7786.sol +++ b/contracts/interfaces/draft-IERC7786.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC7786.sol) pragma solidity >=0.8.4; diff --git a/contracts/interfaces/draft-IERC7802.sol b/contracts/interfaces/draft-IERC7802.sol index 3096d261a96..ab845d064fa 100644 --- a/contracts/interfaces/draft-IERC7802.sol +++ b/contracts/interfaces/draft-IERC7802.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC7802.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (interfaces/draft-IERC7802.sol) pragma solidity >=0.6.2; diff --git a/contracts/metatx/ERC2771Context.sol b/contracts/metatx/ERC2771Context.sol index 2c8882537bb..ce6eca82c0c 100644 --- a/contracts/metatx/ERC2771Context.sol +++ b/contracts/metatx/ERC2771Context.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (metatx/ERC2771Context.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (metatx/ERC2771Context.sol) pragma solidity ^0.8.20; diff --git a/contracts/metatx/ERC2771Forwarder.sol b/contracts/metatx/ERC2771Forwarder.sol index 3ba53222557..0ad433d8046 100644 --- a/contracts/metatx/ERC2771Forwarder.sol +++ b/contracts/metatx/ERC2771Forwarder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (metatx/ERC2771Forwarder.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (metatx/ERC2771Forwarder.sol) pragma solidity ^0.8.24; diff --git a/contracts/package.json b/contracts/package.json index 8ccb9465eac..3535a2f56b4 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -1,7 +1,7 @@ { "name": "@openzeppelin/contracts", "description": "Secure Smart Contract library for Solidity", - "version": "5.4.0", + "version": "5.5.0", "files": [ "**/*.sol", "/build/contracts/*.json", diff --git a/contracts/proxy/Clones.sol b/contracts/proxy/Clones.sol index 8064ff8fbd5..bf12368bdbd 100644 --- a/contracts/proxy/Clones.sol +++ b/contracts/proxy/Clones.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (proxy/Clones.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (proxy/Clones.sol) pragma solidity ^0.8.20; diff --git a/contracts/proxy/Proxy.sol b/contracts/proxy/Proxy.sol index 809ca5f4180..1f9d8ec48a3 100644 --- a/contracts/proxy/Proxy.sol +++ b/contracts/proxy/Proxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (proxy/Proxy.sol) pragma solidity ^0.8.20; diff --git a/contracts/proxy/transparent/TransparentUpgradeableProxy.sol b/contracts/proxy/transparent/TransparentUpgradeableProxy.sol index 1cb79181217..39008aab021 100644 --- a/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +++ b/contracts/proxy/transparent/TransparentUpgradeableProxy.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.2.0) (proxy/transparent/TransparentUpgradeableProxy.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (proxy/transparent/TransparentUpgradeableProxy.sol) pragma solidity ^0.8.22; diff --git a/contracts/proxy/utils/UUPSUpgradeable.sol b/contracts/proxy/utils/UUPSUpgradeable.sol index 2a88b021156..da3eac79de7 100644 --- a/contracts/proxy/utils/UUPSUpgradeable.sol +++ b/contracts/proxy/utils/UUPSUpgradeable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (proxy/utils/UUPSUpgradeable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (proxy/utils/UUPSUpgradeable.sol) pragma solidity ^0.8.22; diff --git a/contracts/token/ERC1155/ERC1155.sol b/contracts/token/ERC1155/ERC1155.sol index f5f01c51001..1af455cc6e2 100644 --- a/contracts/token/ERC1155/ERC1155.sol +++ b/contracts/token/ERC1155/ERC1155.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC1155/ERC1155.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/ERC1155.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC1155/extensions/ERC1155Burnable.sol b/contracts/token/ERC1155/extensions/ERC1155Burnable.sol index b355804fb58..41d36bd7236 100644 --- a/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +++ b/contracts/token/ERC1155/extensions/ERC1155Burnable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/extensions/ERC1155Burnable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/extensions/ERC1155Burnable.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC1155/extensions/ERC1155Pausable.sol b/contracts/token/ERC1155/extensions/ERC1155Pausable.sol index 240413411cc..03a3d62f008 100644 --- a/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +++ b/contracts/token/ERC1155/extensions/ERC1155Pausable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/extensions/ERC1155Pausable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/extensions/ERC1155Pausable.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC1155/extensions/ERC1155Supply.sol b/contracts/token/ERC1155/extensions/ERC1155Supply.sol index 55fe9c78a17..54a7fe3f51b 100644 --- a/contracts/token/ERC1155/extensions/ERC1155Supply.sol +++ b/contracts/token/ERC1155/extensions/ERC1155Supply.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC1155/extensions/ERC1155Supply.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/extensions/ERC1155Supply.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol b/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol index 85143ef099c..9973b55edd9 100644 --- a/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +++ b/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/extensions/ERC1155URIStorage.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/extensions/ERC1155URIStorage.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC1155/utils/ERC1155Holder.sol b/contracts/token/ERC1155/utils/ERC1155Holder.sol index d79c7b56611..329f8234153 100644 --- a/contracts/token/ERC1155/utils/ERC1155Holder.sol +++ b/contracts/token/ERC1155/utils/ERC1155Holder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC1155/utils/ERC1155Holder.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC1155/utils/ERC1155Holder.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC20/ERC20.sol b/contracts/token/ERC20/ERC20.sol index 173707dc712..4d9d6b6d1c1 100644 --- a/contracts/token/ERC20/ERC20.sol +++ b/contracts/token/ERC20/ERC20.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/ERC20.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC20/extensions/ERC20Permit.sol b/contracts/token/ERC20/extensions/ERC20Permit.sol index b89df28be9e..77e796591fa 100644 --- a/contracts/token/ERC20/extensions/ERC20Permit.sol +++ b/contracts/token/ERC20/extensions/ERC20Permit.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/ERC20Permit.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/extensions/ERC20Permit.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC20/extensions/ERC20Votes.sol b/contracts/token/ERC20/extensions/ERC20Votes.sol index 1dc9e91b96d..227f0d883ba 100644 --- a/contracts/token/ERC20/extensions/ERC20Votes.sol +++ b/contracts/token/ERC20/extensions/ERC20Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/ERC20Votes.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/extensions/ERC20Votes.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC20/extensions/ERC4626.sol b/contracts/token/ERC20/extensions/ERC4626.sol index 08760a70618..93a84862b78 100644 --- a/contracts/token/ERC20/extensions/ERC4626.sol +++ b/contracts/token/ERC20/extensions/ERC4626.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/ERC4626.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/extensions/ERC4626.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC20/extensions/IERC20Permit.sol b/contracts/token/ERC20/extensions/IERC20Permit.sol index ae388b8de81..29c811dfd36 100644 --- a/contracts/token/ERC20/extensions/IERC20Permit.sol +++ b/contracts/token/ERC20/extensions/IERC20Permit.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Permit.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/extensions/IERC20Permit.sol) pragma solidity >=0.4.16; diff --git a/contracts/token/ERC20/utils/SafeERC20.sol b/contracts/token/ERC20/utils/SafeERC20.sol index 388bf991b04..b1e4b6e67db 100644 --- a/contracts/token/ERC20/utils/SafeERC20.sol +++ b/contracts/token/ERC20/utils/SafeERC20.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/utils/SafeERC20.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC20/utils/SafeERC20.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC6909/ERC6909.sol b/contracts/token/ERC6909/ERC6909.sol index e77cf4ea194..b1f16450678 100644 --- a/contracts/token/ERC6909/ERC6909.sol +++ b/contracts/token/ERC6909/ERC6909.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC6909/ERC6909.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC6909/ERC6909.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol b/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol index 23c67135f13..353de29c5df 100644 --- a/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol +++ b/contracts/token/ERC6909/extensions/ERC6909ContentURI.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC6909/extensions/ERC6909ContentURI.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC6909/extensions/ERC6909ContentURI.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC6909/extensions/ERC6909Metadata.sol b/contracts/token/ERC6909/extensions/ERC6909Metadata.sol index 220fc880ff9..6ada69a14d5 100644 --- a/contracts/token/ERC6909/extensions/ERC6909Metadata.sol +++ b/contracts/token/ERC6909/extensions/ERC6909Metadata.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC6909/extensions/ERC6909Metadata.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC6909/extensions/ERC6909Metadata.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol b/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol index e4e21523918..f4a9c607c6a 100644 --- a/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol +++ b/contracts/token/ERC6909/extensions/ERC6909TokenSupply.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC6909/extensions/ERC6909TokenSupply.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC6909/extensions/ERC6909TokenSupply.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC721/ERC721.sol b/contracts/token/ERC721/ERC721.sol index 85943e4bad3..f4783f1e2ab 100644 --- a/contracts/token/ERC721/ERC721.sol +++ b/contracts/token/ERC721/ERC721.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC721/ERC721.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/ERC721.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Burnable.sol b/contracts/token/ERC721/extensions/ERC721Burnable.sol index 06babdcf259..c47be18fd47 100644 --- a/contracts/token/ERC721/extensions/ERC721Burnable.sol +++ b/contracts/token/ERC721/extensions/ERC721Burnable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721Burnable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Burnable.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Consecutive.sol b/contracts/token/ERC721/extensions/ERC721Consecutive.sol index 34f62324b53..a391923e8dc 100644 --- a/contracts/token/ERC721/extensions/ERC721Consecutive.sol +++ b/contracts/token/ERC721/extensions/ERC721Consecutive.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC721/extensions/ERC721Consecutive.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Consecutive.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Enumerable.sol b/contracts/token/ERC721/extensions/ERC721Enumerable.sol index 91021db06db..07e2202dab5 100644 --- a/contracts/token/ERC721/extensions/ERC721Enumerable.sol +++ b/contracts/token/ERC721/extensions/ERC721Enumerable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC721/extensions/ERC721Enumerable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Enumerable.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Pausable.sol b/contracts/token/ERC721/extensions/ERC721Pausable.sol index 0404488664f..746febcba02 100644 --- a/contracts/token/ERC721/extensions/ERC721Pausable.sol +++ b/contracts/token/ERC721/extensions/ERC721Pausable.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721Pausable.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Pausable.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Royalty.sol b/contracts/token/ERC721/extensions/ERC721Royalty.sol index 21a4c217a46..ff915ab6e9e 100644 --- a/contracts/token/ERC721/extensions/ERC721Royalty.sol +++ b/contracts/token/ERC721/extensions/ERC721Royalty.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC721/extensions/ERC721Royalty.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Royalty.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721URIStorage.sol b/contracts/token/ERC721/extensions/ERC721URIStorage.sol index bc59ec159ab..92e9f77db90 100644 --- a/contracts/token/ERC721/extensions/ERC721URIStorage.sol +++ b/contracts/token/ERC721/extensions/ERC721URIStorage.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC721/extensions/ERC721URIStorage.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721URIStorage.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Votes.sol b/contracts/token/ERC721/extensions/ERC721Votes.sol index 4b2ddd61284..8a4a2c2ccf6 100644 --- a/contracts/token/ERC721/extensions/ERC721Votes.sol +++ b/contracts/token/ERC721/extensions/ERC721Votes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721Votes.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Votes.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/extensions/ERC721Wrapper.sol b/contracts/token/ERC721/extensions/ERC721Wrapper.sol index ac714072f46..07a97628435 100644 --- a/contracts/token/ERC721/extensions/ERC721Wrapper.sol +++ b/contracts/token/ERC721/extensions/ERC721Wrapper.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/extensions/ERC721Wrapper.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/extensions/ERC721Wrapper.sol) pragma solidity ^0.8.24; diff --git a/contracts/token/ERC721/utils/ERC721Holder.sol b/contracts/token/ERC721/utils/ERC721Holder.sol index fd8c1b17aa1..674334e0c0d 100644 --- a/contracts/token/ERC721/utils/ERC721Holder.sol +++ b/contracts/token/ERC721/utils/ERC721Holder.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/utils/ERC721Holder.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/utils/ERC721Holder.sol) pragma solidity ^0.8.20; diff --git a/contracts/token/ERC721/utils/ERC721Utils.sol b/contracts/token/ERC721/utils/ERC721Utils.sol index 87801f04bff..2ae87ba6780 100644 --- a/contracts/token/ERC721/utils/ERC721Utils.sol +++ b/contracts/token/ERC721/utils/ERC721Utils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC721/utils/ERC721Utils.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (token/ERC721/utils/ERC721Utils.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Address.sol b/contracts/utils/Address.sol index 52b5a0a7044..e31fdb3fcc2 100644 --- a/contracts/utils/Address.sol +++ b/contracts/utils/Address.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Address.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Address.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Arrays.sol b/contracts/utils/Arrays.sol index e8ea749fb61..e49be484d80 100644 --- a/contracts/utils/Arrays.sol +++ b/contracts/utils/Arrays.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Arrays.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Arrays.sol) // This file was procedurally generated from scripts/generate/templates/Arrays.js. pragma solidity ^0.8.24; diff --git a/contracts/utils/Base58.sol b/contracts/utils/Base58.sol index 9fefe637497..13f81b070bf 100644 --- a/contracts/utils/Base58.sol +++ b/contracts/utils/Base58.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Base58.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Base64.sol b/contracts/utils/Base64.sol index d54bdab453e..7c665c85f2e 100644 --- a/contracts/utils/Base64.sol +++ b/contracts/utils/Base64.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Base64.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Base64.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Blockhash.sol b/contracts/utils/Blockhash.sol index def5973b6bf..a8692522093 100644 --- a/contracts/utils/Blockhash.sol +++ b/contracts/utils/Blockhash.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Blockhash.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Blockhash.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Bytes.sol b/contracts/utils/Bytes.sol index 36574d81533..e1c3f807134 100644 --- a/contracts/utils/Bytes.sol +++ b/contracts/utils/Bytes.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Bytes.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Bytes.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/Create2.sol b/contracts/utils/Create2.sol index 9406edf6cce..7ebbd50eb3b 100644 --- a/contracts/utils/Create2.sol +++ b/contracts/utils/Create2.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/Create2.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Create2.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/LowLevelCall.sol b/contracts/utils/LowLevelCall.sol index a5c015dad34..06276930231 100644 --- a/contracts/utils/LowLevelCall.sol +++ b/contracts/utils/LowLevelCall.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/LowLevelCall.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/Memory.sol b/contracts/utils/Memory.sol index 7327c741db0..378d247c041 100644 --- a/contracts/utils/Memory.sol +++ b/contracts/utils/Memory.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Memory.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/Multicall.sol b/contracts/utils/Multicall.sol index c986c3c7cde..c78b9623c9a 100644 --- a/contracts/utils/Multicall.sol +++ b/contracts/utils/Multicall.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/Multicall.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Multicall.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/RLP.sol b/contracts/utils/RLP.sol index d1d0eb90e9f..19572acf431 100644 --- a/contracts/utils/RLP.sol +++ b/contracts/utils/RLP.sol @@ -1,4 +1,6 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/RLP.sol) + pragma solidity ^0.8.26; import {Math} from "./math/Math.sol"; diff --git a/contracts/utils/ReentrancyGuard.sol b/contracts/utils/ReentrancyGuard.sol index 6e44894dc0f..c156fa1cc96 100644 --- a/contracts/utils/ReentrancyGuard.sol +++ b/contracts/utils/ReentrancyGuard.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/ReentrancyGuardTransient.sol b/contracts/utils/ReentrancyGuardTransient.sol index 80723cd77cc..273a5dcd308 100644 --- a/contracts/utils/ReentrancyGuardTransient.sol +++ b/contracts/utils/ReentrancyGuardTransient.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/ReentrancyGuardTransient.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/ReentrancyGuardTransient.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/RelayedCall.sol b/contracts/utils/RelayedCall.sol index 29ca4331ab0..e7e5ee02089 100644 --- a/contracts/utils/RelayedCall.sol +++ b/contracts/utils/RelayedCall.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/RelayedCall.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/ShortStrings.sol b/contracts/utils/ShortStrings.sol index e5d84468b9b..79332317aad 100644 --- a/contracts/utils/ShortStrings.sol +++ b/contracts/utils/ShortStrings.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/ShortStrings.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/ShortStrings.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/SlotDerivation.sol b/contracts/utils/SlotDerivation.sol index 74dfbbded44..5d41be5fa7f 100644 --- a/contracts/utils/SlotDerivation.sol +++ b/contracts/utils/SlotDerivation.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/SlotDerivation.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/SlotDerivation.sol) // This file was procedurally generated from scripts/generate/templates/SlotDerivation.js. pragma solidity ^0.8.20; diff --git a/contracts/utils/Strings.sol b/contracts/utils/Strings.sol index 69f0f5e2b10..2fcd286d6e8 100644 --- a/contracts/utils/Strings.sol +++ b/contracts/utils/Strings.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/Strings.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/Strings.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/ECDSA.sol b/contracts/utils/cryptography/ECDSA.sol index 283fe27d783..838fe26225e 100644 --- a/contracts/utils/cryptography/ECDSA.sol +++ b/contracts/utils/cryptography/ECDSA.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/cryptography/ECDSA.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/ECDSA.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/cryptography/EIP712.sol b/contracts/utils/cryptography/EIP712.sol index 0eaef9d27e0..2bc45a4b2c7 100644 --- a/contracts/utils/cryptography/EIP712.sol +++ b/contracts/utils/cryptography/EIP712.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/EIP712.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/EIP712.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/MessageHashUtils.sol b/contracts/utils/cryptography/MessageHashUtils.sol index 232090f31db..cef8af23d1b 100644 --- a/contracts/utils/cryptography/MessageHashUtils.sol +++ b/contracts/utils/cryptography/MessageHashUtils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/cryptography/MessageHashUtils.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/MessageHashUtils.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/SignatureChecker.sol b/contracts/utils/cryptography/SignatureChecker.sol index 036be785eb4..de619568990 100644 --- a/contracts/utils/cryptography/SignatureChecker.sol +++ b/contracts/utils/cryptography/SignatureChecker.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/SignatureChecker.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/SignatureChecker.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/WebAuthn.sol b/contracts/utils/cryptography/WebAuthn.sol index 2a2e5ea2fc3..aa0c474eebc 100644 --- a/contracts/utils/cryptography/WebAuthn.sol +++ b/contracts/utils/cryptography/WebAuthn.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/WebAuthn.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/draft-ERC7739Utils.sol b/contracts/utils/cryptography/draft-ERC7739Utils.sol index 07d4ea8affe..94fd1b6c0db 100644 --- a/contracts/utils/cryptography/draft-ERC7739Utils.sol +++ b/contracts/utils/cryptography/draft-ERC7739Utils.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/draft-ERC7739Utils.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/draft-ERC7739Utils.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/cryptography/signers/SignerEIP7702.sol b/contracts/utils/cryptography/signers/SignerEIP7702.sol index 652ab37df24..a129445eda2 100644 --- a/contracts/utils/cryptography/signers/SignerEIP7702.sol +++ b/contracts/utils/cryptography/signers/SignerEIP7702.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/signers/SignerEIP7702.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/signers/SignerEIP7702.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/cryptography/signers/SignerWebAuthn.sol b/contracts/utils/cryptography/signers/SignerWebAuthn.sol index 8eb7dd237fd..7352950bd46 100644 --- a/contracts/utils/cryptography/signers/SignerWebAuthn.sol +++ b/contracts/utils/cryptography/signers/SignerWebAuthn.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/signers/SignerWebAuthn.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/signers/draft-ERC7739.sol b/contracts/utils/cryptography/signers/draft-ERC7739.sol index ffbf6a35fac..455246469a0 100644 --- a/contracts/utils/cryptography/signers/draft-ERC7739.sol +++ b/contracts/utils/cryptography/signers/draft-ERC7739.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/signers/draft-ERC7739.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/signers/draft-ERC7739.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol b/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol index bf3dc3a73a5..bd37d64258e 100644 --- a/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol +++ b/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/verifiers/ERC7913P256Verifier.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/verifiers/ERC7913P256Verifier.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol b/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol index 7d47c63ff55..815958eb22f 100644 --- a/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +++ b/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/cryptography/verifiers/ERC7913RSAVerifier.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/verifiers/ERC7913RSAVerifier.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol b/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol index 9dbf9e2e856..35428608485 100644 --- a/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol +++ b/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/draft-InteroperableAddress.sol b/contracts/utils/draft-InteroperableAddress.sol index 94feb2133db..d00cc6d100a 100644 --- a/contracts/utils/draft-InteroperableAddress.sol +++ b/contracts/utils/draft-InteroperableAddress.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/draft-InteroperableAddress.sol) pragma solidity ^0.8.26; diff --git a/contracts/utils/introspection/ERC165Checker.sol b/contracts/utils/introspection/ERC165Checker.sol index 60e1b966316..bfbfbadf485 100644 --- a/contracts/utils/introspection/ERC165Checker.sol +++ b/contracts/utils/introspection/ERC165Checker.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/ERC165Checker.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/introspection/ERC165Checker.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/math/Math.sol b/contracts/utils/math/Math.sol index 91f8a31631d..4a11ada5056 100644 --- a/contracts/utils/math/Math.sol +++ b/contracts/utils/math/Math.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/math/Math.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/math/Math.sol) pragma solidity ^0.8.20; diff --git a/contracts/utils/structs/Accumulators.sol b/contracts/utils/structs/Accumulators.sol index db58ba540de..696d930c14d 100644 --- a/contracts/utils/structs/Accumulators.sol +++ b/contracts/utils/structs/Accumulators.sol @@ -1,4 +1,5 @@ // SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/Accumulators.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/structs/Checkpoints.sol b/contracts/utils/structs/Checkpoints.sol index 70bd74c0922..6f67317ae64 100644 --- a/contracts/utils/structs/Checkpoints.sol +++ b/contracts/utils/structs/Checkpoints.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/structs/Checkpoints.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/Checkpoints.sol) // This file was procedurally generated from scripts/generate/templates/Checkpoints.js. pragma solidity ^0.8.20; diff --git a/contracts/utils/structs/CircularBuffer.sol b/contracts/utils/structs/CircularBuffer.sol index 69094eb4bf1..8d7801d1f72 100644 --- a/contracts/utils/structs/CircularBuffer.sol +++ b/contracts/utils/structs/CircularBuffer.sol @@ -1,5 +1,6 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/structs/CircularBuffer.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/CircularBuffer.sol) + pragma solidity ^0.8.24; import {Math} from "../math/Math.sol"; diff --git a/contracts/utils/structs/EnumerableMap.sol b/contracts/utils/structs/EnumerableMap.sol index 3f2819803ac..3173623b92f 100644 --- a/contracts/utils/structs/EnumerableMap.sol +++ b/contracts/utils/structs/EnumerableMap.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/structs/EnumerableMap.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/EnumerableMap.sol) // This file was procedurally generated from scripts/generate/templates/EnumerableMap.js. pragma solidity ^0.8.24; diff --git a/contracts/utils/structs/EnumerableSet.sol b/contracts/utils/structs/EnumerableSet.sol index fae15074cc6..12479caf0b7 100644 --- a/contracts/utils/structs/EnumerableSet.sol +++ b/contracts/utils/structs/EnumerableSet.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.4.0) (utils/structs/EnumerableSet.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/EnumerableSet.sol) // This file was procedurally generated from scripts/generate/templates/EnumerableSet.js. pragma solidity ^0.8.24; diff --git a/contracts/utils/structs/Heap.sol b/contracts/utils/structs/Heap.sol index 377994087aa..b5f0730ef69 100644 --- a/contracts/utils/structs/Heap.sol +++ b/contracts/utils/structs/Heap.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/Heap.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/Heap.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/structs/MerkleTree.sol b/contracts/utils/structs/MerkleTree.sol index 6e4c1248cb4..792b9963a6a 100644 --- a/contracts/utils/structs/MerkleTree.sol +++ b/contracts/utils/structs/MerkleTree.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.3.0) (utils/structs/MerkleTree.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/structs/MerkleTree.sol) pragma solidity ^0.8.24; diff --git a/contracts/utils/types/Time.sol b/contracts/utils/types/Time.sol index a96b92d50e3..8402e53bdf1 100644 --- a/contracts/utils/types/Time.sol +++ b/contracts/utils/types/Time.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v5.1.0) (utils/types/Time.sol) +// OpenZeppelin Contracts (last updated v5.5.0) (utils/types/Time.sol) pragma solidity ^0.8.20; diff --git a/package.json b/package.json index c01775bd963..7374ce0d66c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "openzeppelin-solidity", "description": "Secure Smart Contract library for Solidity", - "version": "5.4.0", + "version": "5.5.0", "private": true, "files": [ "/contracts/**/*.sol", diff --git a/scripts/release/workflow/github-release.js b/scripts/release/workflow/github-release.js index f213106b8a8..6d85a4a2611 100644 --- a/scripts/release/workflow/github-release.js +++ b/scripts/release/workflow/github-release.js @@ -9,7 +9,7 @@ module.exports = async ({ github, context }) => { owner: context.repo.owner, repo: context.repo.repo, tag_name: `v${version}`, - target_commitish: github.ref_name, + target_commitish: context.sha, body: extractSection(changelog, version), prerelease: process.env.PRERELEASE === 'true', });