With the Uniswap Router is it possible to remove liquidity from one side of an LP? I know there is a function for providing liquidity to one side, but haven't been able to find a function for removing liquidity from one side. Also, would the contract which is executing this function have to have some balance of LP tokens?
When you add liquidity to create a new position in Uniswap v3, you select a price range for that position. The price range remains constant for the lifetime of the position. Any subsequent calls to
decreaseLiquidity cannot change this price range.
If the current price of the pool is outside the price range of the position, then calling
decreaseLiquidity will result in just one of the pool's tokens being made available for collection. This is because the whole position is on a single side of the price. There is no way how the caller can change this behavior, except by changing the price in the whole pool.