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

SinglePool

This contract is a single pool contract, where liquidity providers deposit/withdraw assets, and Plus Pool users bring or return utilized assets from a single pool.

Code

Github Link: (Will be updated after official launch)

Address

Contract adress after production is deployed (scope link)

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

Events

GiveReward

event GiveReward(address user, uint amount, uint lastIndex, uint rewardSum);
  • Event log of when mined KSP is claimed and distributed

Deposit

event Deposit(address user, uint depositAmount, uint depositTokens, uint totalAmount, uint totalSupply);
  • Event log of single pool liquidity additions

  • Parameters

    • user : user address

    • depositAmount : amount of tokens deposited by the user

    • depositTokens : amount of single pool tokens deposited

    • totalAmount : total amount of tokens deposited

    • totalSupply : total amount of single pool tokens deposited

Withdraw

event Withdraw(address user, uint withdrawAmount, uint withdrawTokens, uint totalAmount, uint totalSupply);
  • Event log of single pool liquidity removals

  • Parameters

    • user : User address

    • withdrawAmount : The amount of tokens removed by the user

    • withdrawTokens : The amount of single pool tokens removed by the user

    • totalAmount : Total amount of tokens deposited

    • totalSupply : Total amount of single pool tokens deposited

Borrow

event Borrow(address user, address plusPoolAddress, uint borrowAmount, uint accountBorrows, uint totalBorrows);
  • Event log of using assets utilized during plus deposit

  • Parameters

    • user : user address

    • plusPoolAddress : Plus Pool address

    • borrowAmount : The amount of tokens utilized

    • accountBorrows : Total amount of assets utilized by users

    • totalBorrows : Total amount of single pool utilized

Repay

event Repay(address user, address plusPoolAddress, uint repayAmount, uint accountBorrows, uint totalBorrows);
  • Event log of used assets are returned

  • Parameters

    • user : User address

    • plusPoolAddress : PlusPool address

    • repayAmount : The amount of returned asset tokens

    • accountBorrows : Total amount of assets utilized by users

    • totalBorrows : Total amount of single pool utilized

Read-Only Functions

name

  • "I" + token name

symbol

  • "i" + token symbol

decimals

  • 18

token

  • KIP7 token address

totalSupply

  • mint/burn depending on liquidity addition/removal

balanceOf

  • Number of LP tokens held by each address

allowance

  • Status of approval to spender for each address

getCash

  • Number of tokens held by contract

reserveFactor

  • KSP buyback & burn allocation ratio among utilization fees

  • It is a value between 0 and 10^18, in units of 0.000000000000000001%

  • Default - 200000000000000000

totalBorrow

  • Total Assets Utilized

mining

  • The ratio of KSPs distributed to a single pool mined by that pool

  • It is a value between 0 and 10000, in units of 0.0001%

lastMined

  • SinglePoolFactory.mined() value at the last time the pair updated the index

withdrawActive

function withdrawActive() public view returns (bool)
  • Whether single pool withdrawal is possible

depositActive

function depositActive() public view returns (bool)
  • Whether single pool deposit is possible

State-Changing Functions

transfer

function transfer(address _to, uint _value) public returns (bool)
  • KIP7 Standard

  • Method to transfer tokens

transferFrom

function transferFrom(address _from, address _to, uint _value) public returns (bool)
  • KIP7 Standard

  • Method to transfer tokens on behalf of the approved wallet

approve

function approve(address _spender, uint _value) public returns (bool)
  • KIP7 Standard

  • Method to approve a transfer as much as value to spender

depositKlay

function depositKlay() public payable
  • Method used to provide liquidity when token is KLAY

  • Liquidity of the KLAY msg.value

depositKct

function depositKct(uint depositAmount) public
  • Method used to provide liquidity when token is KIP7 standard token

  • Liquidity of the number of deposit amount is provided

withdraw

function withdraw(uint withdrawAmount)
  • Method to withdraw tokens to msg.sender wallet.

  • withdrawAmount : Number of token amount to withdraw

withdrawByAmount

function withdrawByAmount(uint withdrawTokens)
  • Method to withdraw tokens to msg.sender wallet.

  • withdrawTokens : Number of SinglePool liquidity token amount to withdraw

addReserves

function addReserves(uint addAmount) external payable
  • Method to transfer tokens to using buyback KSP

  • addAmount : Number of token

claimReward

function claimReward() public
  • Method that a user calls to claim the claimable KSP and airdrop that has accumulated for the pair

  • When called, KSP is claimed from the Factory and paid to msg.sende

  • Even if the method is not called directly, it is automatically called when the SinglePool token balance of the user’s wallet changes.

    • When liquidity is added

    • When liquidity is removed

PreviousGovernorNextSinglePool Factory

Last updated 2 years ago

Was this helpful?