Normal Behavior:
The contract calculates fees for ReFi swaps using:
Observed Issue:
For very small swap amounts, integer division causes precision loss, rounding the fee down to zero:
swapAmount = 1, sellFee = 3000 → feeAmount = 0
swapAmount = 33, sellFee = 3000 → feeAmount = 0
swapAmount = 34, sellFee = 3000 → feeAmount = 1
Likelihood:
Only occurs on very small swaps (<34 wei for a 3% fee).
Real-world swaps are typically much larger.
Impact:
Fees may appear as zero for tiny swaps.
No actual protocol loss because Uniswap V4 handles fee collection internally.
Could slightly affect event reporting or analytics.
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.