# 沒有 input 時的數字顯示 ```python= # 先計算當 input 超級小的時候能拿到多少 localSP localSP = sqrt(_input * _output) * premium localSP = sqrt(_input * _input * fairPrice) * premium localSP = _input * sqrt(price) * premium localSP = (_input / decimal(input) * priceInput) * decimal(input) / priceInput * sqrt(fairPrice) * premium localSP = inputUSD * decimal(input) / priceInput * sqrt(fairPrice) * premium localSPMarginal = localSP/inputUSD = decimal(input) * sqrt(fairPrice)/priceInput * premium > localSPMarginal = sqrt(decimal(baseToken)**2 * fairPrice)/baseTokenPrice * premium # localSPMarginal 代表不會滑價的話,每投入 $1 會拿到多少 localSP # fair price = quoteTokenReserve(1-baseTokenfee)/(baseTokenReserve(1-quoteTokenfee)) # premium 用最短期的 lock-up period 1 day 來計算 #read contract: get reserve reserve = getCurrentPoolReserve(msg.sender) pool = pools[msg.sender] reserveDYSN = getCurrentGlobalReserve() globalPool.weight # localSP -> SP marginal SPMarginal = reserve/pool.w * log(2) # SP -> DYSN DYSNMarginal = reserveDYSN/globalPool.weight * log(2) # 投入一塊錢 input 可拿到多少 DYSN,再將單位轉換成 USD (govValue = DYSNValue) DYSNValue = localSPMarginal * SPMarginal * DYSNMarginal * DYSNPrice ``` 有以上資訊就可以計算 APR 了,假設 x = 1 (價值 1 美元的 input) https://hackmd.io/nUqZ3rIJSDKUFh3-Qlw1bg
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up