Platform: Code4rena
Start Date: 26/07/2022
Pot Size: $75,000 USDC
Total HM: 29
Participants: 179
Period: 6 days
Judge: LSDan
Total Solo HM: 6
Id: 148
League: ETH
Rank: 141/179
Findings: 1
Award: $35.17
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: IllIllI
Also found by: 0x1f8b, 0x4non, 0x52, 0xA5DF, 0xDjango, 0xLovesleep, 0xNazgul, 0xNineDec, 0xSmartContract, 0xackermann, 0xc0ffEE, 0xf15ers, 0xmatt, 0xsanson, 0xsolstars, 8olidity, AuditsAreUS, Bahurum, Bnke0x0, CRYP70, CertoraInc, Ch_301, Chom, CryptoMartian, Deivitto, DevABDee, Dravee, ElKu, Franfran, Funen, GalloDaSballo, GimelSec, GiveMeTestEther, Green, JC, Jmaxmanblue, JohnSmith, Jujic, Junnon, Kenshin, Krow10, Kumpa, Lambda, MEP, Maxime, MiloTruck, Mohandes, NoamYakov, Picodes, RedOneN, Rohan16, Rolezn, Ruhum, RustyRabbit, Sm4rty, Soosh, StErMi, StyxRave, Tadashi, TomJ, Treasure-Seeker, TrungOre, Waze, _Adam, __141345__, ajtra, ak1, apostle0x01, arcoun, asutorufos, async, benbaessler, berndartmueller, bin2chen, brgltd, c3phas, cRat1st0s, carlitox477, chatch, codetilda, codexploder, cryptonue, cryptphi, csanuragjain, cthulhu_cult, delfin454000, dipp, dirk_y, djxploit, ellahi, exd0tpy, fatherOfBlocks, giovannidisiena, hansfriese, horsefacts, hyh, idkwhatimdoing, indijanc, jayfromthe13th, jayphbee, joestakey, kenzo, kyteg, lucacez, luckypanda, mics, minhquanym, obront, oyc_109, pedr02b2, rajatbeladiya, rbserver, reassor, robee, rokinot, rotcivegaf, sach1r0, saian, saneryee, sashik_eth, scaraven, shenwilly, simon135, sseefried, supernova, teddav, ych18, zuhaibmohd, zzzitron
35.1687 USDC - $35.17
Require
Statements used without Revert Messages
Should input revert err messages in the Require
statements. So, when any require
statement reverts, it reverts with an error message, so that a failure can more easily be debugged or reacted upon. Or use Custom Errors
Instead for better gas optimization & debugging
contracts/vote-escrow/VoteEscrowDelegation.sol 245: require(_isApprovedOrOwner(_sender, _tokenId)); contracts/rewards/RewardDistributor.sol 88: require(msg.sender == trader); contracts/rewards/RewardDistributor.sol 144: require(epochs[index] < epoch); contracts/rewards/RewardDistributor.sol 158: require(epochs[index] < epoch); contracts/core/GolomTrader.sol 220: require(msg.sender == o.reservedAddress); contracts/core/GolomTrader.sol 285: require(o.totalAmt * amount >(o.exchange.paymentAmt + o.prePayment.paymentAmt + o.refererrAmt) * amount + p.paymentAmt); contracts/core/GolomTrader.sol 291: require(msg.sender == o.reservedAddress); contracts/core/GolomTrader.sol 293: require(o.orderType == 1); contracts/core/GolomTrader.sol 295: require(status == 3); contracts/core/GolomTrader.sol 296: require(amountRemaining >= amount); contracts/core/GolomTrader.sol 313: require(o.signer == msg.sender); contracts/core/GolomTrader.sol 342: require(o.totalAmt >= o.exchange.paymentAmt + o.prePayment.paymentAmt + o.refererrAmt); contracts/core/GolomTrader.sol 345: require(msg.sender == o.reservedAddress); contracts/core/GolomTrader.sol 347: require(o.orderType == 2); contracts/core/GolomTrader.sol 349: require(status == 3); contracts/core/GolomTrader.sol 350: require(amountRemaining >= amount); contracts/vote-escrow/VoteEscrowCore.sol 360: require(_entered_state == _not_entered); contracts/vote-escrow/VoteEscrowCore.sol 540: require(_isApprovedOrOwner(_sender, _tokenId)); contracts/vote-escrow/VoteEscrowCore.sol 646: require(owner != address(0)); contracts/vote-escrow/VoteEscrowCore.sol 648: require(_approved != owner); contracts/vote-escrow/VoteEscrowCore.sol 652: require(senderIsOwner || senderIsApprovedForAll); contracts/vote-escrow/VoteEscrowCore.sol 869, 874, 879, 884 & 889: require(msg.sender == voter); contracts/vote-escrow/VoteEscrowCore.sol 895: require(_from != _to); contracts/vote-escrow/VoteEscrowCore.sol 927 & 944: require(_value > 0);