이 컨트랙트는 단일풀 컨트랙트로써 유동성 제공자는 자산을 예치/출금하고 플러스풀 사용자는 활용자산을 단일풀에서 가져오거나 반환하게 됩니다.
Events, Read-Only Functions, and State-Changing Functions
Events
GiveReward
event GiveReward(address user, uint amount, uint lastIndex, uint rewardSum);
Deposit
event Deposit(address user, uint depositAmount, uint depositTokens, uint totalAmount, uint totalSupply);
Parameters
depositAmount : 예치한 Token 수량
depositTokens : 생성된 SP Token 수량
totalAmount : 풀에 예치된 총 Token 수량
totalSupply : 풀에 생성된 총 SP Token 수량
Withdraw
event Withdraw(address user, uint withdrawAmount, uint withdrawTokens, uint totalAmount, uint totalSupply);
Parameters
withdrawAmount : 출금한 Token 수량
withdrawTokens : 출금한 SP Token 수량
totalAmount : 풀에 예치된 총 Token 수량
totalSupply : 풀에 생성된 총 SP Token 수량
Borrow
event Borrow(address user, address plusPoolAddress, uint borrowAmount, uint accountBorrows, uint totalBorrows);
플러스 예치시 활용자산 이용시 발생하는 이벤트
Parameters
plusPoolAddress : 플러스풀 주소
borrowAmount : 활용자산으로 사용된 token 수량
accountBorrows : 사용자 총 활용자산 수량
totalBorrows : 단일풀 총 활용자산 수량
Repay
event Repay(address user, address plusPoolAddress, uint repayAmount, uint accountBorrows, uint totalBorrows);
Parameters
plusPoolAddress : 플러스풀 주소
repayAmount : 반환된 활용자산 token 수량
accountBorrows : 사용자 총 활용자산 수량
totalBorrows : 단일풀 총 활용자산 수량
Read-Only Functions
name
symbol
decimals
token
totalSupply
유동성 추가 제거에 따른 총 유동성 Token 수량
balanceOf
각 지갑 주소가 보유한 유동성 Token 수량
allowance
getCash
reserveFactor
활용수수료 중 KSP 바이백 & 소각 배정 비율
1 ~ 10^18, 단위 0.000000000000000001
totalBorrow
mining
단일풀에 분배되는 KSP 중 해당 풀이 채굴하는 비율
lastMined
마지막으로 수정된 SinglePoolFactory.mined() 값
withdrawActive
function withdrawActive() public view returns (bool)
depositActive
function depostiActive() public view returns (bool)
State-Changing Functions
transfer
function transfer(address _to, uint _value) public returns (bool)
transferFrom
function transferFrom(address _from, address _to, uint _value) public returns (bool)
approve
function approve(address _spender, uint _value) public returns (bool)
depositKlay
function depositKlay() public payable
depositKct
function depositKct(uint depositAmount) public
withdraw
function withdraw(uint withdrawAmount)
withdrawAmount : 출금할 토큰 수량
withdrawByAmount
function withdrawByAmount(uint withdrawTokens)
withdrawTokens : 출금할 단일풀 유동성 토큰(iToken) 수량
addReserves
function addReserves(uint addAmount) external payable
claimReward
function claimReward() public
호출시 누적된 KSP 보상이 존재할 경우 함께 사용자 지갑으로 전송
사용자가 직접 호출하지 않는 경우에도 아래와 같은 경우에 자동으로 호출