KLAYswap
English
English
  • Introduction
  • Protocol Overview
  • Core Concept
  • KLAYswap Advantages
  • Risk & Security
  • Privacy Policy
  • Audit
  • TOKENOMICS
    • KSP
      • KSP TOKENOMICS
      • Automation of KSP distribution rate
        • Voting policy on passing governance
        • KSP distribution ratio reflection policy
      • KSP Allocation
  • PRODUCT
    • SWAP
    • Single-side Deposit
      • Detailed policy of Single Deposit
    • Pair Deposit
    • V3 Pair Deposit
      • V2 to V3 Migration
        • V2 to V3 Migration Guide
        • V2 to V3 Migration Policy
      • V3 Pair Deposit
        • V3 Deposit Guide
        • V3 pair Deposit Policy
      • V3 to V3 Migration
        • V3 to V3 Migration Guide
        • V3 to V3 Migration Policy
      • V3 Pair Withdraw
        • V3 Withdraw Guide
        • V3 Withdraw Policy
    • Plus Deposit
      • Detailed policy of Plus Deposit
    • Long/Short Position Deposit
      • Open and Close Long/Short Positions
        • Open Short Positions
        • Open Long Positions
        • Remove Long Position
        • Remove Short Position
      • Position Deposit Details Policy
    • KSP Staking & Voting
      • Staking, Pool Voting Policy
    • Governance
      • Governance Voting Policy
    • Drops
    • Ecopot
    • Pool Airdrop
    • APR & APY
      • TVL
      • Pool
      • Staking
    • Interest rate
  • DEVELOPERS
    • Contract
      • Factory
      • Exchange
      • PoolVoting
      • VotingKSP
      • Treasury
      • Distribution
      • Governor
      • SinglePool
      • SinglePool Factory
      • PlusPool
      • PlusPool Factory
      • Store
      • Utils
      • Single/Plus Utils
      • Helper
      • EcoPotVoting
      • EcoPot
      • V3
        • V3Factory
        • V3Pool
        • NonfungiblePositionManager
        • NonfungibleTokenPositionDescriptor
        • V3SwapRouter
        • V3Migrator
        • V3Estimator
        • PositionMigrator
        • V3Treasury
        • V3AirdropOperator
        • UniversalRouter
    • Airdrop
      • Set Airdrop Operator
      • Start Airdrop
    • EcoPot
      • Set EcoPot
      • Start EcoPot
  • HOW-TO GUIDES
    • KLAYswap Guide
    • How to add liquidity on KLAYswap
    • [Burrito Wallet] How to deposit assets using mobile devices?
    • How to create a liquidity pool on KLAYswap
    • How to stake and vote on KLAYswap
    • How to deposit assets
      • Deposit Klaytn-based assets
      • Deposit Ethereum-based assets
      • Deposit XRP
    • FAQ
  • KLAYswap
  • Orbit Bridge
  • KLAYswap git
  • Orbit Bridge git
  • KLAYswap audit report
Powered by GitBook
On this page
  • Code
  • Address
  • Events, Read-Only Functions, and State-Changing Functions

Was this helpful?

  1. DEVELOPERS
  2. Contract
  3. V3

PositionMigrator

PreviousV3EstimatorNextV3Treasury

Last updated 1 year ago

Was this helpful?

This contract migrates position. This contract helps to deposit the assets deposited in the position and deposit them in the new position.

Code

Github Link: (Will be updated after official launch)

Address

  • Cypress :

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:

Name
Type
Description

user

address

user address

token0

address

token0 address

token1

address

token1 address

fee

uint24

fee

burnId

uint256

tokenId of migrated position

mintId

uint256

tokenId of the newly minted position

Zap

event Zap(
    address user, 
    address token0, 
    address token1, 
    uint24 fee, 
    uint256 amount, 
    bool zeroForOne, 
    uint256 tokenId
)

Parameters:

Name
Type
Description

user

address

user address

token0

address

token0 address

token1

address

token1 address

fee

uint24

fee

amount

uint256

amount to deposit

zeroForOne

bool

When depositing with token0: true

When depositing with token1: false

tokenId

uint256

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:

Name
Type
Description

tokenId

uint256

tokenId to migrate

burnAmount0Min

uint256

The minimum value of token0 you will receive upon withdrawal

burnAmount1Min

uint256

The minimum value of token1 you will receive upon withdrawal

tokenIn

address

Address of token to be swapped

swapAmountIn

uint256

token amount to be swapped

swapAmountOutMin

uint256

Minimum value of tokens to be received in swap

tickLower

int24

Minimum ticks of new positions to be minted

tickUpper

int24

Minimum ticks of new positions to be minted

mintAmount0Min

uint256

Minimum value of token0 to be minted in the new position

mintAmount1Min

uint256

Minimum value of token1 to be minted in the new position

deadline

uint256

deadline

compoundFee

bool

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:

Name
Type
Description

pool

contract IUniswapV3Pool

pool address to deposit

amount

uint256

token amount to deposit

tickLower

int24

Minimum tick of position to deposit

tickUpper

int24

Maximum tick of position to deposit

zeroForOne

bool

Whether the token to be deposited is token0

mintAmount0Min

uint256

Minimum value of token0 to be minted in the position to be minted

mintAmount1Min

uint256

Minimum value of token1 to be minted in the position to be minted

tokenId

uint256

tokenId to mint as Zap

'0' on first mint

deadline

uint256

deadline

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

0xb43879a835FD2097515b7B5C6c549929F1666bFc