Since sequencer liveness is not checked and the protocol will be deployed in any EVM-compatible chain including L2s, Zeno tokens will not be completely sold or will be sold at lower prices than intended.
The Zeno tokens are solved via an auction. The price of these tokens is determined via this linearly decreasing curve:
And this is the buy function:
Look at two things - getPrice()
and whenActive
modifier:
If the sequencer goes down, let's say a little after the start time and comes back online after it ends, then because of this whenActive
modifier, the auction will not be completed and totalRemaining
will never be decreased. Also, if let's say the sequencer went offline as soon as the auction started but came back online before the auction ended, this allows users to buy the Zeno tokens at a much cheaper price, leading to protocol loss.
Please look at these similar issues:
The intended amount of tokens may not be sold or the Zeno tokens can be bought at much cheaper prices.
Manual review
Check sequencer uptime and invalidate the auction if the sequencer was ever down during the auction period.
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.