openzeppelin-contracts v5.5.0-rc.1

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 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)
Breaking changes
  • 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)
  • 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)
Changes by category
Utils
  • Arrays: Add slice and splice functions for value types (uint256[], bytes32[], address[]). (#5983)
View original

Upgraded? How did it go?

Discussion