Description: In Pot::closePot(), the claimantCut
, we are dividing the remaining rewards by the number of players to distribute the rewards. However, we are dividing the remaining rewards by the number of players instead of number of claimants. This will lead to incorrect fund distribution.
Impact: This will lead to incorrect fund distribution and may result in a loss of funds for the claimants. Every claimant will receive a lesser amount than they should have received, and some amount will be left in the contract at the end of the distribution.
Proof of Concepts:
If we have 1000 players and 900 claimants and the remaining rewards are 1000, the manager cut is 100, and the claimant cut will be should be 900 / 900 = 1. But according to the current implementation, the claimants will receive 900/1000 = 0.9, which is incorrect.
Recommended mitigation: The claimantCut
should be calculated by dividing the remaining rewards by the number of claimants instead of the number of players. This will ensure that the rewards are distributed correctly among the claimants.
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.