Release v5.1.0 (rc)

audits/5.1
github-actions[bot] 6 months ago
parent 0d2d72a1d8
commit aba9ff61ac
  1. 45
      .changeset/pre.json
  2. 46
      CHANGELOG.md
  3. 2
      contracts/access/IAccessControl.sol
  4. 2
      contracts/access/Ownable2Step.sol
  5. 2
      contracts/access/extensions/AccessControlEnumerable.sol
  6. 2
      contracts/access/extensions/IAccessControlDefaultAdminRules.sol
  7. 2
      contracts/access/extensions/IAccessControlEnumerable.sol
  8. 2
      contracts/access/manager/AccessManaged.sol
  9. 2
      contracts/access/manager/AccessManager.sol
  10. 2
      contracts/access/manager/IAccessManager.sol
  11. 2
      contracts/finance/VestingWallet.sol
  12. 1
      contracts/finance/VestingWalletCliff.sol
  13. 2
      contracts/governance/Governor.sol
  14. 2
      contracts/governance/IGovernor.sol
  15. 1
      contracts/governance/extensions/GovernorCountingFractional.sol
  16. 2
      contracts/governance/extensions/GovernorCountingSimple.sol
  17. 2
      contracts/governance/extensions/GovernorTimelockAccess.sol
  18. 2
      contracts/governance/extensions/GovernorTimelockCompound.sol
  19. 2
      contracts/governance/extensions/GovernorTimelockControl.sol
  20. 2
      contracts/governance/extensions/GovernorVotes.sol
  21. 2
      contracts/governance/utils/Votes.sol
  22. 2
      contracts/interfaces/IERC1271.sol
  23. 2
      contracts/interfaces/IERC1363.sol
  24. 2
      contracts/interfaces/IERC1363Receiver.sol
  25. 2
      contracts/interfaces/IERC1363Spender.sol
  26. 2
      contracts/interfaces/IERC1820Implementer.sol
  27. 2
      contracts/interfaces/IERC1820Registry.sol
  28. 2
      contracts/interfaces/IERC3156FlashBorrower.sol
  29. 2
      contracts/interfaces/IERC3156FlashLender.sol
  30. 2
      contracts/interfaces/IERC4626.sol
  31. 2
      contracts/interfaces/IERC4906.sol
  32. 2
      contracts/interfaces/IERC777.sol
  33. 2
      contracts/interfaces/IERC777Recipient.sol
  34. 2
      contracts/interfaces/IERC777Sender.sol
  35. 2
      contracts/interfaces/draft-IERC1822.sol
  36. 2
      contracts/interfaces/draft-IERC6093.sol
  37. 1
      contracts/interfaces/draft-IERC7674.sol
  38. 2
      contracts/metatx/ERC2771Context.sol
  39. 2
      contracts/metatx/ERC2771Forwarder.sol
  40. 2
      contracts/package.json
  41. 2
      contracts/proxy/Clones.sol
  42. 2
      contracts/proxy/ERC1967/ERC1967Proxy.sol
  43. 2
      contracts/proxy/ERC1967/ERC1967Utils.sol
  44. 2
      contracts/proxy/beacon/BeaconProxy.sol
  45. 2
      contracts/proxy/transparent/ProxyAdmin.sol
  46. 2
      contracts/proxy/transparent/TransparentUpgradeableProxy.sol
  47. 2
      contracts/proxy/utils/UUPSUpgradeable.sol
  48. 2
      contracts/token/ERC1155/ERC1155.sol
  49. 2
      contracts/token/ERC1155/IERC1155.sol
  50. 2
      contracts/token/ERC1155/IERC1155Receiver.sol
  51. 2
      contracts/token/ERC1155/extensions/ERC1155Pausable.sol
  52. 2
      contracts/token/ERC1155/extensions/ERC1155Supply.sol
  53. 2
      contracts/token/ERC1155/extensions/ERC1155URIStorage.sol
  54. 2
      contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol
  55. 2
      contracts/token/ERC1155/utils/ERC1155Holder.sol
  56. 1
      contracts/token/ERC1155/utils/ERC1155Utils.sol
  57. 2
      contracts/token/ERC20/ERC20.sol
  58. 2
      contracts/token/ERC20/IERC20.sol
  59. 1
      contracts/token/ERC20/extensions/ERC1363.sol
  60. 2
      contracts/token/ERC20/extensions/ERC20FlashMint.sol
  61. 2
      contracts/token/ERC20/extensions/ERC20Pausable.sol
  62. 2
      contracts/token/ERC20/extensions/ERC20Permit.sol
  63. 2
      contracts/token/ERC20/extensions/ERC20Votes.sol
  64. 2
      contracts/token/ERC20/extensions/ERC20Wrapper.sol
  65. 2
      contracts/token/ERC20/extensions/ERC4626.sol
  66. 2
      contracts/token/ERC20/extensions/IERC20Metadata.sol
  67. 2
      contracts/token/ERC20/extensions/IERC20Permit.sol
  68. 1
      contracts/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol
  69. 2
      contracts/token/ERC20/utils/SafeERC20.sol
  70. 2
      contracts/token/ERC721/ERC721.sol
  71. 2
      contracts/token/ERC721/IERC721.sol
  72. 2
      contracts/token/ERC721/IERC721Receiver.sol
  73. 2
      contracts/token/ERC721/extensions/ERC721Burnable.sol
  74. 2
      contracts/token/ERC721/extensions/ERC721Consecutive.sol
  75. 2
      contracts/token/ERC721/extensions/ERC721Enumerable.sol
  76. 2
      contracts/token/ERC721/extensions/ERC721Pausable.sol
  77. 2
      contracts/token/ERC721/extensions/ERC721Royalty.sol
  78. 2
      contracts/token/ERC721/extensions/ERC721URIStorage.sol
  79. 2
      contracts/token/ERC721/extensions/ERC721Votes.sol
  80. 2
      contracts/token/ERC721/extensions/ERC721Wrapper.sol
  81. 1
      contracts/token/ERC721/utils/ERC721Utils.sol
  82. 2
      contracts/token/common/ERC2981.sol
  83. 2
      contracts/utils/Address.sol
  84. 2
      contracts/utils/Arrays.sol
  85. 2
      contracts/utils/Base64.sol
  86. 1
      contracts/utils/Comparators.sol
  87. 2
      contracts/utils/Create2.sol
  88. 1
      contracts/utils/Errors.sol
  89. 1
      contracts/utils/Packing.sol
  90. 1
      contracts/utils/Panic.sol
  91. 2
      contracts/utils/ReentrancyGuard.sol
  92. 1
      contracts/utils/ReentrancyGuardTransient.sol
  93. 1
      contracts/utils/SlotDerivation.sol
  94. 2
      contracts/utils/StorageSlot.sol
  95. 2
      contracts/utils/Strings.sol
  96. 2
      contracts/utils/cryptography/ECDSA.sol
  97. 2
      contracts/utils/cryptography/EIP712.sol
  98. 1
      contracts/utils/cryptography/Hashes.sol
  99. 2
      contracts/utils/cryptography/MerkleProof.sol
  100. 2
      contracts/utils/cryptography/MessageHashUtils.sol
  101. Some files were not shown because too many files have changed in this diff Show More

