The buy function in the Auction contract does not implement any slippage protection:
The price is calculated at the time of execution but could change between the time a transaction is submitted and when it's executed due to block times and MEV.
This is particularly problematic in high-gas situations where transactions might take several blocks to be included, leading to significant price differences.
Users could pay more than they intended if the price increases during this window. This means the actual amount burned will be significantly larger than intended, as it's not
properly scaled down to match the internal balance representation.
Manual review
Add a minAmountOut
for slippage protection
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.