Files
DefiLlama-Adapters/utils/scripts/testTokenMapping.js
2025-06-04 13:32:14 +02:00

29 lines
866 B
JavaScript

const { default: PromisePool } = require('@supercharge/promise-pool/dist')
const { default: axios } = require('axios')
const mapping = require('../../../server/coins/src/adapters/tokenMapping.json')
const { sliceIntoChunks } = require('../../projects/helper/utils')
const tokens = Object.entries(mapping).map(i => {
const [chain, obj] = i
return Object.keys(obj).map(j => chain+':'+j)
}).flat()
async function main() {
console.log('token count:', tokens.length)
const missing = []
const chunks = sliceIntoChunks(tokens, 50)
await PromisePool
.withConcurrency(5)
.for(chunks)
.process(async chunk => {
const str = chunk.join(',')
const { data } = await axios.get('https://coins2.llama.fi/prices/current/'+str)
missing.push(...chunk.filter(i => !data.coins[i]))
})
console.log(missing, missing.length)
}
main()