The FeeCollector contract's _initializeFeeTypes() function contradicts its own invariant by initializing feeTypes[6] and feeTypes[7] with share values totaling only 2000 basis points (20%) instead of 10000 (100%). This violates a core contract invariant that is explicitly enforced in the updateFeeType function.
The contract enforces a strict invariant in updateFeeType:
This check ensures that fee shares must total exactly 10000 basis points (100%). However, the initialization violates this invariant:
Fee distributions for swap tax and NFT royalties will be miscalculated.
Align initialization values with the contract's invariant by using correct basis points:
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.