DaiGoldAuction.sol#bid function has no slippage control.
So the bidders who bid large amount at a time may lose funds.
DaiGoldAuction.sol#bid function is the following.
As can be seen, the function has no slippage control parameter.
Scenario:
Now assume that epochInfo.totalAuctionTokenAmount = 100 TGLD, the expected price of TGLD is 0.1 DAI and epochInfo.totalBidTokenAmount = 5 DAI.
Since the auction is profitable as long as totalBidTokenAmount is less than 10 DAI, bidder1 calls bid function with amount = 5 DAI.
While the tx stays in mempool, bidder2 executes bid function also with amount = 5 DAI.
As a result, the totalBidTokenAmount will be 15 DAI and the bidder1 and bidder2 will receive 33.3 TGLD respectively for their 5 DAI, which means that the bidders lost funds of about 1.66 DAI respectively.
This issue may damage the bidders who bid large amount of DAI at a time.
The same problem exists in SpiceAuction.sol#bid function too.
Manual Review
Modify the DaiGoldAuction.sol#bid function as follows.
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.