There is an inconsistency in setting and removing AuctionConfig in the SpiceAuction contract. Unlike in DaiGoldAuction, where the config cannot be changed after startAuction() is called, SpiceAuction allows config changes even after startAuction() has been initiated
In the DaiGoldAuction contract, the auction config cannot be changed after startAuction() is called, ensuring that once an auction is started, its parameters remain fixed. This precaution is intended to maintain the integrity and predictability of the auction process.
However, in the SpiceAuction contract, it is possible to change the config for an auction even after startAuction() is called
Scenrio:
Assume we are in the coolDownStart period and want to increase coolDownStart. Since startAuction() has been called, no one should be able to change the coolDownStart(Also setAuctionConfig will update the config for next epoch not current one), but the following series of functions could change the coolDownStart for the corresponding epoch:
DAO deletes the config, as the config can be deleted before being active - removeAuctionConfig().
DAO sets the config with an increased coolDownStart() and calls startAuction() again
Even though this process involves DAO roles, it contradicts the precautionary measures seen in DaiGoldAuction and undermines the consistency of the protocol's behavior. The purpose of restricting config changes after startAuction() is to prevent any tampering or unexpected changes that could affect participants' expectations and the auction's integrity.
The auction config can be changed even after the auction has started
Manual
Modify DaiGoldAuction to allow DAO to change auction config as is possible in SpiceAuction.
OR
Prevent config changes in SpiceAuction after startAuction() has been called, aligning it with the DaiGoldAuction precautionary measures
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.