code-423n4 / 2022-03-prepo-findings

0 stars 0 forks source link

Gas Optimizations #20

Open code423n4 opened 2 years ago

code423n4 commented 2 years ago

Issues found

Don't Initialize Variables with Default Value

Impact

Issue Information: G001 - variables with default value

Findings:

../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::44 => for (uint256 _i = 0; _i < _accounts.length; _i++) {
../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::55 => for (uint256 _i = 0; _i < _accounts.length; _i++) {
../code4rena/2022-03-prepo/contracts/core/Collateral.sol::81 => uint256 _shares = 0;

Cache Array Length Outside of Loop

Impact

Issue Information: G002 - array length outside loop

Findings:

../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::44 => for (uint256 _i = 0; _i < _accounts.length; _i++) {
../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::55 => for (uint256 _i = 0; _i < _accounts.length; _i++) {

Use != 0 instead of > 0 for Unsigned Integer Comparison

Impact

Issue Information: G003 - use !=0 for unsigned int comparison

Findings:

../code4rena/2022-03-prepo/contracts/core/Collateral.sol::326 => (_totalAssets > 0)
../code4rena/2022-03-prepo/contracts/core/mocks/MockStrategy.sol::63 => if (_actualBalance > 0) {

Prefix increments are cheaper than postfix increments

Impact

Issue Information: G009 - Prefix increments are cheaper than postfix increments

Findings:

../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::35 => _blockedAccountsIndex++;
../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::44 => for (uint256 _i = 0; _i < _accounts.length; _i++) {
../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::55 => for (uint256 _i = 0; _i < _accounts.length; _i++) {
../code4rena/2022-03-prepo/contracts/core/AccountAccessController.sol::101 => _allowedAccountsIndex++;
ramenforbreakfast commented 2 years ago

Duplicates issues mentioned in #5 and #18