getInputAmountBasedOnOutput uses incorrect multiplier, resulting in incorrect calculation.
getInputAmountBasedOnOutput calculates input amount from output amount using wrong multiplier.
As you can see in above code, it uses 10000 as multiplier, but it should be 1000 (based on Uniswap Math).
Since the user has to transfer 10 times the amount of input tokens than expected, this kind of transaction will have a huge impact on the pool operation, eventually causing the pool to stop functioning and users losing their funds.
Manual review
Use correct multiplier.
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.