L2TokenReceiver contract doesn't have a mechanism to utilize its balance from withdrawn positions.
L2TokenReceiver contract is meant to receive the bridged overPlus staked stETH on L1, and utilizing them to farm yield by providing them to a wstETH Uniswap pool.
This contract has three functions to interact with Uniswap:
increaseLiquidityCurrentRange function that calls Uniswap NonfungiblePositionManager contract to increase liquidity of the created positions.
swap function that interacts with Uniswap SwapRouter to swap contract tokens.
collectFees function that interacts with Uniswap NonfungiblePositionManager to close created positions.
But it was noticed that L2TokenReceiver contract doesn't have any mechanism to utilize its tokens balance that's accumulated from the closed liquidity positions (by moving them from the contract to the entitled receipients).
This will render the contract inefficient as it will not be able to utilize the received yield from the created postions
Manual Review.
Add a function that enables the contract owner from making external calls, so that he can transfer its balanced to other parties to be utilizied instead of being stuck in the contract.
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.