Describe the normal behavior in one or more sentences
Explain the specific issue or problem in one or more sentences
The _resetPerAddressTracking() function is supposed to clear per-address swap limits and cooldowns when the protocol transitions between phases. However, it only resets mappings for address(0) instead of actual users:
This means addressSwappedAmount[user] and addressLastSwapBlock[user] persist indefinitely across all phases.
Impact: HIGH - Users who participated in Phase 1 have their swap amounts counted against Phase 2 limits. A user who swapped their full 1% Phase 1 allocation will only have 4% available in Phase 2 (instead of the intended 5%). This unfairly penalizes legitimate early participants.
Anti-Bot Protection Defeated: Bots can trivially bypass restrictions by using fresh wallets each phase (getting full limits), while legitimate users who participated early are penalized. This INVERTS the security model.
Use epoch-based tracking:
Likelihood:
Reason 1 // Describe WHEN this will occur (avoid using "if" statements)
Reason 2
Impact:
Impact 1
Impact 2
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.