diff --git a/projects/helper/tokenMapping.js b/projects/helper/tokenMapping.js index 2cfc5f9f6c..0dac9d3b5c 100644 --- a/projects/helper/tokenMapping.js +++ b/projects/helper/tokenMapping.js @@ -107,7 +107,8 @@ function getCoreAssets(chain = 'ethereum') { return addresses } -function normalizeAddress(address, chain) { +function normalizeAddress(address, chain, extractChain = false) { + if (!chain && extractChain && address.includes(':')) chain = address.split(':')[0] if (caseSensitiveChains.includes(chain)) return address return address.toLowerCase() } diff --git a/test.js b/test.js index 1891afb990..d2b8793607 100644 --- a/test.js +++ b/test.js @@ -11,6 +11,7 @@ const whitelistedExportKeys = require('./projects/helper/whitelistedExportKeys.j const chainList = require('./projects/helper/chains.json') const handleError = require('./utils/handleError') const { log, diplayUnknownTable, sliceIntoChunks } = require('./projects/helper/utils') +const { normalizeAddress } = require('./projects/helper/tokenMapping') const { PromisePool } = require('@supercharge/promise-pool') const locks = []; @@ -324,15 +325,12 @@ async function computeTVL(balances, timestamp) { fixBalances(balances) Object.keys(balances).map(k => { - if (+balances[k] === 0) { - delete balances[k] - return; - } - if (k.toLowerCase() === k || k.startsWith("solana:")) return; - balances[k.toLowerCase()] = (k.toLowerCase() in balances) - ? Number(balances[k.toLowerCase()]) - + Number(balances[k]) : balances[k]; + const balance = balances[k] delete balances[k] + if (+balance === 0) + return; + const normalizedAddress = normalizeAddress(k, undefined, true) + sdk.util.sumSingleBalance(balances, normalizedAddress, balance) }) const eth = balances[ethereumAddress];