QA Report #139
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 Risk Findings Overview
abi.encodePacked()
should not be used with dynamic types when passing the result to a hash function such askeccak256()
Non-critical Findings Overview
QA overview per contract
Low Risk Findings
[L-01] Floating Pragma
A floating pragma might result in contract being tested/deployed with different or inconsistent compiler versions possibly leading to unexpected behaviour.
1 instance of this issue has been found:
[L-01] NFTCollection.sol#L3
[L-02]
abi.encodePacked()
should not be used with dynamic types when passing the result to a hash function such askeccak256()
Use
abi.encode()
instead which will pad items to 32 bytes, which will prevent hash collisions (e.g.abi.encodePacked(0x123,0x456)
=>0x123456
=>abi.encodePacked(0x1,0x23456)
, butabi.encode(0x123,0x456)
=>0x0...1230...456)
. If there is only one argument toabi.encodePacked()
it can often be cast tobytes()
orbytes32()
instead.1 instance of this issue has been found:
[L-02] NFTCollectionFactory.sol#L449-L450
Non-critical Findings
[N-01] Remove TODOs
Please remove TODOs as they harm readability.
1 instance of this issue has been found:
[N-01] MarketFees.sol#L193-L194
// TODO add referral info
[N-02] Function doesn’t currently use try/catch as spec suggests
Function can be turned into
internal
.1 instance of this issue has been found:
[N-02] MarketFees.sol#L212-L223
The text was updated successfully, but these errors were encountered: