code-423n4 / 2021-12-perennial-findings

0 stars 0 forks source link

Gas Optimization: Cache length() for iteration #59

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Handle

gzeon

Vulnerability details

e.g. https://github.com/code-423n4/2021-12-perennial/blob/fd7c38823833a51ae0c6ae3856a3d93a7309c0e4/protocol/contracts/incentivizer/Incentivizer.sol#L144

        uint256 len =  _registry[product].length();
        for (uint256 i; i < len; i++) {

also in

grep "for (" -R ./contracts -n | grep {
./contracts/incentivizer/Incentivizer.sol:144:        for (uint256 i; i < _registry[product].length(); i++) {
./contracts/incentivizer/Incentivizer.sol:174:        for (uint256 i; i < _registry[product].length(); i++) {
./contracts/incentivizer/Incentivizer.sol:190:        for (uint256 i; i < _registry[product].length(); i++) {
kbrizzle commented 2 years ago

Duplicate of: https://github.com/code-423n4/2021-12-perennial-findings/issues/33

GalloDaSballo commented 2 years ago

Duplicate of: #33