UpliftOnlyExample and its extensions have no function to retrieve tokens since it's meant to be a router. However, if ownerfees are sent to the contract, making them to be lost forever.
When the onAfterSwap hook is called, the owner fee is calculated and sent to address(this) instead of to the owner.
The contract has no function to retrieve excess tokens, as a result the fees are lost forever.
Fees are lost, leading to loss of funds.
Manual Review
Send the fees to the owner instead, or introduce a function to retrieve excess tokens.
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.