-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update dependency @openzeppelin/contracts to v5.1.0 #24
base: main
Are you sure you want to change the base?
Conversation
Reviewer's Guide by SourceryThis PR updates the @openzeppelin/contracts dependency from version 5.0.2 to 5.1.0. The update includes several breaking changes, new features, and improvements across various contract categories including access control, governance, tokens, and utilities. Class diagram for updated OpenZeppelin contractsclassDiagram
class ERC1967Utils {
-Upgraded
-AdminChanged
-BeaconUpgraded
}
class IERC1967 {
+Upgraded
+AdminChanged
+BeaconUpgraded
}
class Governor {
+_countVote() uint256
}
class GovernorCountingSimple {
+_countVote() uint256
}
class AccessControlEnumerable {
+getRoleMembers(role)
}
class AccessManager {
+initializer()
+onlyAuthorized
}
class VestingWalletCliff {
+initializer()
}
class GovernorCountingFractional {
+For
+Against
+Abstain
}
class ERC1363 {
+tokenPayableStandard
}
class ERC20TemporaryApproval {
+transientStorage
}
class SafeERC20 {
+SafeERC20FailedOperation
}
class Arrays {
+sort()
+lowerBound()
+upperBound()
}
class Errors {
+FailedCall
+InsufficientBalance
+FailedDeployment
}
class Comparator {
+comparatorFunctions
}
class CircularBuffer {
+storeLastNValues()
}
class Heap {
+priorityQueue
}
class MerkleTree {
+insertElement()
+updateRootHash()
}
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have skipped reviewing this pull request. It seems to have been created by a bot (hey, renovate[bot]!). We assume it knows what it's doing!
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
e4b82bd
to
45943a4
Compare
This PR contains the following updates:
5.0.2
->5.1.0
Release Notes
OpenZeppelin/openzeppelin-contracts (@openzeppelin/contracts)
v5.1.0
Compare Source
Breaking changes
ERC1967Utils
: Removed duplicate declaration of theUpgraded
,AdminChanged
andBeaconUpgraded
events. These events are still available through theIERC1967
interface located under thecontracts/interfaces/
directory. Minimum pragma version is now 0.8.21.Governor
,GovernorCountingSimple
: The_countVote
virtual function now returns anuint256
with the total votes casted. This change allows for more flexibility for partial and fractional voting. Upgrading users may get a compilation error that can be fixed by adding a return statement to the_countVote
function.Custom error changes
This version comes with changes to the custom error identifiers. Contracts previously depending on the following errors should be replaced accordingly:
Address.FailedInnerCall
withErrors.FailedCall
Address.AddressInsufficientBalance
withErrors.InsufficientBalance
Clones.Create2InsufficientBalance
withErrors.InsufficientBalance
Clones.ERC1167FailedCreateClone
withErrors.FailedDeployment
Clones.Create2FailedDeployment
withErrors.FailedDeployment
SafeERC20
: ReplaceAddress.AddressEmptyCode
withSafeERC20FailedOperation
if there is no code at the token's address.SafeERC20
: Replace genericError(string)
withSafeERC20FailedOperation
if the returned data can't be decoded asbool
.SafeERC20
: Replace genericSafeERC20FailedOperation
with the revert message from the contract call if it fails.Changes by category
General
AccessManager
,VestingWallet
,TimelockController
andERC2771Forwarder
: Added a publicinitializer
function in their corresponding upgradeable variants. (#5008)Access
AccessControlEnumerable
: Add agetRoleMembers
method to return all accounts that haverole
. (#4546)AccessManager
: Allow theonlyAuthorized
modifier to restrict functions added to the manager. (#5014)Finance
VestingWalletCliff
: Add an extension of theVestingWallet
contract with an added cliff. (#4870)Governance
GovernorCountingFractional
: Add a governor counting module that allows distributing voting power amongst 3 options (For, Against, Abstain). (#5045)Votes
: Set_moveDelegateVotes
visibility to internal instead of private. (#5007)Proxy
Clones
: Add version ofclone
andcloneDeterministic
that support sending value at creation. (#4936)TransparentUpgradeableProxy
: Make internal_proxyAdmin()
getter haveview
visibility. (#4688)ProxyAdmin
: Fixed documentation forUPGRADE_INTERFACE_VERSION
getter. (#5031)Tokens
ERC1363
: Add implementation of the token payable standard allowing execution of contract code after transfers and approvals. (#4631)ERC20TemporaryApproval
: Add an ERC-20 extension that implements temporary approval using transient storage, based on ERC7674 (draft). (#5071)SafeERC20
: Add "relaxed" function for interacting with ERC-1363 functions in a way that is compatible with EOAs. (#4631)SafeERC20
: Document risks ofsafeIncreaseAllowance
andsafeDecreaseAllowance
when associated with ERC-7674. (#5262)ERC721Utils
andERC1155Utils
: Add reusable libraries with functions to perform acceptance checks onIERC721Receiver
andIERC1155Receiver
implementers. (#4845)ERC1363Utils
: Add helper similar to the existing ERC721Utils and ERC1155Utils. (#5133)Utils
Arrays
: add asort
functions foraddress[]
,bytes32[]
anduint256[]
memory arrays. (#4846)Arrays
: add new functionslowerBound
,upperBound
,lowerBoundMemory
andupperBoundMemory
for lookups in sorted arrays with potential duplicates. (#4842)Arrays
: deprecatefindUpperBound
in favor of the newlowerBound
. (#4842)Base64
: AddencodeURL
following section 5 of RFC4648 for URL encoding (#4822)Comparator
: A library of comparator functions, useful for customizing the behavior of the Heap structure. (#5084)Create2
: Bubbles up returndata from a deployed contract that reverted during construction. (#5052)Create2
,Clones
: MaskcomputeAddress
andcloneDeterministic
outputs to produce a clean value for anaddress
type (i.e. only use 20 bytes) (#4941)Errors
: New library of common custom errors. (#4936)Hashes
: A library with commonly used hash functions. (#3617)Packing
: Added a new utility for packing, extracting and replacing bytesXX values. (#4992)Panic
: Add a library for reverting with panic codes. (#3298)ReentrancyGuardTransient
: Added a variant ofReentrancyGuard
that uses transient storage. (#4988)Strings
: Added a utility function for converting an address to checksummed string. (#5067)SlotDerivation
: Add a library of methods for derivating common storage slots. (#4975)TransientSlot
: Add primitives for operating on the transient storage space using a typed-slot representation. (#4980)Cryptography
SignatureChecker
: refactorisValidSignatureNow
to avoid validating ECDSA signatures if there is code deployed at the signer's address. (#4951)MerkleProof
: Add variations ofverify
,processProof
,multiProofVerify
andprocessMultiProof
(and equivalent calldata version) with support for custom hashing functions. (#4887)P256
: Library for verification and public key recovery of P256 (aka secp256r1) signatures. (#4881)RSA
: Library to verify signatures according to RFC 8017 Signature Verification Operation (#4952)Math
Math
: add aninvMod
function to get the modular multiplicative inverse of a number in Z/nZ. (#4839)Math
: AddmodExp
function that exposes theEIP-198
precompile. Includesuint256
andbytes memory
versions. (#3298)Math
: Custom errors replaced with native panic codes. (#3298)Math
,SignedMath
: Add a branchlessternary
function that computescond ? a : b
in constant gas cost. (#4976)SafeCast
: AddtoUint(bool)
for operating onbool
values asuint256
. (#4878)Structures
CircularBuffer
: Add a data structure that stores the lastN
values pushed to it. (#4913)DoubleEndedQueue
: Custom errors replaced with native panic codes. (#4872)EnumerableMap
: addUintToBytes32Map
,AddressToAddressMap
,AddressToBytes32Map
andBytes32ToAddressMap
. (#4843)Heap
: A data structure that implements a heap-based priority queue. (#5084)MerkleTree
: A data structure that allows inserting elements into a merkle tree and updating its root hash. (#3617)Configuration
📅 Schedule: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.