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

V3Factory

PreviousV3NextV3Pool

Last updated 1 year ago

Was this helpful?

This contract deploys V3 pools and manages ownership and control over pool protocol fees

Code

Github Link: (Will be updated after official launch)

Address

  • Cypress : :

Events, Read-Only Functions, and State-Changing Functions

Events

PoolCreated

event PoolCreated(
    address indexed token0,
    address indexed token1,
    uint24 indexed fee,
    int24 tickSpacing,
    address pool,
    uint256 exid
)

Emitted when a pool is created

Parameters:

Name
Type
Description

token0

address

The first token of the pool by address sort order

token1

address

The second token of the pool by address sort order

fee

uint24

The fee collected upon every swap in the pool, denominated in hundredths of a bip

tickSpacing

int24

The minimum number of ticks between initialized ticks

pool

address

The address of the created pool

FeeAmountEnabled

event FeeAmountEnabled(
    uint24 fee,
    int24 tickSpacing
)

Emitted when a new fee amount is enabled for pool creation via the factory

Name
Type
Description

fee

uint24

The enabled fee, denominated in hundredths of a bip

tickSpacing

int24

The minimum number of ticks between initialized ticks for pools created with the given fee

Read-Only Functions

getPoolCount

function getPoolCount() external view override returns (uint256);

Get the number of pools created in V3

Name
Type
Description

uint256

The number of pools created in V3

getPoolAddress

function getPoolAddress(uint256 idx) external view override returns (address);

Parameters:

Name
Type
Description

idx

uint256

The index number

Name
Type
Description

address

The address of the pool

function getPool(
    address tokenA,
    address tokenB,
    uint24 fee
) external view returns (address pool)

Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist

tokenA and tokenB may be passed in either token0/token1 or token1/token0 order

Name
Type
Description

tokenA

address

The contract address of either token0 or token1

tokenB

address

The contract address of the other token

fee

uint24

The fee collected upon every swap in the pool, denominated in hundredths of a bip

Name
Type
Description

pool

address

The pool address

function feeAmountTickSpacing(
    uint24 fee
) external view returns (int24)

Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled

A fee amount can never be removed, so this value should be hard coded or cached in the calling context

Name
Type
Description

fee

uint24

The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee

Type
Description

int24

tick spacing

State-Changing Functions

createPool

function createPool(
    address tokenA,
    address tokenB,
    uint24 fee
) external returns (address pool)
  • Creates a pool for the given two tokens and fee

  • tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee.

Name
Type
Description

tokenA

address

One of the two tokens in the desired pool

tokenB

address

The other of the two tokens in the desired pool

fee

uint24

The desired fee for the pool

Name
Type
Description

pool

address

The address of the newly created pool

function enableFeeAmount(
    uint24 fee,
    int24 tickSpacing
) external

Enables a fee amount with the given tickSpacing

Fee amounts may never be removed once enabled

Name
Type
Description

fee

uint24

The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6)

tickSpacing

int24

The spacing between ticks to be enforced for all pools created with the given fee amount

Parameters:

Return Values:

Return Values:

getPool

Parameters:

Return Values:

feeAmountTickSpacing

Parameters:

Return Values:

Parameters:

Return Values:

enableFeeAmount

Parameters:

0xA15Be7e90df29A4aeaD0C7Fc86f7a9fBe6502Ac9
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​