The protocol allows the DAOExecutor to withdraw tokens from an auction if the auction has not started yet or has ended and there is no configuration set for the next epoch. However, it does not allow the DAOExecutor to withdraw tokens if the auction is still in the cooldown period.
The auction can be in one of the following states:
The auction has not started.
The auction has started but is in the cooldown period, meaning it is not active yet.
The auction is active, allowing anyone to bid.
The auction has ended, and no one can bid.
When the tokens can be recovered from auction if :
The auction is in cool down Period.
The auction has ended and next auctionConfigs
has not set.
The issue arises when the auction has started but is in the cooldown period. Since uint128 startTime = info.startTime = uint128(block.timestamp) + config.startCooldown;
, the tokens cannot be recovered, even though logically they could be, as done in the DaiGoldAuction
contract.
run with the command : forge test --mt test_cannot_recoverToken_spice
.
Tokens cannot be recovered while the auction is in the cooldown period. However, if auctionStart
is called, as demonstrated in my proof of concept (POC), the tokens still cannot be recovered.
Manual Review
Allow DAOExecutor to recover token in case of auction is in coll down period as done in DaiGoldAuction
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.