The FeeCollector::collectFee function is publicly accessible, allowing any user to send fees to the contract. However, this function is never called throughout the codebase, meaning there is no mechanism that requires or incentivizes users to call it, nor are fees properly charged during relevant protocol operations. This results in an ineffective fee collection mechanism that relies on voluntary user actions, making it difficult for the protocol to accumulate fees.
The collectFee function is designed to allow the protocol to accumulate fees. However, since it is never invoked in the codebase, it effectively serves as a donation mechanism rather than a structured fee collection process. Users have no reason to voluntarily call this function, leading to a situation where the protocol struggles to gather operational fees.
Steps to Reproduce
Deploy the FeeCollector contract.
Observe that the collectFee function is never invoked in the codebase.
No automated fee collection mechanism calls this function, and users have no incentive to do so.
The protocol struggles to accumulate fees as a result.
No Automatic Fee Accumulation: The protocol fails to generate sustainable fee revenue.
Reliance on User Donations: Since no system component calls this function, fees can only be collected if users voluntarily send them, which is highly unlikely.
Protocol Financial Instability: Without a proper fee collection mechanism, the protocol lacks a structured way to sustain operations.
VSCode, Manual Review
Integrate collectFee Into fee-generating actions: Modify the protocol to ensure that fee-generating operations, such as token transfer or token burn, call collectFee automatically when relevant transactions occur.
For example, integrate the function into the RAAC Token transfer, instead of directly sending token to FeeCollector
The Fix in RAACToken::_update
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.