QA Report #142
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
resolved
Finding has been patched by sponsor (sponsor pls link to PR containing fix)
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
FINDINGS
TYPOS
File: BkdLocker.sol line 732
invlude Instead of include
File: FeeBurner.sol line 35
Recieve instead of Receive
File:AddressProvider.sol line 237
feeze Instead of freeze
NATSPEC is Incomplete
File: AddressProvider.sol line 77-87
Missing @return
File:AddressProvider.sol line 172-178
Missing @param key
File:AddressProvider.sol line 180-187
Missing @param key
File:AddressProvider.sol line 264-268
Missing @param key
File:AddressProvider.sol line 365-369
Missing @param index
File: StakerVault.sol line 93-98
Missing @param strategy
Inconsistent use/impementation of the uncheck block
Throught the contracts a library is being used to handle the arithmetic operations that can never over/underflow.
The library UncheckedMath.sol has been used in all for loops to wrap the the loop increment using the function uncheckedInc() as shown below
File: StakerVault.sol line 256-263
The above usage of the library UncheckedMath.sol and the uncheckedInc() function has been implemented in all contracts apart from the following.
File:PoolMigrationZap.sol line 38-45
The above uses the unchecked{} block directly rather than follow the same pattern with other contracts.
I would suggest we stick to the same approach in handling the arithmetics that can never over/underflow.
The text was updated successfully, but these errors were encountered: