v5.5.0-rc.1Pre-release
Added 1
- Arrays: Add slice and splice functions for value types (uint256[], bytes32[], address[])
Changed 2
- Account: Add signature argument to the internal _validateUserOp function for custom signature handling logic
- AccountERC7579: Installing and uninstalling fallback modules now require initData and deInitData arguments to be at least 4 bytes long and revert with ERC7579CannotDecodeFallbackData when bytes are missing
Fixed 1
- AccountERC7579: Prevent revert in isModuleInstalled for fallback modules when additionalContext has fewer than 4 bytes by returning false instead of reverting
From openzeppelin-contracts
Bug fixes
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)
Changes by category
Utils
Arrays: Addsliceandsplicefunctions for value types (uint256[],bytes32[],address[]). (#5983)