The QuantAMMWeightedPool contract, utilize a functions called setQuantAMMUpliftFeeTake and getQuantAMMUpliftFeeTake (+). These two function supposed to be used for setting and getting uplift fee, However a specific variable for uplift fee has not been defined.
The code of setQuantAMMUpliftFeeTake and getQuantAMMUpliftFeeTake functions are exactly the same as setQuantAMMSwapFeeTake and getQuantAMMSwapFeeTake function. however these two function should set and get another variable which has not been defined yet.
Users may end up paying more than they anticipated as a fee when the protocol does not differentiate between the swap fee and the uplift fee.
Manual review
Consider defining a variable for uplift fee (Lets call it quantAMMUpliftFeeTake) and then change two mentioned functions like this:
Likelyhood: High, calling setters or getters Impact: Low/Medium, both getters return `quantAMMSwapFeeTake` and `setQuantAMMUpliftFeeTake` modify `quantAMMUplfitFeeTake`. Real impact: those 2 values will be always the same.
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.