FeeCollector
transfers fees on RAACToken
balance updates to the Treasury
contract, but there is no way to withdraw them from the treasury.
FeeCollector
transfers fees to the treasury
and repairFund
in the _processDistributions
(link) and emergencyWithdraw
(link) methods using the SafeERC20's safeTransfer
method. Treasury
contract has withdraw
method that requires balance (link), but FeeCollector
does not using deposit
method, so balances stored in the Treasury
contract will be out of sync with balances stored in the RAACToken
contract and withdraw
method will throw error InsufficientBalance
error.
All collected fees are useless since they can not be withdrawn from the Treasury's balance.
Manual code review
Don't store balances in the Treasury
contract (rely on the token's balances) or use it's deposit
/withdraw
methods
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.