This contract migrates position. This contract helps to deposit the assets deposited in the position and deposit them in the new position.
Events, Read-Only Functions, and State-Changing Functions
Events
MigratePosition
event MigratePosition(
address user,
address token0,
address token1,
uint24 fee,
uint256 burnId,
uint256 mintId
)
Parameters:
tokenId of migrated position
tokenId of the newly minted position
Zap
event Zap(
address user,
address token0,
address token1,
uint24 fee,
uint256 amount,
bool zeroForOne,
uint256 tokenId
)
Parameters:
When depositing with token0: true
When depositing with token1: false
tokenId of the newly issued position
Parameter Struct
MigrationParams
struct MigrationParams {
uint256 tokenId;
// Burn
uint256 burnAmount0Min;
uint256 burnAmount1Min;
// Swap
address tokenIn;
uint256 swapAmountIn;
uint256 swapAmountOutMin;
// Mint
int24 tickLower;
int24 tickUpper;
uint256 mintAmount0Min;
uint256 mintAmount1Min;
uint256 deadline;
bool compoundFee;
}
Parameters:
The minimum value of token0 you will receive upon withdrawal
The minimum value of token1 you will receive upon withdrawal
Address of token to be swapped
token amount to be swapped
Minimum value of tokens to be received in swap
Minimum ticks of new positions to be minted
Minimum ticks of new positions to be minted
Minimum value of token0 to be minted in the new position
Minimum value of token1 to be minted in the new position
Whether to deposit with fees
ZappingParams
struct ZappingParams {
contract IUniswapV3Pool pool;
uint256 amount;
int24 tickLower;
int24 tickUpper;
bool zeroForOne;
uint256 mintAmount0Min;
uint256 mintAmount1Min;
uint256 tokenId;
uint256 deadline;
}
Parameters:
Minimum tick of position to deposit
Maximum tick of position to deposit
Whether the token to be deposited is token0
Minimum value of token0 to be minted in the position to be minted
Minimum value of token1 to be minted in the position to be minted
tokenId to mint as Zap
'0' on first mint
State-Changing Functions
migrate
function migrate(
struct MigrationParams calldata params
) external
Deposit the assets deposited in the position and deposit them in the new position.
zapWithETH
function zapWithETH(
struct ZappingParams memory params
) external
A function that helps you deposit into a pool with ETH
zapWithToken
function zapWithToken(
struct ZappingParams memory params
) external
A function that helps you deposit into a pool with one asset token