해당 컨트랙트는 V3 포지션을 마이그레이션합니다. 이 컨트랙트는 포지션에 예치된 자산을 예치하고 새로운 포지션에 예치하는 데 도움이 됩니다.
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:
Zap
event Zap(
address user,
address token0,
address token1,
uint24 fee,
uint256 amount,
bool zeroForOne,
uint256 tokenId
)
Parameters:
1
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:
ZappingParams
struct ZappingParams {
contract IUniswapV3Pool pool;
uint256 amount;
int24 tickLower;
int24 tickUpper;
bool zeroForOne;
uint256 mintAmount0Min;
uint256 mintAmount1Min;
uint256 tokenId;
uint256 deadline;
}
Parameters:
State-Changing Functions
migrate
function migrate(
struct MigrationParams calldata params
) external
포지션에 예치된 자산을 예치하고 새로운 포지션에 예치합니다.
zapWithETH
function zapWithETH(
struct ZappingParams memory params
) external
ETH로 풀에 입금할 수 있도록 도와주는 기능
zapWithToken
function zapWithToken(
struct ZappingParams memory params
) external
하나의 자산 토큰으로 풀에 입금할 수 있도록 도와주는 기능