ํ๋ก์ ํธ ์ค๊ณ ๊ฐ์ ๋ฐ ์ฉ์ด ์ ๋ฆฌ
Dex๋ ์ผ์ ํ ์์๊ณฑ์ผ๋ก ์๋๋๊ณ , ์ค๋งํธ ์ปจํธ๋ํธ๋ก ๊ตฌํ๋๋ ์๋ํ๋ ์ ๋์ฑ ํ๋กํ ์ฝ. ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅํ ์์คํ ์ผ๋ก ์ค๊ณ๋์์ผ๋ฏ๋ก ์ ์๋ ํ ํฐ ์ด์ฝ๋ ธ๋ฏธ๊ฐ ์๊ณ , Dex์ ๊ฐ ์ธ์คํด์ค๋ ๊ณ ์ ํ ํ ํฌ๋ ธ๋ฏน์ค๋ฅผ ์ ์.
DEX platform์ ๋ค๋ฅธ Dex protocol, farming๊ณผ staking ๊ฐ์ ๋ค๋ฅธ ์ค๋งํธ ์ปจํธ๋ํธ์ ๊ฒฐํฉํ์ฌ ์ฌ์ฉ๋ฉ๋๋ค.
Dex์์ ์ฌ์ฉํ๋ ์๋ํ๋ ์์ฅ ํ์ฑ ์๊ณ ๋ฆฌ์ฆ : x * y = k
.
constant product formula k
๊ฐ์ ๋ถ๋ณ.
Dex protocol์ ์ค๋งํธ ์ปจํธ๋ํธ ๋ด์์ ERC20์ KIP7 ํ ํฐ ํ์ค๊ณผ ํจ๊ป ์๋ํฉ๋๋ค.
Factory๋ KLAY/KIP7, KIP7/KIP7 ํ์ด์ ๋ํ ๊ณ ์ ํ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ๋ฐฐํฌํ๋ ์ค๋งํธ ์ปจํธ๋ํธ. DexFactory
contract ์ฐธ์กฐ.
Pair๋ KLAY/KIP7, KIP7/KIP7 ๋ฑ ๋๊ฐ์ ํ ํฐ ํ์ด๊ฐ์ ๊ฑฐ๋๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ค๋งํธ ์ปจํธ๋ํธ. DexPair
contract ์ฐธ์กฐ.
Token swap์ KIP7 ํ ํฐ์ ๋ค๋ฅธ ํ ํฐ๊ณผ ๊ตํํ๋ ํ์ ์ ๋๋ค. ๊ฐ ํ ํฐ ์์ liquidity pool์ ์ํด ๊ตฌ๋๋ฉ๋๋ค.
The DexPair
์ low-level swap๊ธฐ๋ฅ์ ์ ์ํ๊ณ , DexRouter
contract๋ ์ค์ ์์
์ ์ํํฉ๋๋ค.
Liquidity pool์ ๋ ๊ฐ์ ํ ํฐ์ ๋ณด์ ํ๊ณ deposit๊ณผ withdraw์ ๋ํ ๊ท์น์ ์ํํฉ๋๋ค. Farming and Staking ์ฐธ์กฐ.
A liquidity provider๋ liquidity pool์ ํด๋น ํ ํฐ ์์ ์์นํ๊ณ ๊ทธ ๋๊ฐ๋ก pool tokens์ ๋ฐ๋ ์ฌ๋. ๊ฐ๊ฒฉ ์ํ์ ๊ฐ์ํ๊ณ ์์๋ฃ๋ฅผ ๋ณด์์ผ๋ก ๋ฐ์ต๋๋ค.
ํ ํฐ ๊ตํ์ ๋ํ Liquidity Provider Fee๋ 0.3%์ด๋ฉฐ, ์ด๋ ์ ๋์ฑ ์ค๋น๊ธ์ ๋ํ ๊ธฐ์ฌ๋์ ๋น๋กํ์ฌ ์ ๋์ฑ ๊ณต๊ธ์์ ์ํด ๋ถํ ๋ฉ๋๋ค.
์ ๋์ฑ์ด ํ์ ์์น๋๋ฉด ์ ๋์ฑ ํ ํฐ(LP ํ ํฐ)์ผ๋ก ์๋ ค์ง ๊ณ ์ ํ ํ ํฐ์ด ๋ฐํ๋์ด ๊ณต๊ธ์์ ์ฃผ์๋ก ์ ์ก๋ฉ๋๋ค. ์ด ํ ํฐ์ ํ์ ๋ํ ์ฃผ์ด์ง ์ ๋์ฑ ๊ณต๊ธ์์ ๊ธฐ์ฌ๋๋ฅผ ๋ํ๋ ๋๋ค.
๊ณต๊ธ์๊ฐ ๋ฐ๋ ์ ๋์ฑ ํ ํฐ์ ์๋ ์ ๊ณต๋ ํ ์ ๋์ฑ์ ๋น์จ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. mint
์ฐธ์กฐ
JongDex๋ Core contracts์ Periphery contracts์ผ๋ก ๊ตฌ์ฑ๋ ์์คํ ์ธ Uniswap V2 ์ค๋งํธ ์ปจํธ๋ํธ ์์คํ ์ ์ฌ์ฉ.
Smart contracts are deployed in the following order:
- WKLAY (needed for testnet)
- Dex Factory
- Dex Router
- Dex Token(Platform Token)
- Farming
- Staking Factory
Factory (DexFactory
)์ปจํธ๋ํธ๋ ์์ง ๋ฐฐํฌ๋์ง ์์ KIP7/KIP7, KLAY/KIP7 ํ์ด ์์ ๊ณ ์ ํ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ๋ฐฐํฌํ๋ ์ค๋งํธ ์ปจํธ๋ํธ.
pair์์ด ๋ฐฐํฌ๋ ์์๋ allPairs
๋ฅผ ํตํด ์ก์ธ์ค ํ ์ ์์ต๋๋ค.
factory์ปจํธ๋ํธ๋ ๋ํ ํ๋กํ ์ฝ ์ ์ฒด์ fee ์์ ์๋ฅผ ๊ด๋ฆฌํ๋๋ฐ, feeToSetter
๋ฅผ ํตํด fee ์์ ์๋ฅผ ์ ์ํ๊ณ ๋ณ๊ฒฝํ ์ ์๋ address๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
Function | Description |
---|---|
createPair |
๋ ํ ํฐ ์์ ๋ํด pair๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ pair๋ฅผ ๋ง๋ญ๋๋ค. |
getPair |
๋ ํ ํฐ ์์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ทธ ์ฃผ์๋ฅผ ๋ฆฌํดํฉ๋๋ค. |
setFeeToSetter |
ํ๋กํ ์ฝ์ fee ์์ ์์ address๋ฅผ ์ค์ ํฉ๋๋ค. |
setFeeTo |
์ค์ ๋ ์ฃผ์๊ฐ ํ๋กํ ์ฝ ์ ์ฒด์ fee ์์ ์๋ฅผ ์ ์ดํ๋๋ก ํ์ฉํฉ๋๋ค. |
allPairsLength |
์ง๊ธ๊น์ง ์์ฑ๋ ๋ชจ๋ ํ ํฐ pair์ ์๋ฅผ ๋ฐํํฉ๋๋ค |
Pair (DexPair
) ๋ factory ์ปจํธ๋ํธ์ ์ํด ๋ฐฐํฌ๋๊ณ , 2๊ฐ์ KIP7 ํ ํฐ ๊ฐ ๊ฑฐ๋๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๊ฐ ํ ํฐ pair์ ์ค๋งํธ ์ปจํธ๋ํธ๋ 2๊ฐ์ KIP7 ํ ํฐ์ผ๋ก ๊ตฌ์ฑ๋ liquidity pool, ์ ๋์ฑ ํ์ ๊ด๋ฆฌํ๊ณ ํด๋น ํ ํฐ pair์ ์ต์ ์ ๋์ฑ์ MINIMUM_LIQUIDITY
๋ฅผ ํตํด ์ ์๋จ.
pair ์ปจํธ๋ํธ๋ ๋ค์๊ณผ ๊ฐ์ ๋ณ์๋ฅผ ๊ฐ๋๋ค. ๋ ํ ํฐ์ reserves, ์ต์ ๋ธ๋ก์ timestamp, ๋ ํ ํฐ์ ์ต์ ๊ฐ๊ฒฉ, ๊ทธ๋ฆฌ๊ณ ๋ reserves๋ก ๊ณ์ฐ๋ k๊ฐ.
Mint
event๋ lpํ ํฐ์ด ์์ฑ๋๋ฉด sender address์ ํ ํฐ pair์ ๊ฐ token amounts๊ฐ ๋ด๊ธด ์ ๋ณด์ ํจ๊ป ์ด๋ฒคํธ ๋ฐ์.Burn
event๋ lpํ ํฐ์ด ์๊ฐ๋ ๋, sender address์ recipient address, token amounts๊ฐ ๋ด๊ธด ์ ๋ณด์ ํจ๊ป ์ด๋ฒคํธ ๋ฐ์.Swap
event๋ swap์ด ๋ฐ์ํ์ ๋, sender address์ recipient address, swap amounts ๋ฐ received amounts๊ฐ ๋ด๊ธด ์ ๋ณด์ ํจ๊ป ์ด๋ฒคํธ ๋ฐ์Sync
event๋ mint, burn, swap์ ๊ฒฐ๊ณผ๋ก reserve๊ฐ ์ ๋ฐ์ดํธ ๋๋ฉด reserve ์ ๋ณด์ ํจ๊ป ์ด๋ฒคํธ ๋ฐ์
Function | Description |
---|---|
initialize |
๋ ํ ํฐ address๊ฐ ์ฃผ์ด์ง๋ฉด factory contract๋ pair contract๋ฅผ initializeํจ. pair contract๊ฐ ๋ฐฐํฌ๋ ๋ ํธ์ถ๋จ. |
getReserves |
ํ ํฐ pair์ ๋ํ ์ํธ ์์ฉ์ด ํฌํจ๋ ์ต์ ๋ธ๋ก์ ํ์์คํฌํ์ ํจ๊ป ๋ ํ ํฐ์ ๋ณด์ ๋์ ๋ฐํ |
mint |
lp ํ ํฐ ์์ฑ |
burn |
lp ํ ํฐ ์๊ฐ |
swap |
ํ ํฐ Swap |
mint
function์DexPair
์ปจํธ๋ํธ๋ฅผ ํตํด ์ ๋์ฑ์ด ์ถ๊ฐ๋ ๋ ํธ์ถ๋๋ ํจ์.
๋ง์ฝ ํ์ด ์๋ก ์์ฑ๋์๊ณ , lpํ ํฐ์ด ์์ง ์๋ ๊ฒฝ์ฐ liquidity๋ ๋ ํ ํฐ์ ๋ฐํ๋์ ๊ณฑ์์ ์์ ๊ฐ์ ๋นผ์ ๊ณ์ฐ๋ฉ๋๋ค.
sqrt(amount0 * amount1) - MINIMUM_LIQUIDITY
ํ์ ์ฒซ๋ฒ์งธ MINIMUM_LIQUIDITY
๋ ์๊ตฌ์ ์ผ๋ก lock.
ํ์ lpํ ํฐ ์ด ๊ณต๊ธ๋์ด 0์ด ์๋ ๊ฒฝ์ฐ์ ์ ๋์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ฉ๋๋ค.
-
๊ฐ ํ ํฐ์ ๋ฐํ๋์ ํ์ lpํ ํฐ ์๋ก ๊ณฑํ๊ณ ์ด ํ ํฐ์ ๋ณด์ ๋์ผ๋ก ๋๋๋๋ค.
-
๋ค์ ๋ ๊ฐ ์ค ์ต์๊ฐ์ ์ ํํฉ๋๋ค.
min((amount0 * _totalSupply) / _reserve0, (amount1 * _totalSupply) / _reserve1)
burn
function์ DexPair
contract๋ฅผ ํตํด ์ ๋์ฑ์ด ์ ๊ฑฐ๋ ๋ ํธ์ถ๋๋ ํจ์
pair์ ๊ฐ ํ ํฐ์ ๋ํด ์๊ฐํ ํ ํฐ์ ์์ ํ ํฐ ์์ก๊ณผ ํ ํฐ pair์ ์ ๋์ฑ์ ๊ณฑํ ๋ค์, ํ์ ์๋ lp ํ ํฐ ์๋ก ๋๋๋๋ค.
swap
function์DexPair
contract๋ฅผ ํตํด ํ ํฐ์ ๊ตํํ ๋ ํธ์ถ๋๋ ํจ์์
๋๋ค.
ํ ํฐ์ด ํธ์ถ ๋๊ธฐ ์ ์ pair๋ก ์ ์ก๋์ด์ผ ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
DexRouter contract๋ ์ ๋์ฑ์ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐํ๊ณ ํ ํฐ์ ๊ตํํ๋ ๊ธฐ๋ฅ์ ์ ์.
Functions for adding liquidity for a pair of tokens:
addLiquidity
function์ kip7/kip7 ํ์ ์ ๋์ฑ์ ๊ณต๊ธํ๋ ํจ์addLiquidityKLAY
function์ klay/kip7 ํ์ ์ ๋์ฑ์ ๊ณต๊ธํ๋ ํจ์
๋ง์ฝ pair๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ Factory contract๋ฅผ ํธ์ถํด ์ํ๋ ์์ ํ ํฐ์ผ๋ก ์ pair๋ฅผ ์์ฑํฉ๋๋ค.
์ด ํจ์๋ ํ๋ก ์ ์ก๋ ํ ํฐ์ ์๊ณผ mint๋ฅผ ํตํด ๋ฐํ๋ lpํ ํฐ์ ์์ returnํฉ๋๋ค.
There are multiple functions for removing liquidity for a pair of tokens:
removeLiquidity
function์ kip7/kip7 ํ์ ์ ๋์ฑ์ ์ ๊ฑฐํ๋ ํจ์removeLiquidityKLAY
function์ klay/kip7 ํ์ ์ ๋์ฑ์ ๊ณต๊ธํ๋ ํจ์
์ด ํจ์๋ ํ์์ ๋ฐ์ ํ ํฐ์ ์์ returnํฉ๋๋ค.
There are multiple functions for swapping tokens for different kinds of swap operations.
Functions for receiving tokens:
swapTokensForExactTokens
๊ฐ๋ฅํ ์ ์ amounts์ ํ ํฐ ์ ๋ ฅ๊ฐ์ ๋ํด ์ ํํ ์์ ์ถ๋ ฅ๋๋ ํ ํฐ์ amounts๋ก ๊ตํswapTokensForExactKLAY
๊ฐ๋ฅํ ์ ์ amounts์ ํ ํฐ ์ ๋ ฅ๊ฐ์ ๋ํด ์ ํํ ์์ ์ถ๋ ฅ๋๋ klay์ amounts๋ก ๊ตํswapKLAYForExactTokens
๊ฐ๋ฅํ ์ ์ amounts์ klay์ ๋ํด ์ ํํ amounts์ ํ ํฐ์ผ๋ก ๊ตํ.
Functions for sending tokens:
swapExactTokensForTokens
์ ํํ amounts์ ํ ํฐ ์ ๋ ฅ๊ฐ์ ๊ฐ๋ฅํ ๋ง์ amounts์ ํ ํฐ์ผ๋ก ๊ตํswapExactKLAYForTokens
์ ํํ amounts์ klay ์ ๋ ฅ๊ฐ์ ๊ฐ๋ฅํ ๋ง์ amounts์ ํ ํฐ์ผ๋ก ๊ตํswapExactTokensForKLAY
์ ํํ amounts์ ํ ํฐ ์ ๋ ฅ๊ฐ์ ๊ฐ๋ฅํ ๋ง์ amounts์ klay๋ก ๊ตํ
์ค์ ๊ธฐ๋ฅ์ ๋ํ ์ ๋ ฅ ํ๋ผ๋ฏธํฐ๋ path์ ๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ ์ฐ์ ์ฃผ์ pair์ ๋ํด pair contract๊ฐ ์ถฉ๋ถํ ์ ๋์ฑ์ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์์๋ ์ ๋ ฅ ํ ํฐ์ด๊ณ ๋ง์ง๋ง ์์๋ ์ถ๋ ฅ ํ ํฐ์ ๋๋ค. ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ํ ํฐ์ ๋ํ ์ ๊ณ์ฝ์ด ์๋ ๊ฒฝ์ฐ ์ค์์ ์ํํ ์ค๊ฐ ์์ ์ ์ํฉ๋๋ค.
Function | Description |
---|---|
sortTokens |
ํ ํฐ pair์ ๋ํด ์ ๋ ฌ๋ ํ ํฐ ์ฃผ์๋ฅผ return |
pairFor |
์ธ๋ถ ํธ์ถ ์์ด pair์ ๋ํ ์ฃผ์๋ฅผ return |
getReserves |
pair์ ๋ํ reserve๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ ๋ ฌํฉ๋๋ค. |
quote |
ํ๋์ amount์ reserveA, reserveB๊ฐ ์ฃผ์ด์ก์ ๋ ๋ค๋ฅธ ์์ฐ๊ณผ ๋์ผํ ๊ธ์ก์ ๋ฐํ. amountB = amountA * reserveB / reserveA |
getAmountOut |
Input amount๊ฐ ์ฃผ์ด์ก์ ๋ ์ต๋ output amount๋ฅผ ๊ณ์ฐํด์ค๋๋ค . |
getAmountIn |
Output amount๊ฐ ์ฃผ์ด์ก์ ๋ ํ์ํ input amount๋ฅผ ๊ณ์ฐํด์ค๋๋ค. |
getAmountsOut |
์ฌ๋ฌ pair์ ๋ํด ์ฐ์์ ์ผ๋ก getAmountout์ ์ํํฉ๋๋ค. |
getAmountsIn |
์ฌ๋ฌ pair์ ๋ํด ์ฐ์์ ์ผ๋ก getAmountin์ ์ํํฉ๋๋ค. |
amountIn
๊ณผ pair reserves(reserveIn
, reserveOut
)์ด ์ฃผ์ด์ง๋ฉด pair์์ ์ต๋ output์ returnํฉ๋๋ค.
-
์์๋ฃ ๊ณ์ฐ ํ ์ ๋ ฅ ๊ธ์ก์ ์ฐพ์ต๋๋ค. ์์๋ฃ๋ 0.3%์ ๋๋ค.
amountInWithFee
์ ์ ๋ ฅ ๊ธ์ก์ 997์ ๊ณฑํ์ฌ ๊ณ์ฐํ ์ ์์ต๋๋ค.amountIn * 997
-
amountInWithFee
์ ๋ค๋ฅธ ํ ํฐ์ reserve๋ฅผ ๊ณ์ฐamountInWithFee * reserveOut
-
amountInWithFee
์ ์ ๋ ฅ ์์ฐ reserve์ ํฉ๊ณ์ 1000์ ๊ณฑํ ๊ฐ์ ๊ตฌํฉ๋๋ค.reserveIn * 1000 + amountInWithFee
-
์ถ๋ ฅ๋์ ์ฐพ์ผ๋ ค๋ฉด 2๋จ๊ณ์์ ๊ณ์ฐํ ๊ฐ์ 3๋จ๊ณ์์ ๊ณ์ฐํ ๊ฐ์ผ๋ก ๋๋๋๋ค.
(amountInWithFee * reserveOut) / (reserveIn * 1000 + amountInWithFee)
์ด ๊ฐ์ด ์ ๊ณต๋ ์ ๋ ฅ ๊ธ์ก์ ๋ํด ์ ๊ณตํ ์ ์๋ ๋ค๋ฅธ ํ ํฐ์ ์ต๋ amount์ ๋๋ค.
amountOut
๊ณผ pair reserves (reserveIn
, reserveOut
)๊ฐ ์ฃผ์ด์ง๋ฉด ๋ค๋ฅธ ํ ํฐ์ ํ์ํ ์
๋ ฅ amountIn
๋ฅผ ๋ฐํํฉ๋๋ค.
- (
amountOut
)๊ณผ ๋ค๋ฅธ ์ ๋ ฅ ์์ฐ์ (reserveIn
)์1000
์ ๊ณฑํฉ๋๋ค.reserveIn * amountOut * 1000
- (
reserveOut
)์์amountOut
์ ๋บ ์ถ๋ ฅ ๊ฐ์ 997์ ๊ณฑํฉ๋๋ค
(reserveOut - amountOut) * 997
- ํ์ํ ์
๋ ฅ amount๋ฅผ ์ฐพ์ผ๋ ค๋ฉด 1๋จ๊ณ์์ ๊ณ์ฐ๋ ๊ฐ์ 2๋จ๊ณ์์ ๊ณ์ฐ๋ ๊ฐ์ผ๋ก ๋๋๋๋ค.
(reserveIn * amountOut * 1000) / ((reserveOut - amountOut) * 997)
Function | Description |
---|---|
add |
์ LP ํ๋ฐ pool์ ์ถ๊ฐํฉ๋๋ค. LP ํ ํฐ์ ์ฃผ์, allocation points, ํ ๋ณด์ ๋ฐฐ์จ์ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด ํ์ด ์ถ๊ฐ๋ฉ๋๋ค. |
deposit |
์ง์ ๋ ํ์ LP ํ ํฐ์ ์์นํฉ๋๋ค. |
withdraw |
์ง์ ๋ ํ์์ LPํ ํฐ์ ์ธ์ถํฉ๋๋ค. |
emergencyWithdraw |
๋ณด์์ ๋ฐ์ง ์๊ณ ์ง์ ๋ ํ์์ LP ํ ํฐ์ ์ธ์ถํฉ๋๋ค. |
set |
์ง์ ๋ ํ์์ JDEXT allocation points๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. |
updatePool |
์ฃผ์ด์ง ํ์ ๋ํ ๋ณด์ ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. |
massUpdatePools |
๋ชจ๋ ํ์ฑ ํ์๋ํ JDEXT ๋ณด์์ ์ ๋ฐ์ดํธ ํฉ๋๋ค. |
updateMultiplier |
์ง์ ๋ ํ์ ๋ํ ๋ณด์ multiplier์ ์ ๋ฐ์ดํธํฉ๋๋ค. |
updatePtnPerBlock |
๋ธ๋ก๋น ์์ฑ๋ JDEXT ํ ํฐ ์๋ฅผ ์ ๋ฐ์ดํธ ํฉ๋๋ค |
getMultiplier |
์ง์ ๋ ํ์๋ํด ์ฃผ์ด์ง ๋ ๋ธ๋ก ์ฌ์ด์ multiplier๋ฅผ returnํฉ๋๋ค. |
safePtnTransfer |
์ง์ ๋ ์์ JDEXT๋ฅผ ์ง์ ๋ address๋ก transferํฉ๋๋ค. |
์คํ ์ดํน์ ํตํด ์ฌ์ฉ์๋ ๋ง๋ค์ด์ง ํ์ ๋ํ ํ ํฐ์ ์คํ ์ดํนํ๊ณ JDEXํ ํฐ์ ๋ณด์์ผ๋ก ์ป์ ์ ์์ต๋๋ค.
Function | Description |
---|---|
initialize |
์คํ ์ดํน contract๋ฅผ ์ด๊ธฐํํฉ๋๋ค. |
deposit |
์คํ ์ดํน๋ ํ ํฐ์ ์์นํ๊ณ ๋ณด์ ํ ํฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ต๋๋ค. |
withdraw |
์คํ ํน๋ ํ ํฐ์ ์ธ์ถํ๊ณ ๋ณด์ ํ ํฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ต๋๋ค. |
recoverToken |
์ค์๋ก ์ปจํธ๋ํธ๋ก ๋ณด๋ธ ํ ํฐ์ ๋ณต๊ตฌํฉ๋๋ค. |
updatePoolLimitPerUser |
์ฌ์ฉ์๋น ํ ์ ํ์ ์ ๋ฐ์ดํธ ํฉ๋๋ค. |
updateRewardPerBlock |
๋ธ๋ก๋น ๋ณด์์ ์ ๋ฐ์ดํธํฉ๋๋ค. |
updateStartAndEndBlocks |
์์ ๋ฐ ์ข ๋ฃ ๋ธ๋ก์ ์ ๋ฐ์ดํธ ํฉ๋๋ค. |
_updatePool |
์ฃผ์ด์ง ํ์ ๋ํ ๋ณด์ ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. |
_getMultiplier |
์ง์ ๋ ํ์ ๋ํด ์ฃผ์ด์ง ๋ ๋ธ๋ก ์ฌ์ด์ ๋ณด์ multiplier๋ฅผ return ํฉ๋๋ค |
hasUserLimit |
user limit์ด ์๋์ง ํ์ธํฉ๋๋ค |