diff --git a/apps/web/src/state/farmsV4/state/poolApr/fetcher.ts b/apps/web/src/state/farmsV4/state/poolApr/fetcher.ts index be9c452eeb591..75a4ba17a075a 100644 --- a/apps/web/src/state/farmsV4/state/poolApr/fetcher.ts +++ b/apps/web/src/state/farmsV4/state/poolApr/fetcher.ts @@ -232,6 +232,12 @@ const getV3PoolsCakeAprByChainId = async (pools: V3PoolInfo[], chainId: number, if (!masterChefV3 || !client) return {} + const validPools = pools.filter((pool) => { + return pool.pid && pool.chainId === chainId + }) + + if (!validPools?.length) return {} + const [totalAllocPoint, latestPeriodCakePerSecond] = await Promise.all([ masterChefV3CacheMap.get(chainId)?.totalAllocPoint ?? masterChefV3.read.totalAllocPoint(), masterChefV3CacheMap.get(chainId)?.latestPeriodCakePerSecond ?? masterChefV3.read.latestPeriodCakePerSecond(), @@ -243,10 +249,6 @@ const getV3PoolsCakeAprByChainId = async (pools: V3PoolInfo[], chainId: number, latestPeriodCakePerSecond, }) - const validPools = pools.filter((pool) => { - return pool.pid && pool.chainId === chainId - }) - const poolInfoCalls = validPools.map( (pool) => ({ @@ -389,6 +391,8 @@ const getV2PoolsCakeAprByChainId = async ( const client = publicClient({ chainId }) const validPools = pools.filter((p) => p.chainId === chainId && p.bCakeWrapperAddress) + if (!validPools?.length) return {} + const rewardPerSecondCalls = validPools.map((pool) => { return { address: pool.bCakeWrapperAddress!, @@ -504,7 +508,7 @@ const getV2PoolsCakeApr = async (pools: Array): Pro const poolsByChainId = groupBy(pools, 'chainId') const aprs = await Promise.all( Object.keys(poolsByChainId).map((chainId) => - getV2PoolsCakeAprByChainId(poolsByChainId[Number(chainId)], Number(chainId), cakePrice), + getV2PoolsCakeAprByChainId(poolsByChainId[chainId], Number(chainId), cakePrice), ), ) return aprs.reduce((acc, apr) => assign(acc, apr), {})