diff --git a/src/adaptors/interest-curve/index.ts b/src/adaptors/interest-curve/index.ts index b5de761093..f78d2358d6 100644 --- a/src/adaptors/interest-curve/index.ts +++ b/src/adaptors/interest-curve/index.ts @@ -52,6 +52,8 @@ async function main() { underlyingTokens: pool.coins, url: `${INTEREST_DAPP_URL}/pools/details?address=${pool.poolId}`, poolMeta: pool.isStable ? 'stable' : 'volatile', + volumeUsd1d: +pool.metrics.volume1D, + volumeUsd7d: +pool.metrics.volume7D, }; }) .filter((pool) => pool.apyReward > 0); // Pools when farm APR is 0 diff --git a/src/adaptors/meridian-amm/index.js b/src/adaptors/meridian-amm/index.js index 23b62b30a4..dea03e4106 100644 --- a/src/adaptors/meridian-amm/index.js +++ b/src/adaptors/meridian-amm/index.js @@ -42,6 +42,7 @@ async function main() { rewardTokens, symbol: coinNames, tvlUsd: liquidityPool.tvl, + volumeUsd1d: +liquidityPool.volume1d, underlyingTokens: liquidityPool.metadata.coinAddresses, url: `${MERIDIAN_DAPP_URL}/pools/${liquidityPool.metadata.type}`, }); diff --git a/src/adaptors/mosaic-amm/index.js b/src/adaptors/mosaic-amm/index.js index fbd70133e2..ae09fdf9f7 100644 --- a/src/adaptors/mosaic-amm/index.js +++ b/src/adaptors/mosaic-amm/index.js @@ -35,6 +35,7 @@ async function apy() { tvlUsd: pool.stats.tvl_usd, apyBase: pool.stats.apr_fees, apyReward: pool.stats.apr_farming_rewards, + volumeUsd1d: +pool.stats.volume_24h_usd, rewardTokens: rewardTokens, underlyingTokens: [pool.metadata.token_x, pool.metadata.token_y], url: `${MOSAIC_AMM_LIQUIDITY_POOL_URL}/add?pool=${pool.pool_address}`, diff --git a/src/adaptors/woofi-earn/index.js b/src/adaptors/woofi-earn/index.js index 73ee273732..c6116cee35 100644 --- a/src/adaptors/woofi-earn/index.js +++ b/src/adaptors/woofi-earn/index.js @@ -2,6 +2,7 @@ const BigNumber = require('bignumber.js'); const utils = require('../utils'); const API_URL = 'https://fi-api.woo.org/yield'; +const STATS_API_URL = 'https://api.woofi.com/token_stat'; const API_URLS = { binance: `${API_URL}?network=bsc`, @@ -31,7 +32,22 @@ const rewardTokensMapping = { // sonic: '0xF3df0A31ec5EA438150987805e841F960b9471b6', // WOO }; +async function getStats() { + const stats = {} + for (const chain of Object.keys(API_URLS)) { + let woofiChain = chain; + if (chain === 'binance') woofiChain = 'bsc'; + if (chain === 'avalanche') woofiChain = 'avax'; + if (chain === 'era') woofiChain = 'zksync'; + + // don't know why woofi api return bsc data key for all chains here + stats[chain] = (await utils.getData(`${STATS_API_URL}?network=${woofiChain}`))['data']['bsc']; + } + return stats; +} + const main = async () => { + const stats = await getStats() const datas = await Promise.all( Object.entries(API_URLS).map(async ([chain, url]) => [ chain, @@ -60,6 +76,16 @@ const main = async () => { apyReward = 0; rewardTokens = []; } + + let volumeUsd1d = 0; + if (stats[chain]) { + for (const token of stats[chain]) { + if (token.symbol === info['symbol']) { + volumeUsd1d = Number(token['24h_volume_usd']) / 1e18; + } + } + } + results.push({ pool: `${address}-${chain}`.toLowerCase(), chain: utils.formatChain(chain), @@ -69,6 +95,7 @@ const main = async () => { tvlUsd: parseFloat(BigNumber(info['tvl']).div(10 ** decimals)), apyBase: info['weighted_average_apr'], apyReward: apyReward, + volumeUsd1d: volumeUsd1d, rewardTokens: rewardTokens, }); } diff --git a/src/adaptors/yuzu-finance/index.ts b/src/adaptors/yuzu-finance/index.ts index eab9b93325..8c3ef6d979 100644 --- a/src/adaptors/yuzu-finance/index.ts +++ b/src/adaptors/yuzu-finance/index.ts @@ -67,6 +67,8 @@ async function main() { new Set(pool.rewardInfos?.map((reward) => reward.tokenMetadata) || []) ), underlyingTokens: [pool.token0, pool.token1], + volumeUsd1d: +pool.volume24h, + volumeUsd7d: +pool.volume7d, }; }) .filter(Boolean); // Remove null entries