Normal behavior:
The platform fee should be a reasonable percentage of the claim fee, ensuring that most of the funds go to the prize pot for players to compete for.
Specific issue:
The contract allows the owner to set platformFeePercentage
to any value up to 100%. If the owner sets it to 100%, all claim fees are diverted to the owner, and the prize pot remains empty. This makes it impossible for players to win any reward, violating the intended game mechanics and fairness.
Likelihood:
This will occur whenever the owner sets the platform fee to 100%.
Impact:
All player funds are drained to the owner.
The prize pot is always empty, making the game unwinnable and unfair.
Players may lose trust and the protocol could face reputational or legal risk.
The following scenario demonstrates the bug:
The owner calls updatePlatformFeePercentage(100)
.
A player claims the throne and pays the claim fee.
All of the claim fee is credited to platformFeesBalance
(owner), and nothing is added to the pot.
No player can ever win a prize.
Add a maximum cap to the platform fee (e.g., 30%) to prevent abuse:
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.