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.