Solidity performs integer division, which truncates any fractional results. When small values are involved, this truncation can cause calculations to result in zero when a non-zero value was expected.
In the current implementation, claimFee
is increased using the formula:
If claimFee
is small (e.g., 5 wei) and feeIncreasePercentage
is 1, the resulting increase becomes zero due to truncation.
(5 * 1) / 100 = 0
Likelihood:
Occurs whenever claimFee
or feeIncreasePercentage
are small, which is especially likely during the early phase of the game or with precision-sensitive tokens.
Impact:
Fee does not increase as intended, breaking core game mechanics
Could allow players to bypass economic friction, potentially exploiting game rules.
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.