Helpful?
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