distributeCollectedFees
deletes collectedFees
before token transfers. If a transfer fails (e.g., non-reverting token), fees are lost permanently.
The current implementation is a problem#distributeCollectedFees
Fee accounting becomes corrupted if transfers fail
Protocol revenue is permanently lost
veRAAC holders miss rewards
Treasury receives incorrect amounts
Protocol metrics become inaccurate
Manual Review
We should delete collectedFees
only after confirming all transfers succeeded (For example, using a temporary variable and update state post-transfers). By using this pattern, we safely stores fee state in memory, completes all transfers and updates state only after confirmed success
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.