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.