Open code423n4 opened 2 years ago
Ack, non-critical
Valid find as consistency is important
Not a fan of the extensive format when it comes to extremely basic reports, especially when they feel like they come from an automated tool and are about typos and lack of needless documentation
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.