The RAACMinter
contract's mintRewards
function incorrectly assumes that excess tokens are retained within the minter contract. However, all tokens are minted directly to the StabilityPool
, leaving no tokens in the contract itself. This results in the mintRewards
function potentially failing when attempting to transfer tokens that are not present in the contract.
The excessTokens
variable is intended to track tokens that remain in the minter contract after emissions. However, the tick
function mints all calculated tokens directly to the StabilityPool
, leaving no tokens in the minter contract. When mintRewards
is called and excessTokens
is bigger than 0 , it attempts to use excess tokens and mint the rest. Since the tokens are not actually present in the contract, this operation can fail, leading to a revert.
The mintRewards
function may fail, preventing the distribution of rewards and disrupting the protocol's reward mechanism.
Manual
Adjust the logic to ensure that excessTokens
accurately reflects the tokens available within the minter contract. Consider minting tokens to the minter contract first and then transferring them to the StabilityPool
as needed.
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.