The onAfterSwap function in the UpliftOnlyExample contract collects swap fees into the contract's address but does not include any mechanism to transfer or utilize these fees. As a result, the accumulated fees become permanently stuck in the contract, rendering them inaccessible.
The function calculates hookFee and sends part of it (adminFee) to the QuantAMM admin address. The remaining portion (ownerFee) is sent to the UpliftOnlyExample contract itself. But currently there is no implementation within the contract to transfer or utilize the accumulated ownerFee.
}
Swap fees meant for the contract owner or other beneficiaries are irrecoverable
Manual
Add a function that allows the contract owner or an authorized address to withdraw the accumulated fees. function
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.