Fundamentally flawed mintRewards function in RAACMinter.sol. It incorrectly attempts to directly transfer excessTokens which are minted to the stabilityPool, not held in the minter contract .
The mintRewards function in RAACMinter.sol operates under the incorrect assumption that excessTokens are available within the RAACMinter contract for direct transfer. In reality, excessTokens are accumulated as a counter in RAACMinter, but during the tick() function, these accumulated tokens are minted and transferred to the stabilityPool.
Problematic Code Snippet:
The mintRewards function checks excessTokens >= amount and attempts to directly safeTransfer(to, amount). However, excessTokens are minted to the stabilityPool in tick(), meaning they are not available in the RAACMinter contract for direct transfer. This makes the conditional logic and direct transfer in mintRewards fundamentally flawed and impossible to execute as intended.
mintRewards Functionality Broken: The mintRewards function will not work as intended because it attempts to transfer tokens that are not held by the RAACMinter contract.
Reward Distribution Failure: The intended mechanism for distributing rewards via mintRewards is broken.
Manual code review.
Completely redesign the mintRewards function. The current logic is based on a false premise and cannot function as intended.
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.