ConcentratedLiquidityPool
It is an AMM Pool contract implemented with concentrated liquidity, and provides low-level methods for liquidity supply / removal / fee receipt / swap.
Last updated
It is an AMM Pool contract implemented with concentrated liquidity, and provides low-level methods for liquidity supply / removal / fee receipt / swap.
Last updated
Concentrated Liquidity Pool
is a core contract among Pangea's Exchange Modules, and performs 6 major functions.
MINT : Creates position
BURN : Burns position
SWAP : Swaps in pool
COLLECT : Receives accrued swap fee
FLASH : Performs a flash loan
DEPOSIT_AIRDROP : Deposits airdrop reward (deposited airdrop rewards are distributed linearly for 1 week)
The Concentrated Liquidity Pool is designed as a Non-Upgradable Contract and consists of low-level methods because it directly handles the user's assets.
It is recommended to call the ConcentratedLiquidityPool method through the high level contract ConcentratedLiquidityPoolManager and poolRouter rather than directly calling the ConcentratedLiquidityPool method.
Burns LP tokens - should be called via the Concentrated Liquidity pool manager contract.
Collects tokens owed to a position
Returns the address of the factory contract
The fee growth of token0 collected per unit of liquidity for the entire life of the pool
The fee growth of token1 collected per unit of liquidity for the entire life of the pool
Receives token0 or token1 and pays it back with fee
Returns the list of the tokens of the pool, sorted by address
Returns the price and nearestTick
Returns the reserve of token0 and token1
Returns the information about seconds growth global and the timestamp of the observation
Returns the current in range liquidity available to the pool
Returns the tick that is just below the current price.
Returns the information about the position
Sqrt of price aka. √(token1/token0), multiplied by 2^96.
Returns the fee growth of token0 & token1 inside the given price range
Swaps one token for another. The router must prefund this contract and ensure there isn't too much slippage.
1000 corresponds to 0.1% fee. Fee is measured in pips.
Returns the tick spacing of the pool.
Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be created every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ...Reference: tickSpacing of 100 -> 1% between ticks.
Looks up the information about a specific tick in the pool
Returns the address of the first of the two tokens of the pool, sorted by address
Returns the address of the second of the two tokens of the pool, sorted by address
Returns the number of ticks in the Pool, starts with two ticks (MIN_TICK ~ MAX_TICK)