UpliftOnlyExample::onAfterSwap is responsible for calculating fees during swaps by deducting a portion of the tokens received from the vault and sending the remainder to the user.
The portion allocated to fees is divided into quantAMMFeeTake and ownerFee, but ownerFee can lead to issues.
This specific fee is sent as a token to the router's address, which is problematic because there is no function to extract those tokens from the contract, leaving them permanently trapped.
Loss of value intended for the owner.
It's worth noting that replacing the address designated for the owner could cause issues in some variants. If the contract ownership is renounced, sending tokens to the zero address could result in reverts.
Manual Review
Store a specific address in the contract's storage to receive the router fees.
Likelihood: High, every swap. Impact: High, funds are stuck.
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.