V2Factory
The Factory smart contract oversees the full functionality of token pair registration and transactions in KLAYswap. It is also a token contract for KLAYswap's KSP governance token that complies with the KIP7 standard, and a smart contract that implements all functions related to KSP mining.
Code
Github Link: (Will be updated after official launch)
Address
Events, Read-Only Functions, and State-Changing Functions
Events
CreatePool
event CreatePool(
address token0,
uint256 amount0,
address token1,
uint256 amount1,
uint256 fee,
address exchange,
uint256 exid
);Event to create new liquidity pool
parameters
token0: token0 address in pairamount0: token0 amount in pooltoken1: token1 address in pairamount1: token1 amount in poolfee: pool fee rate exchange :exchange: contract address of this poolexid: exchange id
Read-Only Functions
owner
Governance Contract Address
pools
List of liquidity pool pairings
Each item saves the smart contract address of the liquidity pool
poolExist
Returns if the contract for the given liquidiy pool pair exists
tokenToPool
When the addresses of tokenA and tokenB are inputted, this returns the contract address of the corresponding pairing
Returns the same contract address regardless of the order of the liquidity pool pairing tokens:
tokenToPool[tokenA][tokenB] == tokenToPool[tokenB][tokenA]
createFee
The amount of KSP that must be paired to create a new liquidity pool pair
deprecated
getPoolCount
function getPoolCount() public view returns (uint)Returns the current number of registered liquidity pools.
getPoolAddress
function getPoolAddress(uint idx) public view returns (address)Returns the liquidity pair contract address of the pair's index.
State-Changing Functions
createKlayPool
function createETHPool(address token, uint256 amount, uint256 fee) public payableA method called to add a liquidity pair with one side as KLAY
Token for when the KLAY-KIP7 pair to be registered has never been registered before
Parameters
token: KIP7 token address to add liquidityamount: the amount of tokens (KIP7) to be provided for the initial liquidityfee: Sets the initial fee value for liquidity pairsA value between 30 and 100
Meaning: 30 -> 0.3%, 100 -> 1%
msg.value: KLAY quantity to initially supply liquidityDelivers the transaction value without specifying otherwise
createTokenPool
function createTokenPool(address token0, uint256 amount0, address token1, uint256 amount1, uint256 fee) publicA method called to add a liquidity pair with both ERC20
Token for when the ERC20-ERC20 pair to be registered has never been registered before
parameter
token0: The address of the first tokenamount0: The quantity of the first token that supplies the initial liquiditytoken1: The address of the second tokenamount1: The quantity of the second token that supplies the initial liquidityfee: Sets the initial fee value for liquidity pairs
Last updated
