The view function should return the same phase that will be used during actual swap execution.
getCurrentPhase() uses < while _beforeSwap() uses <=. At boundary blocks, the view function reports the wrong phase.
Likelihood:
Occurs at every phase boundary block
Any user swapping at exactly boundary blocks affected
Impact:
Users check getCurrentPhase() and see Phase 2
Users expect Phase 2 rules (lower penalties)
Users swap and actually get Phase 1 rules (higher penalties)
Frontends/dApps display incorrect phase information
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.