In the removeLiquidityProportional function of the upliftOnlyExample.sol contract, the LP (Liquidity Provider) token associated with the removed liquidity is not being burnt. Typically, when a user withdraws liquidity from a pool, their corresponding LP tokens are burnt to ensure that these tokens no longer represent ownership of the pool's liquidity. The absence of this burn mechanism can result in an accumulation of unburnt LP tokens, even though the associated liquidity has been withdrawn.
Below we can see that lp tokens are being minted in the add liquidity function:
But when removing liquidty tokens are not being burnt :
Users may retain their LP tokens after withdrawing liquidity, which could allow them to re-use these tokens for unauthorized interactions, such as claiming rewards or voting in governance systems tied to LP token holdings.
Manual audit
Add the burn mechanism for removed LP tokens
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.