Platform: Code4rena
Start Date: 08/11/2022
Pot Size: $60,500 USDC
Total HM: 6
Participants: 72
Period: 5 days
Judge: Picodes
Total Solo HM: 2
Id: 178
League: ETH
Rank: 70/72
Findings: 1
Award: $36.34
🌟 Selected for report: 0
🚀 Solo Findings: 0
🌟 Selected for report: RaymondFam
Also found by: 0x1f8b, 0x52, 0xSmartContract, 0xc0ffEE, 0xhacksmithh, 8olidity, Awesome, BClabs, Bnke0x0, Chom, Deivitto, Hashlock, IllIllI, Josiah, KingNFT, Nyx, R2, ReyAdmirado, Rolezn, SamGMK, Sathish9098, SinceJuly, V_B, Vadis, Waze, a12jmx, adriro, ajtra, aphak5010, bearonbike, bin, brgltd, carlitox477, carrotsmuggler, cccz, ch0bu, chaduke, datapunk, delfin454000, erictee, fatherOfBlocks, fs0c, horsefacts, jayphbee, ktg, ladboy233, pashov, perseverancesuccess, rbserver, ret2basic, tnevler, zaskoh
36.3434 USDC - $36.34
Low: Payable functions in ERC20EnabledLooksRareAggregator.sol This contract shouldnt have payable functions as it shouldnt receive ether. Location: ERC20EnabledLooksRareAggregator.sol Line 33. Impact: Funds (ether) potentially being directed to the wrong place. Recommendation: This function does not need to be payable.
Low: Lack of address (0x0) best practice check, and lack of check that the input is the correct address, with inability to edit the address. Location: Line 120 of LooksRareAggregator.sol. Impact: The owner could put in a typo, setting the address to the wrong one or address 0. Is it possible to make this an internal function only called from ERC20EnabledLooksRareAggregator.sol with its own address? Mistakes could result in DOS and need to re-deploy. The contract also does not allow for such mistakes to be changed as it can only be called once if the input was not address(0). Recommendation: after the if statement, require address != 0. Create an onlyowner function to update the address later, unless this can be set directly by the _erc20EnabledLooksRareAggregator.sol contract with its own address.
Low: ERC20EnabledLooksRareAggregator.sol can be forced to accept eth via selfdestruct() Impact: Funds (ether) potentially being directed to the wrong place. This contract shouldnt receive ether.
Low: No address check on constructor Location: Line 21 of ERC20EnabledLooksRareAggregator.sol Impact: Potential for initial address of aggregator to be incorrect. There is no way or function to change it after the constructor.
Low: Unused receive function Should call something else or revert. In LooksRareAggregator.sol and Seaport proxy. Impact: Funds (ether) potentially being directed to the wrong place.
#0 - Picodes
2022-11-21T19:39:48Z
Please include links and a better formatting of your submission for clarity
#1 - c4-judge
2022-11-21T19:40:10Z
Picodes marked the issue as grade-b
#2 - 0xhiroshi
2022-11-24T12:28:29Z
Low: Payable functions in ERC20EnabledLooksRareAggregator.sol - invalid, it can an order with both ERC20 and ETH Low: Lack of address (0x0) best practice check, and lack of check that the input is the correct address, with inability to edit the address. - invalid Low: ERC20EnabledLooksRareAggregator.sol can be forced to accept eth via selfdestruct() - invalid Low: No address check on constructor - invalid Low: Unused receive function - only valid for SeaportProxy
#3 - c4-sponsor
2022-11-24T12:28:39Z
0xhiroshi requested judge review
#4 - 0xhiroshi
2022-12-12T23:58:52Z
@Picodes what is the edict of this report?