Skip to content

v3.1.2

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jul 09:30
· 168 commits to develop since this release
74ee710

This patch release introduces the important bug fixes, as well as some minor optimizations.


  • bug fix 1: ⛔ The contracts ERC725XInit and ERC725YInit (to be used as implementation contracts behind proxies) are now initialized immediately on deployment.

In previous releases, the initialize(...) function needed to be called immediately after deployment, creating a security risk through race conditions. These base implementation contracts are now immediately lock while being deployed, through the use of the _disableInitializer(...) function from the OpenZeppelin contract Initializable.sol.

This function also ensures that the base contract cannot be re-initialized, for instance when ERC725XInit, ERC725YInit or ERC725Init are used through inheritance. If your contract derives from one of these three contracts, the initialize(...) function cannot be called in the parent contract via the most derived constructor/initializerfunction.


  • bug fix 2: drop support for ErrorHandlerLib contract library.

This contract library is now removed from the package, in favour of the verifyCallResult(...) from the OpenZeppelin Address.sol library.

If you were using this ErrorHandlerLib library, we recommend migrating to the function mentioned above from OpenZeppelin.

NB: the ErrorHandlerLib.revertWithParsedError(...) function also contained a minor bug, related to ignoring the value returned by the function.


Bug Fixes

  • ignores return value by ErrorHandlerLib.revertWithParsedError(result) (#133) (f4d6b83)
  • lock base ERC725XInit and ERC725YInit contracts on deployment (#139) (26a5da5)