Pot::closePot
uses i_players.length
to calculate claimantCut
whereas it uses claimants.length
to loop and make transfers to the claimants. The implication of this is that in a situation where all the players have not claimed there will be dust funds stucked in the contract.
For example, given the values:
(remainingRewards - managerCut) = 110 - 10 = 100
i_players.length = 6
claimants.length = 5
From the simple scenario above, the amount to be shared by the claimant is 100 but it is shared using 100/6 =16
rounded down by solidity into 5 people making the amount shared to be 16 * 5 = 80
. There is a clear difference of 20 which will be stucked in contract.
Possible to enter claimCut
after Pot has been closed if there are enough funds for tha particular player/funds stucked in contract.
Manual Review
Calculate claimantCut
using claimants.length
since the goal is to share the remaining funds between 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.