In SpiceAuction
contract, function recoverAuctionTokenForZeroBidAuction
is used to recover the auction tokens if auction is ended and it didn't had any bid. Since, it didn't had any bid, the auction tokens corresponding to that auction can't be claimed by anyone and hence can be recovered by calling recoverAuctionTokenForZeroBidAuction
. Only daoExecutor
has the access to call it. The function to recoverAuctionTokenForZeroBidAuction
can be called multiple times by the daoExecutor
for the same epochId
with zero bid even if it had already recovered the tokens earlier.
The function recoverAuctionTokenForZeroBidAuction
doesn't have any checks to ensure that the auctionTokens
being recovered for epochId
has already been recovered earlier or not. Due to this, it is possible to call this multiple times for same epochId
and drain auctionToken
for that epochId
. The function should have a check to ensure that it is not possible to recover the tokens multiple times for same epochId
with zero bid.
The daoExecutor
can drain the auctionToken
corresponding to epochId
with zero bids by calling recoverAuctionTokenForZeroBidAuction
Manual review
Update the totalAuctionTokenAmount
to 0
in the recoverAuctionTokenForZeroBidAuction
function to ensure that recovery of auction tokens for same epochId doesn't happen.
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.