Normally, the contract should rely on a secure, predictable time reference to control when the tournament starts or ends.
However, the current implementation uses block.timestamp to determine timing. Since miners or validators can adjust timestamps slightly within allowed margins, it introduces the possibility of timing manipulation around event cutoff moments.
Likelihood:
Occurs whenever a miner can gain advantage by altering the block timestamp slightly (usually ±15 seconds).
Becomes more relevant when tournament start/end conditions have tight timing constraints.
Impact:
Attackers could make deposits just before or after the intended cutoff.
This may allow some users to participate when the tournament should be closed or prevent legitimate entries from being accepted.
Observed Effect:
If a miner includes the transaction in a block with a slightly altered timestamp, the contract could be finalized earlier or later than intended.
**Explanation: **Instead of block.timestamp, use block.number for timing logic and convert to approximate durations based on average block times. This reduces miner control over timing-dependent logic.
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.