When the protocol transitions from Phase 1 to Phase 2 (or Phase 2 to Phase 3), the per address swap totals (addressSwappedAmount) are not reset. Users can accumulate unlimited swaps across phases, combining phase limits.
Normal behavior: Phase 1 has a 1% limit, Phase 2 has a 5% limit. On phase transition, tracking should reset so Phase 2 users start fresh with their 5% allocation. Instead, accumulated swaps carry over.
The function is defined but never called during phase transitions. Users accumulate swaps across all phases.
Likelihood: HIGH
Phase transitions happen automatically based on block numbers
No additional action needed, accumulation is passive
Affects every user transitioning between phases
Impact: HIGH
User can swap 1% in Phase 1 + 5% in Phase 2 = 6% total (should be max 1% then max 5%)
Early launch protection is weakened across multiple phases
Bot can gradually accumulate beyond intended limits
Direct fund loss: cumulative limit bypass
The PoC makes a swap in Phase 1, then advances blocks into Phase 2 and swaps again. The “swapped amount” counter keeps increasing instead of resetting, proving the contract doesn’t clear per user tracking when the phase changes.
eset each user’s tracked amount whenever the phase changes. That way each phase starts with a clean limit, and users can’t carry over old swaps into the next phase.
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.