@ -4,5 +4,48 @@
"initialVersions": {
"openzeppelin-solidity": "5.0.2"
},
"changesets": []
"changesets": [
"chilled-walls-develop",
"chilly-humans-warn",
"cold-cheetahs-check",
"cool-mangos-compare",
"curvy-crabs-repeat",
"dirty-cobras-smile",
"eight-eyes-burn",
"eleven-planets-relax",
"flat-turtles-repeat",
"fluffy-buses-jump",
"fluffy-steaks-exist",
"forty-dodos-visit",
"friendly-nails-push",
"gentle-bulldogs-turn",
"gorgeous-badgers-vanish",
"great-pianos-work",
"heavy-baboons-give",
"kind-planets-cough",
"light-news-listen",
"lucky-crews-eat",
"nervous-eyes-teach",
"nervous-pans-grow",
"nice-paws-pull",
"odd-files-protect",
"odd-lobsters-wash",
"poor-chefs-cheat",
"serious-carrots-provide",
"shiny-poets-whisper",
"silver-swans-promise",
"smart-bugs-switch",
"spotty-falcons-explain",
"spotty-queens-own",
"strong-singers-talk",
"thick-pumpkins-report",
"thin-walls-drop",
"twenty-feet-grin",
"violet-moons-tell",
"warm-sheep-cover",
"wise-bobcats-speak",
"witty-chicken-smile",
"yellow-deers-walk",
"yellow-moles-hammer"
]
}

