Platform: Code4rena
Start Date: 01/07/2022
Pot Size: $75,000 USDC
Total HM: 17
Participants: 105
Period: 7 days
Judge: Jack the Pug
Total Solo HM: 5
Id: 143
League: ETH
Rank: 91/105
Findings: 1
Award: $38.24
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: 0xA5DF
Also found by: 0v3rf10w, 0x09GTO, 0x1f8b, 0x29A, 0xDjango, 0xKitsune, 0xNazgul, 0xdanial, 0xf15ers, Aymen0909, Bnke0x0, Ch_301, Cheeezzyyyy, Chom, ElKu, Funen, Hawkeye, IllIllI, JC, JohnSmith, Kaiziron, Lambda, Limbooo, Meera, Metatron, MiloTruck, Noah3o6, Picodes, Randyyy, RedOneN, ReyAdmirado, Rohan16, Saintcode_, Sm4rty, TomJ, Tomio, Tutturu, UnusualTurtle, Waze, _Adam, __141345__, ajtra, apostle0x01, asutorufos, brgltd, c3phas, cRat1st0s, codexploder, defsec, delfin454000, djxploit, durianSausage, exd0tpy, fatherOfBlocks, hake, horsefacts, ignacio, jayfromthe13th, joestakey, jonatascm, kaden, kebabsec, m_Rassska, mektigboy, mrpathfindr, oyc_109, rajatbeladiya, rbserver, rfa, robee, sach1r0, sashik_eth, simon135
38.2406 USDC - $38.24
[G-1]- <ARRAY>.LENGTH SHOULD NOT BE LOOKED UP IN EVERY LOOP OF A FOR-LOOP :
The array length used inside a loop for incrementing i must not be looked up in every iteration
File: juice-contracts-v2-code4rena/contracts/JBDirectory.sol
line 167 : for (uint256 _i; _i < _terminalsOf[_projectId].length; _i++)
[G-2]- <X> += <Y> COSTS MORE GAS THAN <X> = <X> + <Y> FOR STATE VARIABLES :
File: juice-contracts-v2-code4rena/contracts/JBTokenStore.sol
line 409 : unclaimedBalanceOf[_holder][_projectId] = unclaimedBalanceOf[_holder][_projectId] - _amount; line 412 : unclaimedTotalSupplyOf[_projectId] = unclaimedTotalSupplyOf[_projectId] - _amount; line 451 : unclaimedBalanceOf[_recipient][_projectId] = unclaimedBalanceOf[_recipient][_projectId] + _amount;
[G-3]- READING MEMORY VARIABLE INSTEAD OF STATE VARIABLE INSIDE A FOR LOOP :
File: juice-contracts-v2-code4rena/contracts/JBDirectory.sol
line 168 : if (_terminalsOf[_projectId][_i] == _terminal) return true;
[G-4]- USE OF ++i COST LESS GAS THAN i++ IN FOR LOOPS :
File: juice-contracts-v2-code4rena/contracts/JBDirectory.sol
line 167 : for (uint256 _i; _i < _terminalsOf[_projectId].length; _i++)
File: juice-contracts-v2-code4rena/contracts/JBOperatorStore.sol
line 85 : for (uint256 _i = 0; _i < _permissionIndexes.length; _i++);