chore(deps): update dependency @openzeppelin/contracts to v5.6.1#187
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
chore(deps): update dependency @openzeppelin/contracts to v5.6.1#187renovate[bot] wants to merge 1 commit intomainfrom
renovate[bot] wants to merge 1 commit intomainfrom
Conversation
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
5.4.0→5.6.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
OpenZeppelin/openzeppelin-contracts (@openzeppelin/contracts)
v5.6.1Compare Source
InteroperableAddress: Fix overflow in the parsing functions that caused silent misparse of large interoperable addresses. (#6372)v5.6.0Compare Source
Breaking changes
Strings: TheescapeJSONfunction now escapes all control characters in the range U+0000 to U+001F per RFC-4627. Previously only backspace, tab, newline, form feed, carriage return, double quote, and backslash were escaped. Input strings containing any other control character (e.g. null0x00) or raw bytes in U+0001–U+001F will now produce different, longer output (e.g.\u0000for null). (#6344)ERC1155: Performing batch transfers with exactly one id/value in the batch no-longer callsIERC1155Receiver.onERC1155Received.IERC1155Receiver.onERC1155BatchReceivedis called instead (with arrays of length one). (#6170)ERC1967ProxyandTransparentUpgradeableProxy: Mandate initialization during construction. Deployment now reverts withERC1967ProxyUninitializedif an initialize call is not provided. Developers that rely on the previous behavior and want to disable this check can do so by overriding the internal_unsafeAllowUninitializedfunction to return true. (#5906)ERC721andERC1155: Prevent setting an operator foraddress(0). In the case ofERC721this type of operator allowance could lead to obfuscated mint permission. (#6171)RLP: Theencode(bytes32)function now encodesbytes32as a fixed size item and not as a scalar inencode(uint256). Users must replace calls toencode(bytes32)withencode(uint256(bytes32))to preserve the same behavior. (#6167)ERC4337Utils: TheparseValidationDatanow returns aValidationRangeas the last return tuple value indicating whether thevalidationDatais compared against a timestamp or block number. Developers must update their code to handle this new return value (e.g.(aggregator, validAfter, validUntil) -> (aggregator, validAfter, validUntil, range)). (#6215)SignerWebAuthn: The_rawSignatureValidationfunction now returnsfalsewhen the signature is not a valid WebAuthn authentication assertion. P256 fallback is removed. Developers can add it back by overriding the function. (#6337)Memory: ThesetFreeMemoryPointerfunction is renamed tounsafeSetFreeMemoryPointer. Developers should useunsafeSetFreeMemoryPointerinstead ofsetFreeMemoryPointerafter v5.6.0. (#6348)Memory: Remove theasBytes32andasPointerfunction to reduce the risk of mistakes when manipulating memory pointers. (#6340)Changes by category
Account
Account: Update default version of the ERC-4337 entrypoint to v0.9. (#6135)AccountERC7579: Do not revert and perform the uninstall if theonUninstallhook of a module reverts. (#6142)ERC4337Utils: Added thepaymasterSignaturefunction to extract the signature inpaymasterAndDataafter Entrypoint v0.9. Similarly, a variant ofpaymasterDatathat receives a flag to exclude the signature from the returned data. (#6215)ERC4337Utils: Added variants ofpackValidationData(address,uint48,uint48)andpackValidationData(bool,uint48,uint48)that receive aValidationRangeargument, could be timestamp or block number. Similarly, theparseValidationDatanow returns aValidationRangetoo. (#6215)Tokens
ERC1155: Introduce the_checkAuthorizedinternal virtual function to encapsulateisApprovedForAllandmsg.sender == fromchecks. (#6133)ERC1155: CallIERC1155Receiver.onERC1155BatchReceivedwhen performing a batch transfers with exactly one id/value in the batch. (#6170)ERC4626: Allow overriding underlying assets transfer mechanisms through new internal virtual functions (_transferInand_transferOut). (#5970)ERC721URIStorage: Add_suffixURI, an internal getter for retrieving the custom tokenURI without the base prefix. (#6175)IERC6909ContentURI,IERC6909TokenSupplyandIERC6909Metadatainterfaces in theERC6909ContentURI,ERC6909TokenSupplyandERC6909Metadatacontracts respectively. (#6246) and (#6247)Cross-chain
BridgeFungible,BridgeERC20andBridgeERC7802: Added bridge contracts to handle crosschain movements of ERC-20 (and ERC-7802) tokens. (#5914) (#6328)CrosschainLinked: Added a new helper contract to facilitate communication between a contract on one chain and counterparts on remote chains through ERC-7786 gateways. (#5914)ERC20Crosschain: Added an ERC-20 extension to embed an ERC-7786 based crosschain bridge directly in the token contract. (#5914)InteroperableAddress: Reject inputs with both chain reference and addresses empty. (#6340)Cryptography
MessageHashUtils: Add helper functions to build EIP-712 domain typehash and separator with fields selectively enabled/disabled. (#5908)SignatureChecker: AddisValidERC1271SignatureNowCalldata, a variant ofisValidERC1271SignatureNowthat takes the signature from calldata. (#6123)TrieProof: Add library for verifying Ethereum Merkle-Patricia trie inclusion proofs. (#5826)WebAuthn: Verification now returnsfalseinstead of reverting when client data contains an out-of-boundschallengeIndex. (#6329)Structures
Accumulator: Check that slices being added (shiftorpush) are in the reserved space. (#6302)DoubleEndedQueue: AddtryPushBack,tryPopBack,tryPushFront,tryPopFront,tryFront,tryBack, andtryAtfunction variants that do not revert. (#6020)EnumerableMap: Add support forBytes4ToAddressMaptypes. (#6091)EnumerableSet: Add support forBytes4Settype. (#6091)Utils
Arrays: Addreplacefunctions enabling in-place array modification ofaddress[],bytes32[]anduint256[]arrays, with new content from another array. (#5995)Arrays: Addsliceandsplicefunctions for value types (uint256[],bytes32[],address[]). (#5965)Bytes: Addreplacefunctions that replaces a portion of a bytes buffer with content from another buffer. (#5995)Bytes: Add thetoNibblesfunction that expands the nibbles (4 bits chunk) of abytesbuffer. Used for manipulating Patricia Merkle Trees keys and paths. (#5826)Memory: Add aisReserved(Slice)function that checks if the memory occupied by the slice is reserved (i.e. before the free memory pointer). (#6302)RLP: Encodebytes32as a fixed size item and not as a scalar inencode(bytes32). Scalar RLP encoding remains available by casting to auint256and using theencode(uint256)function. (#6167)RLP: Fix RLP encoding validity check when decoding long lists or strings (#6051)RLP: Perform a memory copy when decodingbytesobjects containing a single byte instead of returning a reference to the input. (#6303)v5.5.0Compare Source
Bug fixes
AccountERC7579: Prevent revert inisModuleInstalledfor fallback modules whenadditionalContexthas fewer than 4 bytes. The function now returnsfalseinstead of reverting, ensuring ERC-7579 compliance. (#5961)ERC165Checker: Ensure thesupportsERC165function returns false if the target reverts during thesupportsInterface(0xffffffff)call. (#5880)AccountERC7579: Prevent revert inisModuleInstalledfor fallback modules whenadditionalContexthas fewer than 4 bytes. The function now returnsfalseinstead of reverting, ensuring ERC-7579 compliance. (#5961)Breaking changes
Account: Addsignatureargument to the internal_validateUserOpfunction 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)AccountERC7579: Installing and uninstalling fallback modules now require the correspondinginitDataanddeInitDataarguments to be at least 4 bytes long (matching the selector to which the fallback module is registered). It now reverts withERC7579CannotDecodeFallbackDatainstead of treating the missing bytes as0x00. (#5974)ERC6909and its extensions (ERC6909ContentURI,ERC6909MetadataandERC6909TokenSupply) are no longer marked as draft since EIP-6909 is now final. Developers must update the import paths. Contracts behavior is not modified. (#5929)SignerERC7702is renamed asSignerEIP7702. Imports and inheritance must be updated to that new name and path. Behavior is unmodified. (#5932)ERC721Holder,ERC1155Holder,ReentrancyGuardandReentrancyGuardTransientare flagged as stateless and are no longer transpiled. Developers using their upgradeable variants from@openzeppelin/contracts-upgradeablemust update their imports to use the equivalent version available in@openzeppelin/contracts. (#5944, #5942)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,VotesandVotesExtended. (#5723, #5726, #5965)Deprecation
InitializableandUUPSUpgradeableare no longer transpiled. Aliases are present in the@openzeppelin/contracts-upgradeablepackage that redirect to the corresponding files in@openzeppelin/contracts. These aliases will be removed in the next major release. Developers are advised to update their imports to get these files directly from the@openzeppelin/contractspackage. #5941ECDSAsignature malleability protection is partly deprecated. See documentation for more details. #5814Changes by category
Tokens
ERC4626: computemaxWithdrawusingmaxRedeemandpreviewRedeemso that changes to the preview functions affect the max functions. (#5130)Cross-chain
InteroperableAddress: Add a library for formatting and parsing ERC-7930 interoperable addresses. (#5736)ERC7786Recipient: Generic ERC-7786 cross-chain message recipient contract. (#5904)IERC7786: Add the (draft) interface for ERC-7786 "Cross-Chain Messaging Gateway" (#5737)Cryptography
Signers
SignerWebAuthn: Add an abstract signer that verifies WebAuthn signatures, with a P256 fallback. (#5809)Verifiers
ERC7913WebAuthnVerifier: Add an ERC-7913 verifier that verifies WebAuthn Authentication Assertions for P256 identities. (#5809)Other
WebAuthn: Add a library for verifying WebAuthn Authentication Assertions. (#5809)ECDSA: AddparseandparseCalldatato parse bytes signatures of length 65 or 64 (erc-2098) into its v,r,s components. (#5814)ECDSA: AddrecoverCalldataandtryRecoverCalldata, variants ofrecoverandtryRecoverthat are more efficient when signatures are in calldata. (#5788)SignatureChecker: AddisValidSignatureNowCalldata(address,bytes32,bytes calldata)for efficient processing of calldata signatures. (#5788)Structures
Checkpoints: Add a new checkpoint variantCheckpoint256usinguint256type for the value and key. (#5748)Accumulators: A library for merging an arbitrary dynamic number of bytes buffers. (#5680)Utils
Arrays: Addsliceandsplicefunctions for value types (uint256[],bytes32[],address[]). (#5983)Base58: Add a library for encoding and decoding bytes buffers into base58 strings. (#5762)Base64: Add a newdecodefunction that parses base64 encoded strings. (#5765)Bytes: Addconcatthat merges abytes[]array of buffers into a singlebytesbuffer. (#5882)Bytes: AddreverseBytes32,reverseBytes16,reverseBytes8,reverseBytes4, andreverseBytes2functions to reverse byte order for converting between little-endian and big-endian representations. (#5724)Bytes: Addsplice(bytes,uint256)andsplice(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 toslice. (#5733)Bytes: Add aclzfunction to count the leading zero bits in abytesbuffer. (#5725)Bytes: Add anequalfunction to compare byte buffers. (#5726)Bytes: FixlastIndexOf(bytes,byte,uint256)with empty buffers and finite position to correctly returntype(uint256).maxinstead of accessing uninitialized memory sections. (#5797)IERC7751: Add the interface for custom error wrapping of bubbled up reverts. (#5816)LowLevelCall: Add a library to perform low-level calls and deal with thereturndatamore granularly. (#5094)Math: Add aclzfunction to count the leading zero bits in auint256value. (#5725)Memory: Add library with utilities to manipulate memory (#5189)Memory: Add a UDVT for handling slices on memory space similarly to calldata slices. (#5680)ReentrancyGuardandReentrancyGuardTransient: AddnonReentrantView, a read-only version of thenonReentrantmodifier. (#5800)ReentrancyGuard,ReentrancyGuardTransient: Add an internal_reentrancyGuardStorageSlotfunction allowing slot customization via override. (#5892)RelayedCall: Add a library to perform indirect calls through minimal and predictable relayers. (#5630)RLP: Add a library for encoding and decoding data in Ethereum's Recursive Length Prefix format. (#5680)Strings: AddtoHexString(bytes). (#5761)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.