The FeeCollector contract contains a misleading documentation for fee types. While the contract implementation properly handles 8 different fee types (0-7), each with distinct distribution parameters, the code comments suggest these are separate elements rather than clarifying that each fee type is a configuration of the same 4 share parameters (veRAACShare, burnShare, repairShare, treasuryShare).
The comment structure implies these are different fee components rather than clarifying that each type uses the same FeeType struct with different share configurations:
Misleading documentation could cause developer confusion
Risk of misunderstanding how fee types relate to distribution parameters
Potential integration errors if developers misinterpret fee type structure
Reduced code maintainability due to unclear documentation
The actual implementation in _initializeFeeTypes() shows how each fee type is really a configuration of the same 4 parameters:
Update the documentation to clearly explain the relationship between fee types and distribution parameters:
Manual code review
Documentation analysis
Contract implementation verification
Update documentation to clearly explain the relationship between fee types and FeeType struct
Add distribution percentages to the fee type documentation
Consider adding constants for fee type IDs to improve code readability
Add validation functions to verify fee type configurations
Consider adding events that show full fee type configurations when changes are made
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.