@ -1,5 +1,51 @@
# Changelog
## 5.1.0-rc.0 (2024-07-24)
- `Clones`: Add version of `clone` and `cloneDeterministic` that support sending value at creation. ([#4936](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4936))
- `CircularBuffer`: Add a data structure that stores the last `N` values pushed to it. ([#4913](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4913))
- `Math`: add an `invMod` function to get the modular multiplicative inverse of a number in Z/nZ. ([#4839](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4839))
- `RSA`: Library to verify signatures according to RFC 8017 Signature Verification Operation ([#4952](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4952))
- `Arrays`: add a `sort` functions for `address[]`, `bytes32[]` and `uint256[]` memory arrays. ([#4846](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4846))
- `GovernorCountingFractional`: Add a governor counting module that allows distributing voting power amongst 3 options (For, Against, Abstain). ([#5045](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5045))
- `Arrays`: deprecate `findUpperBound` in favor of the new `lowerBound`. ([#4842](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4842))
- `Comparator`: A library of comparator functions, useful for customizing the behavior of the Heap structure. ([#5084](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5084))
- `Strings`: Added a utility function for converting an address to checksummed string. ([#5067](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5067))
- `ERC1363`: Add implementation of the token payable standard allowing execution of contract code after transfers and approvals. ([#4631](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4631))
- `DoubleEndedQueue`: Custom errors replaced with native panic codes. ([#4872](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4872))
- `SlotDerivation`: Add a library of methods for derivating common storage slots. ([#4975](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4975))
- `Heap`: A data structure that implements a heap-based priority queue. ([#5084](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5084))
- `Packing`: Added a new utility for packing, extracting and replacing bytesXX values. ([#4992](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4992))
- `StorageSlot`: Add primitives for operating on the transient storage space using a typed-slot representation. ([#4980](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4980))
- `AccessManager`: Allow the `onlyAuthorized` modifier to restrict functions added to the manager. ([#5014](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5014))
- `Votes`: Set `_moveDelegateVotes` visibility to internal instead of private. ([#5007](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5007))
- `Create2`: Bubbles up returndata from a deployed contract that reverted during construction. ([#5052](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5052))
- `SafeERC20`: Add "relaxed" function for interacting with ERC-1363 functions in a way that is compatible with EOAs. ([#4631](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4631))
- `Hashes`: A library with commonly used hash functions. ([#3617](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3617))
- `P256`: Library for verification and public key recovery of P256 (aka secp256r1) signatures. ([#4881](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4881))
- `ERC721Utils` and `ERC1155Utils`: Add reusable libraries with functions to perform acceptance checks on `IERC721Receiver` and `IERC1155Receiver` implementers. ([#4845](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4845))
- `ERC20TemporaryApproval`: Add an ERC-20 extension that implements temporary approval using transient storage, based on ERC7674 (draft). ([#5071](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5071))
- `Math`: Add `modExp` function that exposes the `EIP-198` precompile. Includes `uint256` and `bytes memory` versions. ([#3298](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3298))
- `Panic`: Add a library for reverting with panic codes. ([#3298](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3298))
- `Math`: Custom errors replaced with native panic codes. ([#3298](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3298))
- `Math`, `SignedMath`: Add a branchless `ternary` function that computes`cond ? a : b` in constant gas cost. ([#4976](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4976))
- `MerkleProof`: Add variations of `verify`, `processProof`, `multiProofVerify` and `processMultiProof` (and equivalent calldata version) with support for custom hashing functions. ([#4887](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4887))
- `Errors`: New library of common custom errors. ([#4936](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4936))
- `Arrays`: add new functions `lowerBound`, `upperBound`, `lowerBoundMemory` and `upperBoundMemory` for lookups in sorted arrays with potential duplicates. ([#4842](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4842))
- `AccessManager`, `VestingWallet`, `TimelockController` and `ERC2771Forwarder`: Added a public `initializer` function in their corresponding upgradeable variants. ([#5008](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5008))
- `Base64`: Add `encodeURL` following section 5 of RFC4648 for URL encoding ([#4822](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4822))
- `AccessControlEnumerable`: Add a `getRoleMembers` method to return all accounts that have `role`. ([#4546](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4546))
- `MerkleTree`: A data structure that allows inserting elements into a merkle tree and updating its root hash. ([#3617](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3617))
- `VestingWalletCliff`: Add an extension of the `VestingWallet` contract with an added cliff. ([#4870](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4870))
- `ReentrancyGuardTransient`: Added a variant of `ReentrancyGuard` that uses transient storage. ([#4988](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4988))
- `EnumerableMap`: add `UintToBytes32Map`, `AddressToAddressMap`, `AddressToBytes32Map` and `Bytes32ToAddressMap`. ([#4843](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4843))
- `SignatureChecker`: refactor `isValidSignatureNow` to avoid validating ECDSA signatures if there is code deployed at the signer's address. ([#4951](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4951))
- `ProxyAdmin`: Fixed documentation for `UPGRADE_INTERFACE_VERSION` getter. ([#5031](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/5031))
- `TransparentUpgradeableProxy`: Make internal `_proxyAdmin()` getter have `view` visibility. ([#4688](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4688))
- `Create2`, `Clones`: Mask `computeAddress` and `cloneDeterministic` outputs to produce a clean value for an `address` type (i.e. only use 20 bytes) ([#4941](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4941))
- `SafeCast`: Add `toUint(bool)` for operating on `bool` values as `uint256`. ([#4878](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4878))
### Breaking changes
- `ERC1967Utils`: Removed duplicate declaration of the `Upgraded`, `AdminChanged` and `BeaconUpgraded` events. These events are still available through the `IERC1967` interface located under the `contracts/interfaces/` directory. Minimum pragma version is now 0.8.21.

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/IAccessControl.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/IAccessControl.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable2Step.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/Ownable2Step.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/extensions/AccessControlEnumerable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/extensions/AccessControlEnumerable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/extensions/IAccessControlDefaultAdminRules.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/extensions/IAccessControlDefaultAdminRules.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/extensions/IAccessControlEnumerable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/extensions/IAccessControlEnumerable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/AccessManaged.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/manager/AccessManaged.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/AccessManager.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/manager/AccessManager.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/manager/IAccessManager.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (access/manager/IAccessManager.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (finance/VestingWallet.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (finance/VestingWallet.sol)
pragma solidity ^0.8.20;
import {IERC20} from "../token/ERC20/IERC20.sol";

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (finance/VestingWalletCliff.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/Governor.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/Governor.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/IGovernor.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/IGovernor.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorCountingFractional.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorCountingSimple.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorCountingSimple.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorTimelockAccess.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorTimelockAccess.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorTimelockCompound.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorTimelockCompound.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorTimelockControl.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorTimelockControl.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/extensions/GovernorVotes.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/extensions/GovernorVotes.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (governance/utils/Votes.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (governance/utils/Votes.sol)
pragma solidity ^0.8.20;
import {IERC5805} from "../../interfaces/IERC5805.sol";

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1271.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1271.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1363.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1363.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1363Receiver.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1363Receiver.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1363Spender.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1363Spender.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1820Implementer.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1820Implementer.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1820Registry.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC1820Registry.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC3156FlashBorrower.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC3156FlashBorrower.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC3156FlashLender.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC3156FlashLender.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC4626.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC4626.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC4906.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC4906.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC777.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC777.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC777Recipient.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC777Recipient.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC777Sender.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/IERC777Sender.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC1822.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/draft-IERC1822.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;
/**

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (interfaces/draft-IERC7674.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (metatx/ERC2771Context.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (metatx/ERC2771Context.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (metatx/ERC2771Forwarder.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (metatx/ERC2771Forwarder.sol)
pragma solidity ^0.8.20;

@ -1,7 +1,7 @@
{
"name": "@openzeppelin/contracts",
"description": "Secure Smart Contract library for Solidity",
"version": "5.0.2",
"version": "5.1.0-rc.0",
"files": [
"**/*.sol",
"/build/contracts/*.json",

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/Clones.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/Clones.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Proxy.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/ERC1967/ERC1967Proxy.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/ERC1967/ERC1967Utils.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/ERC1967/ERC1967Utils.sol)
pragma solidity ^0.8.21;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/BeaconProxy.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/beacon/BeaconProxy.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/transparent/ProxyAdmin.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/transparent/ProxyAdmin.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/transparent/TransparentUpgradeableProxy.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (proxy/utils/UUPSUpgradeable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (proxy/utils/UUPSUpgradeable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/ERC1155.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/ERC1155.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (token/ERC1155/IERC1155.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/IERC1155.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/IERC1155Receiver.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/IERC1155Receiver.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/extensions/ERC1155Pausable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/extensions/ERC1155Pausable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/extensions/ERC1155Supply.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/extensions/ERC1155Supply.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/extensions/ERC1155URIStorage.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/extensions/ERC1155URIStorage.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/extensions/IERC1155MetadataURI.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/extensions/IERC1155MetadataURI.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC1155/utils/ERC1155Holder.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/utils/ERC1155Holder.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC1155/utils/ERC1155Utils.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/ERC20.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/IERC20.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC1363.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20FlashMint.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC20FlashMint.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Pausable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC20Pausable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Permit.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC20Permit.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Votes.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC20Votes.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Wrapper.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC20Wrapper.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC4626.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/ERC4626.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/IERC20Metadata.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Permit.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/IERC20Permit.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/extensions/draft-ERC20TemporaryApproval.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC20/utils/SafeERC20.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/ERC721.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/ERC721.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/IERC721.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/IERC721Receiver.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/IERC721Receiver.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Burnable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Burnable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Consecutive.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Consecutive.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Enumerable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Enumerable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Pausable.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Pausable.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Royalty.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Royalty.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721URIStorage.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721URIStorage.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Votes.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Votes.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC721/extensions/ERC721Wrapper.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/extensions/ERC721Wrapper.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/ERC721/utils/ERC721Utils.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/common/ERC2981.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (token/common/ERC2981.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Address.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Address.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Arrays.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Arrays.sol)
// This file was procedurally generated from scripts/generate/templates/Arrays.js.
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.2) (utils/Base64.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Base64.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Comparators.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Create2.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Create2.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Errors.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Packing.sol)
// This file was procedurally generated from scripts/generate/templates/Packing.js.
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Panic.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/ReentrancyGuard.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/ReentrancyGuardTransient.sol)
pragma solidity ^0.8.24;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/SlotDerivation.sol)
// This file was procedurally generated from scripts/generate/templates/SlotDerivation.js.
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/StorageSlot.sol)
// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.
pragma solidity ^0.8.24;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/Strings.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/Strings.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/ECDSA.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/cryptography/ECDSA.sol)
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/EIP712.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/cryptography/EIP712.sol)
pragma solidity ^0.8.20;

@ -1,4 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/cryptography/Hashes.sol)
pragma solidity ^0.8.0;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/MerkleProof.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/cryptography/MerkleProof.sol)
// This file was procedurally generated from scripts/generate/templates/MerkleProof.js.
pragma solidity ^0.8.20;

@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/cryptography/MessageHashUtils.sol)
// OpenZeppelin Contracts (last updated v5.1.0-rc.0) (utils/cryptography/MessageHashUtils.sol)
pragma solidity ^0.8.20;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save