Rounding issue in the calculateReward functions causes the calculated rewards to return zero for the small depositors when the attacker deposits a large amount. This way the attacker denies the rewards for the small depositors.
Assumig
market.totalDeposits=4000
market.reward=MAX_REWARD=1000
user deposits= 20 tokens
Now the attacker deposits 20,000 tokens and increasing market.totalDeposit to 24,000
Attacker now manipulating the rewards and the user gets zero rewards.
Modify the formula using precision scaling to avoid rounding.
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.