The mintRewards function in the Minter contract incorrectly assumes that the excessTokens variable represents actual tokens held in the contract. However, the tick function updates excessTokens while transferring tokens to the Stability Pool, leading to a scenario where mintRewards attempts to transfer excess tokens but transaction reverts due to insufficient balance.
The tick function is responsible for minting reward tokens for the Stability Pool based on the emission rate.
It updates excessTokens with the amount of tokens to be minted and then transferring them to the Stability Pool, it means contract balance is not updated despite that excessToken variable has been updated.
The mintRewards function attempts to use excessTokens to transfer tokens before minting new ones. However, since contract doesn't have as much as excessToken balance, the transfer function reverts.
If mintRewards tries to transfer excessTokens and the contract does not have a sufficient balance, the transaction reverts.
The tick function incorrectly increments excessTokens while contract balance is not added.
The mintRewards function assumes that excessTokens reflects actual token balance.
The mintRewards function fails when attempting to transfer excessTokens, causing reward distribution to break.
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.