The FjordAuction contract's auctionEnd() function burns all FjordPoints held by the contract without verifying if this amount matches the totalBids. This discrepancy could lead to burning more or fewer tokens than expected, potentially disrupting the economic model of the auction system.
In the auctionEnd() function, the contract burns FjordPoints as follows:
The function burns all FjordPoints in the contract, regardless of the totalBids amount, There's no check to ensure pointsToBurn equals totalBids. The contract might accumulate extra FjordPoints or have fewer than expected due to various factors.
If the contract has received additional FjordPoints through means other than bidding (e.g., direct transfers), it will burn more than the total bids, potentially disrupting the token's economics.
If the contract somehow has fewer FjordPoints than the total bids (e.g., due to a bug or unauthorized withdrawal), it will burn less than expected, leaving some bids unaccounted for.
The discrepancy between burned tokens and total bids could lead to inaccurate reporting of auction results.
manaul review
1: Add a check to ensure the amount of FjordPoints to be burned matches the totalBids:
2: implement a mechanism to handle mismatch
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.