Fizzswap
English
English
  • Introduction
  • Protocol Overview
  • Core Concept
  • Risk & Security
  • Privacy Policy
  • Audit
  • Fizz Token
    • Fizzswap Protocol
  • PRODUCT
    • SWAP
    • V2 Pool
    • V3 Pool
      • Supply Liquidity to V3 pool
        • V3 Supply Guide
        • V3 Supply Policy
      • V3 to V3 Migration
        • V3 to V3 Migration Guide
        • V3 to V3 Migration Policy
      • Remove Liquidity from V3 Pool
        • V3 Remove Guide
        • V3 Remove Policy
  • GET STARTED
    • Create a Wallet
    • How to Transfer ETH to the Silicon Network
  • DEVELOPERS
    • Contract
      • V2Factory
      • Exchange
      • VotingRewardToken
      • V2Treasury
      • Distribution
      • Governor
      • V2Router
      • V2Helper
      • V3Factory
      • V3Pool
      • NonfungiblePositionManager
      • NonfungibleTokenPositionDescriptor
      • V3SwapRouter
      • V3Migrator
      • V3Estimator
      • PositionMigrator
      • V3Treasury
      • UniversalRouter
      • V3AirdropOperator
  • Fizzswap
  • Silicon Bridge
  • Github (fork)
  • Audit report (fork)
Powered by GitBook
On this page
  • Code
  • Address
  • Events, Read-Only Functions, and State-Changing Functions
Export as PDF
  1. DEVELOPERS
  2. Contract

PositionMigrator

PreviousV3EstimatorNextV3Treasury

Last updated 8 months ago

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

  • Silicon Mainnet :

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

0x922A9688D39F191b7f39EfFC2683DE2Cbe4463ad