There are different types of fees as mentioned in the protocol. And they are all initialized by _initializeFeeTypes()
in the constructor. However in the constructor the summation of :
Buy/Swap Sell tax = 2000
NFT Royalty Fees = 2000
However when you update the feeType with the help of updateFeeType()
there is a validation that the summation of all the shares of a FeeType = BASIS_POINTS
= 10000
which isn't the ideal case and is not enforced even before.
This is what the distribution of the shares of different feeTypes is during the time of initialization. The summation of all the shares of the fee type is expected to be 10_000
. However this is not the case even at the time of initialization.
And with the udpateFeeType()
there is validation which enforces the case :
FEE MANAAGER cannot modify improperly initialized fee types, breaking protocol upgradeability and potentially locking funds in incorrect distributions. And also while processing fees it is calculated on the basis of 10_000
Manual Review
Align initial fee type shares to sum to BASIS_POINTS or adjust the validation logic to handle variable total shares if intended.
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.