Platform: Code4rena
Start Date: 12/08/2022
Pot Size: $50,000 USDC
Total HM: 15
Participants: 120
Period: 5 days
Judge: Justin Goro
Total Solo HM: 6
Id: 153
League: ETH
Rank: 96/120
Findings: 1
Award: $21.17
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: IllIllI
Also found by: 0x1f8b, 0xA5DF, 0xDjango, 0xNazgul, 0xSmartContract, 0xackermann, 0xbepresent, 0xc0ffEE, 0xkatana, 2997ms, Amithuddar, Aymen0909, Bnke0x0, Chinmay, Chom, CodingNameKiki, Deivitto, Diraco, Dravee, ElKu, EthLedger, Fitraldys, Funen, IgnacioB, JC, Junnon, Lambda, LeoS, Metatron, MiloTruck, Noah3o6, NoamYakov, PaludoX0, Randyyy, ReyAdmirado, Rohan16, Rolezn, Ruhum, SaharAP, Sm4rty, SooYa, TomJ, Tomio, Waze, Yiko, _Adam, __141345__, a12jmx, ajtra, ak1, asutorufos, ballx, brgltd, c3phas, cRat1st0s, carlitox477, chrisdior4, d3e4, delfin454000, dharma09, djxploit, durianSausage, erictee, fatherOfBlocks, find_a_bug, flyx, francoHacker, gerdusx, gogo, gzeon, hakerbaya, ignacio, jag, kyteg, ladboy233, ltyu, m_Rassska, medikko, mics, mrpathfindr, newfork01, nxrblsrpr, oyc_109, pfapostol, rbserver, reassor, ret2basic, robee, sach1r0, saian, simon135, sryysryy, zeesaw
21.1705 USDC - $21.17
constant
immutable
unchecked
when incrementing a loop's iterator++i
constant
immutable
unchecked
when incrementing a loop's iteratorRealistically the iterator can't overflow because of the loop's condition. Incrementing it within an unchecked
block will save gas.
for (uint i; i < length;) { unchecked { ++i; } }
./src/contracts/FraxlendPair.sol:289: for (uint256 i = 0; i < _lenders.length; i++) { ./src/contracts/FraxlendPair.sol:308: for (uint256 i = 0; i < _borrowers.length; i++) { ./src/contracts/libraries/SafeERC20.sol:27: for (i = 0; i < 32 && data[i] != 0; i++) { ./src/contracts/FraxlendWhitelist.sol:53: for (uint256 i = 0; i < _addresses.length; i++) { ./src/contracts/FraxlendWhitelist.sol:68: for (uint256 i = 0; i < _addresses.length; i++) { ./src/contracts/FraxlendWhitelist.sol:83: for (uint256 i = 0; i < _addresses.length; i++) { ./src/contracts/FraxlendPairCore.sol:265: for (uint256 i = 0; i < _approvedBorrowers.length; ++i) { ./src/contracts/FraxlendPairCore.sol:270: for (uint256 i = 0; i < _approvedLenders.length; ++i) {
++i
++i
is cheaper than i++
when incrementing a loop's iterator.
./src/contracts/FraxlendPairDeployer.sol:131: i++; ./src/contracts/FraxlendPairDeployer.sol:159: i++; ./src/contracts/FraxlendPair.sol:289: for (uint256 i = 0; i < _lenders.length; i++) { ./src/contracts/FraxlendPair.sol:308: for (uint256 i = 0; i < _borrowers.length; i++) { ./src/contracts/libraries/SafeERC20.sol:24: i++; ./src/contracts/libraries/SafeERC20.sol:27: for (i = 0; i < 32 && data[i] != 0; i++) { ./src/contracts/FraxlendWhitelist.sol:53: for (uint256 i = 0; i < _addresses.length; i++) { ./src/contracts/FraxlendWhitelist.sol:68: for (uint256 i = 0; i < _addresses.length; i++) {