Striped Fiery Lark
High
When minting NFTs, every 1 out of 10 NFTs up to ID 1820 will be a special Nounder NFT. Currently we are on 1332, which can be checked using their site.
function mint() public override onlyMinter returns (uint256) {
if (_currentNounId <= 1820 && _currentNounId % 10 == 0) {
_mintTo(noundersDAO, _currentNounId++);
}
// minter refers to auction house
return _mintTo(minter, _currentNounId++);
}
The issue that occurs here is that NounsAuctionHouseV3
makes auctions for every NFT, and upon settling those auctions it tries to transfer the NFT away to the winner.
if (_auction.bidder == address(0)) {
nouns.burn(_auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
However 1 out 10 NFTs will not be minted into the auction house and when it tries to settle the auction the function would revert causing the contract to be bricked, or the least temporary DOS.
Not handling the special NFTs
none
none
none
Contract cannot make any more auctions as _settleAuction
reverts every time.
No response
Consider skipping auctions for these NFTs