Foundation Drop contest - cryptphi's results

Foundation is a web3 destination.

General Information

Platform: Code4rena

Start Date: 11/08/2022

Pot Size: $40,000 USDC

Total HM: 8

Participants: 108

Period: 4 days

Judge: hickuphh3

Total Solo HM: 2

Id: 152

League: ETH

Foundation

Findings Distribution

Researcher Performance

Rank: 76/108

Findings: 1

Award: $41.20

🌟 Selected for report: 0

🚀 Solo Findings: 0

  1. The INFTDropCollectionInitializer(_implementation).initialize() call in NFTCollectionFactory.adminUpdateNFTDropCollectionImplementation() should have the _baseURI, _postRevealBaseURIHash  arguments declared as constants

  2. NFTCollectionFactory.initialize() - anybody can initialize the version of the NFT Collection, versionNFTCollection

  3. NFTCollectionFactory.sol contract does not comply with inherited ICollectionFactory contractThe NFTCollectionFactory contract inherits ICollectionFactory, however, does not comply with ICollectionFactory. There is no rolesContract() function in NFTCollectionFactory.

  4. NFTDropMarketFixedPriceSale.createFixedPriceSale() is missing a zero value check for price param.Unless allowed in the documentation, a collection admin may mistakenly input 0 as the price for the FixedPriceSale and make the sale free mint. Otherwise, there should be a zero value check in the createFixedPriceSale() function

  5. NFTDropMarketFixedPriceSale contract does not implement receive() function to be able to receive ETH in the contract.

#0 - HardlyDifficult

2022-08-18T16:56:30Z

The INFTDropCollectionInitializer(_implementation).initialize()

Fair feedback but I don't agree here. This is a special case where the values here are basically just magic numbers / values. I think inline definitions is more clear & easier to read.

Anyone can initialize

Invalid. See our comment here for context

NFTCollectionFactory.sol contract does not comply with interface

Invalid. It does, and my inheriting from the interface the compiler guarantees this is the case for us.

createFixedPriceSale() is missing a zero value check for price

Invalid. 0 is supported and this is mentioned in the comments.

NFTDropMarketFixedPriceSale contract does not implement receive()

Invalid. FETHNode implements a receiver for that use case. Other functions are payable where required.

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter