For subsequent bids, the contract should enforce a minimum increase of 5% over the previous bid to promote competitive bidding and prevent minimal increments that could prolong auctions without meaningful value addition.
The calculation performs division by 100 before multiplication, causing integer flooring that results in a requiredAmount lower than the true 5% increase for previousBidAmounts not divisible by 100, allowing bids that undercut the intended threshold and compromising auction fairness.
Likelihood:
Previous bids end up with amounts not multiples of 100 wei due to arbitrary user inputs
Bidders exploit the flooring by submitting the minimal accepted amount below the true increment
Impact:
Auctions settle at lower prices than expected, reducing seller proceeds and platform fees
Undermines trust in the bidding mechanism, as increments appear inconsistent or unfair
Add the following test function into the existing tests in `BidBeastsMarketPlaceTest.t.sol`
Reorder the operations to multiply before dividing, minimizing precision loss. For even stricter enforcement, add ceiling logic by incorporating a numerator adjustment to ensure at least the full percentage increase.
Integer division in requiredAmount truncates fractions, allowing bids slightly lower than intended.
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.