recoverToken leaves an empty epochDaiGoldAuction's recoverToken does not perform _currentEpochId = id - 1; like SpiceAuction. If we recover a token, there would be an empty auction epoch.
removeAuctionConfig won't work if startCooldown == 0SpiceAuction's removeAuctionConfig will not work when startCooldown == 0. We would not be able to removeAuctionConfig even if the auction has not started yet. We can remove it only during the waiting period, making the auctions more difficult to set up and execute.
recoverToken inside SpiceAuction can accidentally recover more tokensRecovering an ERC20 with 2 addresses will brick the auction. It will recover more for the second address because totalAuctionTokenAllocation and _claimedAuctionTokens[token] are both equal to 0 for the other address. Thus, the full balance is available even though totalAuctionTokenAllocation can be more than 0 for the first address.
MINIMUM_AUCTION_PERIOD to MINIMUM_AUCTION_DURATIONMINIMUM_AUCTION_PERIOD can be confused with something similar to MAXIMUM_AUCTION_WAIT_PERIOD as it has PERIOD in its name. However, it functions like a DURATION.
https://github.com/Cyfrin/2024-07-templegold/blob/main/protocol/contracts/templegold/SpiceAuction.sol#L37
isCurrentEpochEnded to hasCurrentEpochEndedDaiGoldAuction's isCurrentEpochEnded has incorrect spelling.
https://github.com/Cyfrin/2024-07-templegold/blob/main/protocol/contracts/templegold/DaiGoldAuction.sol#L207
startAuction doesn't need time checkDaiGoldAuction's startAuction does not need !prevAuctionInfo.hasEnded(), as it already checks for endTime + auctionsTimeDiff > block.timestamp.
https://github.com/Cyfrin/2024-07-templegold/blob/main/protocol/contracts/templegold/DaiGoldAuction.sol#L106
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.