QA Report #130
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
LOW 01: Missing documentation for
bool roundUp
in docstringIn AmountDeriver._applyFraction
All parameters are documented properly except for
bool roundUp
which does not have an explanation in the function documentation.Recommendation
Add the parameter to the doc string;
LOW 02
TokenTransferrer
contract is missing contract documentationThe contact TokenTransferrer should have general contract documentation above the contract code, similar to all other contracts in the protocol, in such format:
LOW 03
ERC712
transfers should usesafeTransferFrom
instead oftransferFrom
Currently, the
ERC721Interface
contains onlytransferFrom
. Hence, for manyERC721
tokens which havesafeTransferFrom
as well, the non safe function will get called. By openzeppeling ERC721 standard the safe transfer is safer:I suggest the
ERC721Interface
should use thesafeTransferFrom
, and then, for example, in TokenTransferrer._performERC721Transferthe safer transfer method will get executed
LOW 04: Should not assume the last
route
inelse
statementIn ReferenceBasicOrderFulfiller._validateAndFulfillBasicOrder, there are many
if-else
statements which check theroute
. the lastelse
assumes the routh is the last one left. This is problematic as the route can be not an expected value and any value will enter theelse
.Instead, I recommend to use
else if
for all values, and finish with anelse ... revert InvalidRoute()
.For example:
should be
The text was updated successfully, but these errors were encountered: