code-423n4 / 2022-01-openleverage-findings

0 stars 0 forks source link

considered using calldata and save stakeTokens.length to memory can save gas #251

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Handle

Tomio

Vulnerability details

Impact

Expensive gas

Proof of Concept

https://github.com/code-423n4/2022-01-openleverage/blob/main/openleverage-contracts/contracts/farming/FarmingPools.sol#L125 // gas cost 26406

Tools Used

Remix

Recommended Mitigation Steps

Change to:

 function getRewards(address[] calldata stakeTokens) external {
     uint256 tesstakeTokens = stakeTokens.length;
        for (uint256 i = 0; i < tesstakeTokens; i++) {
            getReward(stakeTokens[i]);
        }
    }
// gas cost 26247
ColaM12 commented 2 years ago

Duplicate to #137 #29