Normal Behavior: The constructor should validate that all configuration parameters are within valid ranges to ensure the anti-bot protection mechanism works as intended.
Issue: The constructor validates that phase1LimitBps <= 10000 and phase2LimitBps <= 10000 (upper bound check), but does NOT validate that these values are greater than zero. Setting phaseLimitBps = 0 causes maxSwapAmount = (initialLiquidity * 0) / 10000 = 0, which means ALL swaps will trigger penalty fees regardless of their size.
Root Cause: Missing lower bound validation in constructor:
Impact:
Griefing attack: A malicious deployer can initialize the hook with phase1LimitBps = 0 to penalize ALL early swaps during the critical launch phase
Legitimate users are charged excessive penalty fees on every single swap
Breaks the intended tiered launch mechanism completely
Could be used to extract maximum fees from unsuspecting users
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.
The contest is complete and the rewards are being distributed.