Description
Normal behavior:
The feeIncreasePercentage
parameter defines by what percentage the throne claim fee (claimFee
) increases after each successful claim, implementing a progressive, escalating cost mechanism designed to encourage timely claiming and economically balance the game.
Specific issue:
The contract allows feeIncreasePercentage
to be set to zero during deployment or through the owner-updatable updateClaimFeeParameters
method. When this happens, the claimFee
never increases after claims, effectively disabling the escalating fee feature critical to the game’s balance and incentive structure.
Likelihood: Moderate
The owner or deployer can easily set the feeIncreasePercentage
to zero intentionally or by mistake during deployment or configuration updates.
Because the parameter is owner-controlled and also settable at deployment, this misconfiguration can persist unnoticed unless thoroughly tested.
Reasons:
This parameter is involved in every claim transaction that adjusts the claimFee
.
The game mechanics rely heavily on increasing claim fees to maintain incentives and fair competition.
Impact: High (Game Logic Impact)
The claim fee remains constant at the initial value across all claims.
Players can repeatedly claim the throne at a low fixed fee, potentially enabling griefing attacks or economic stalling of the game.
The escalating “king of the hill” mechanic is disabled, potentially undermining the entire purpose of the game contract.
The pot and incentive structures may behave unexpectedly, reducing player engagement and platform revenue.
The game becomes predictable and easily gamed, harming fairness and sustainability.
Where to apply:
In the constructor, replace the existing require line checking _feeIncreasePercentage
.
In the updateClaimFeeParameters
function’s modifier / require block, apply the same stricter check.
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.