USDC may activate fees in the future, which will break accounting, and cause issue when people will try to redeem ZENO.
USDC has a fee switch that could be activated in the future.
If this is the case, the amount of USDC received by Auction
will not be the same as registered by the ZENO contract, causing funds to be stuck in the contract, and some users not able to withdraw their fair share.
E.g, if fee are 10% (for simplicity purpose), and users buy 100 ZENO, only 90 USDC will be received by the contract.
Now let's say 10 users do the same, they will hold 1000 ZENO, but the contract will hold 900 USDC.
If 9 users calls redeemAll()
, they will withdraw the entire 900 USDC from the contract, and the tenth user will not be able to redeem its ZENO.
The amount minted is equal to the amount
entered by the user, which does not factor possible fees:
When redeeming, the users will redeem more than the vault has received from them in term of USDC:
Measure the real amount received by the contract using a USDCBalanceAfter - USDCbalanceBefore
logic, and mint that value of ZENO to the user.
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.