From 36938956fb7946e4ad755250f1ac7b587c29a15e Mon Sep 17 00:00:00 2001 From: johngrantuk Date: Fri, 25 Aug 2023 10:39:13 +0100 Subject: [PATCH] Fix onchain data to handle broken rates. --- test/lib/onchainData.ts | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/test/lib/onchainData.ts b/test/lib/onchainData.ts index bf4a60bd..8313e77a 100644 --- a/test/lib/onchainData.ts +++ b/test/lib/onchainData.ts @@ -138,11 +138,14 @@ export async function getOnChainBalances( ); multiPool.call(`${pool.id}.targets`, pool.address, 'getTargets'); - multiPool.call( - `${pool.id}.rate`, - pool.address, - 'getWrappedTokenRate' - ); + // AaveLinear pools with version === 1 rates will still work + if (pool.poolType === 'AaveLinear' && pool.poolTypeVersion === 1) { + multiPool.call( + `${pool.id}.rate`, + pool.address, + 'getWrappedTokenRate' + ); + } } else if (pool.poolType.toString().includes('Gyro')) { multiPool.call( `${pool.id}.swapFee`, @@ -252,19 +255,24 @@ export async function getOnChainBalances( ); } - const wrappedIndex = subgraphPools[index].wrappedIndex; if ( - wrappedIndex === undefined || - onchainData.rate === undefined + subgraphPools[index].poolType === 'AaveLinear' && + subgraphPools[index].poolTypeVersion === 1 ) { - console.error( - `Linear Pool Missing WrappedIndex or PriceRate: ${poolId}` - ); - return; + const wrappedIndex = subgraphPools[index].wrappedIndex; + if ( + wrappedIndex === undefined || + onchainData.rate === undefined + ) { + console.error( + `Linear Pool Missing WrappedIndex or PriceRate: ${poolId}` + ); + return; + } + // Update priceRate of wrappedToken + subgraphPools[index].tokens[wrappedIndex].priceRate = + formatFixed(onchainData.rate, 18); } - // Update priceRate of wrappedToken - subgraphPools[index].tokens[wrappedIndex].priceRate = - formatFixed(onchainData.rate, 18); } subgraphPools[index].swapFee = formatFixed(swapFee, 18);