Skip to content

Commit

Permalink
Merge pull request #76 from eco-stake/dydx-apr
Browse files Browse the repository at this point in the history
dYdX APR
  • Loading branch information
tombeynon authored Feb 13, 2024
2 parents 1bc78b4 + 3147482 commit 5a701e1
Showing 1 changed file with 15 additions and 6 deletions.
21 changes: 15 additions & 6 deletions chains/chainMonitor.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,14 @@ function ChainMonitor() {
const blockParams = await getBlockParams(restUrl, chain) || {}, { actualBlocksPerYear } = blockParams
const stakingParams = await getStakingParams(restUrl, chain) || {}, { bondedTokens } = stakingParams
const slashingParams = await getSlashingParams(restUrl, chain) || {}
let supplyParams = {}, aprParams = {}
let supplyParams = {}
if (denom) {
supplyParams = await getSupplyParams(restUrl, chain, bondedTokens) || {}
}
const mintParams = await getMintParams(restUrl, chain) || {}, { blocksPerYear } = mintParams
const distributionParams = await getDistributionParams(restUrl, chain) || {}, { communityTax } = distributionParams
const provisionParams = await getProvisionParams(restUrl, chain, supplyParams, blockParams) || {}, { annualProvision } = provisionParams
if(annualProvision && bondedTokens){
aprParams = await calculateApr(chain, annualProvision, bondedTokens, communityTax, blocksPerYear, actualBlocksPerYear) || {}
}
const aprParams = await calculateApr(chain, annualProvision, bondedTokens, communityTax, blocksPerYear, actualBlocksPerYear) || {}
const data = {
...current,
...authzParams,
Expand Down Expand Up @@ -266,12 +264,23 @@ function ChainMonitor() {
async function calculateApr(chain, annualProvision, bondedTokens, communityTax, blocksPerYear, actualBlocksPerYear) {
const path = chain.path
try {
if (path === 'sifchain') {
if (path === 'dydx' && process.env.APYBARA_API_KEY) {
const opts = {
headers: {
'X-ACCESS-KEY': `${process.env.APYBARA_API_KEY}`
},
...gotOpts
}
const aprRequest = await got.get("https://api.protocolstaking.info/v0/protocols/dydx", opts).json();
return {
calculatedApr: aprRequest[0]?.rewardRate
}
} else if (path === 'sifchain') {
const aprRequest = await got.get("https://data.sifchain.finance/beta/validator/stakingRewards", gotOpts).json();
return {
calculatedApr: aprRequest.rate
}
} else {
} else if (annualProvision && bondedTokens){
const estimatedApr = (annualProvision / bondedTokens) * (1 - communityTax)
if (blocksPerYear) {
const calculatedApr = estimatedApr * (actualBlocksPerYear / blocksPerYear)
Expand Down

0 comments on commit 5a701e1

Please sign in to comment.