Inconsistent ZENO token price peg between auction minting and redemption. Auction sells ZENO at a variable price, while redemption is fixed at a 1:1 USDC ratio, potentially creating an unintended discrepancy.
The Auction.sol
contract mints ZENO tokens at a dynamic price that decreases over time, starting from startingPrice
down to reservePrice
. This minting price is not fixed at a 1:1 ratio with USDC. However, the ZENO.sol
contract redeems ZENO tokens at a fixed 1:1 ratio for USDC in the redeem
and redeemAll
functions, regardless of the original purchase price.
Code Snippets:
Auction.sol (getPrice function - dynamic minting price):
ZENO.sol (redeem function - fixed 1:1 redemption):
This discrepancy means users might purchase ZENO at a price lower than 1 USDC per ZENO during the auction, but are guaranteed a 1:1 redemption rate at maturity.
Potential Arbitrage/Economic Imbalance: The fixed 1:1 redemption after a potentially lower auction price could create arbitrage opportunities or unintended economic consequences.
Unclear Intended Behavior: It's unclear if this 1:1 redemption is intentional despite the dynamic auction price, or if it's an oversight in the design.
Manual code review.
Clarify the intended behavior regarding ZENO price peg between auction and redemption.
Reconsider Redemption Logic: If the 1:1 redemption is not intended, or if the discrepancy creates undesirable economic effects, reconsider the redemption logic in ZENO.sol
to align it with the auction's pricing mechanism or the overall project goals.
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.