All the relevant contracts are now fixed to a 0.5.17 version pragma: 3cbe3ad .
As the bug report article states "The 0.5.7 release contains the fixes to all bugs explained in this blog post", and we're now using a fixed 0.5.17 solidity version, which includes fixes for the bug in question.
We implemented the recommended gas optimization on commit 251440b.
The missing integer underlow protection on MixinProtocolFees
was added on commit bb4257a.
Missing zero address checks added on commit 9037c9f.
The assert clause in MixinSignatureValidator
is justified because if the internal _validateHashSignatureTypes
function were called with an invalid signature type, that would classify as an internal error.
The assert on MixinWrapperFunctions
also checks for an internal error on the return data length for a delegatecall
to the Exchange contract itself (which inherits from MixinWrapperFunctions).
Missing events on the OrderChecker contract were added on commit a9c92db.
The missing return value check was added on commit e6f34aa.
When calculating fees, the status of the oracle for the underlying asset in question is now checked and it needs to be active: 2fdb31f.