Protocol fees stored and processed is in uint64 instead of uint256.
A part of the ETH sent to the contract as entrance fee is taken as a protocol fee. The fee is stored in a uint64 variable and also during calculation, is converted from uint256 to uint64 without enough checks. In certain cases (when the value of ETH sent is higher than 2 ** 64), the actual value could be truncated and a wrong value will be stored in the totalFee parameter.
Internal Accounting which can result in an unusable state for the protocol fee withdrawal.
Manual Review.
Using uint256 instead of uint64.
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.