Platform: Code4rena
Start Date: 07/08/2023
Pot Size: $36,500 USDC
Total HM: 11
Participants: 125
Period: 3 days
Judge: alcueca
Total Solo HM: 4
Id: 274
League: ETH
Rank: 113/125
Findings: 1
Award: $4.23
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: RED-LOTUS-REACH
Also found by: 0x3b, 0x4non, 0xCiphky, 0xDING99YA, 0xDetermination, 0xE1, 0xG0P1, 0xStalin, 0xWaitress, 0xbrett8571, 0xhacksmithh, 0xkazim, 0xmuxyz, 0xweb3boy, 14si2o_Flint, AlexCzm, Alhakista, Bube, Bughunter101, Deekshith99, Eeyore, Giorgio, HChang26, InAllHonesty, JP_Courses, KmanOfficial, MatricksDeCoder, Mike_Bello90, MrPotatoMagic, Naubit, QiuhaoLi, RHaO-sec, Raihan, Rolezn, SUPERMAN_I4G, Shubham, Silverskrrrt, Strausses, T1MOH, Topmark, Tripathi, Watermelon, _eperezok, aakansha, auditsea, audityourcontracts, ayden, carlos__alegre, castle_chain, cducrest, ch0bu, d23e, deadrxsezzz, deth, devival, erebus, fatherOfBlocks, halden, hassan-truscova, hpsb, hunter_w3b, imkapadia, immeas, jat, kaden, kaveyjoe, klau5, koxuan, kutugu, ladboy233, lanrebayode77, leasowillow, lsaudit, markus_ether, matrix_0wl, merlin, nemveer, ni8mare, nonseodion, oakcobalt, owadez, p_crypt0, pipidu83, piyushshukla, popular00, ppetrov, rjs, sandy, sl1, supervrijdag, tay054, thekmj, wahedtalash77, windhustler, zhaojie
4.2289 USDC - $4.23
nonReentrant
modifier in the createLock
function of VotingEscrow.sol
contractfunction createLock(uint256 _value) external payable nonReentrant {
VotingEscrow.sol#L268 The modifier was necessary in the FIAT DAO codebase but in this setup, it should not be as it follows the Check-Effects-Interactions pattern.
whiteListLendingMarket
function of LendingLedger.sol
contractwhiteListLendingMarket
function in the LendingLedger.sol
contract allows both whitelisting a lending market and delisting it from the whitelist by submitting true
or false
in the _isWhiteListed
parameter.
/// @notice Used by governance to whitelist a lending market /// @param _market Address of the market to whitelist /// @param _isWhiteListed Whether the market is whitelisted or not
LendingLedger.sol#L201 Recommendation: Please edit the comments accordingly. For instance, replace the first line of comments with "/// @notice Used by governance to assign or remove whitelist status to a lending market"
address(0)
in add_gauge
function of GaugeController.sol
contractfunction add_gauge(address _gauge) external onlyGovernance { require(!isValidGauge[_gauge], "Gauge already exists"); isValidGauge[_gauge] = true; emit NewGauge(_gauge); }
GaugeController.sol#L118
Recommendation: add a check for address(0)
at the beginning of the add_gauge
function. Example: require(!address(0), "Zero address");
#0 - c4-judge
2023-08-22T13:57:19Z
alcueca marked the issue as grade-b