LiquidityManagement
Internal functions for safely managing liquidity in Uniswap V3
Parameter Structs
AddLiquidityParams
    struct AddLiquidityParams {
        address token0;
        address token1;
        uint24 fee;
        address recipient;
        int24 tickLower;
        int24 tickUpper;
        uint256 amount0Desired;
        uint256 amount1Desired;
        uint256 amount0Min;
        uint256 amount1Min;
    }
Functions
uniswapV3MintCallback
  function uniswapV3MintCallback(
    uint256 amount0Owed,
    uint256 amount1Owed,
    bytes data
  ) external
Called to msg.sender after minting liquidity to a position from IUniswapV3Pool#mint.
In the implementation you must pay the pool tokens owed for the minted liquidity. The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory.
Parameters:
| Name | Type | Description | 
|---|---|---|
| amount0Owed | uint256 | The amount of token0 due to the pool for the minted liquidity | 
| amount1Owed | uint256 | The amount of token1 due to the pool for the minted liquidity | 
| data | bytes | Any data passed through by the caller via the IUniswapV3PoolActions#mint call | 
addLiquidity
  function addLiquidity(
    AddLiquidityParams memory params
  ) internal returns (uint128 liquidity, uint256 amount0, uint256 amount1, contract IUniswapV3Pool pool)
Add liquidity to an initialized pool