Try   HackMD

Quant Exchange - Halborn Report Response

(HAL-01) Floating Pragma

All the relevant contracts are now fixed to a 0.5.17 version pragma: 3cbe3ad .

(HAL-02) Experimental Features Enabled

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.

(HAL-03) Gas Optimization on the Divide Ceil Calculation

We implemented the recommended gas optimization on commit 251440b.

(HAL-04) Lack of Integer Underflow Protection

The missing integer underlow protection on MixinProtocolFees was added on commit bb4257a.

(HAL-05) Lack of Zero Address Check

Missing zero address checks added on commit 9037c9f.

(HAL-06) Usage of assert

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).

(HAL-07) Missing Event Emitting

Missing events on the OrderChecker contract were added on commit a9c92db.

(HAL-08) Lack of Oracle Return Value Check

The missing return value check was added on commit e6f34aa.

(HAL-09) Lack of Oracle Status Check

When calculating fees, the status of the oracle for the underlying asset in question is now checked and it needs to be active: 2fdb31f.