UNPKG

coingecko-tokens

Version:

Aggregated list of Token Lists from CoinGecko

32 lines (31 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.COINGECKO_API = void 0; exports.getTopTokens = getTopTokens; exports.COINGECKO_API = 'https://api.coingecko.com/api/v3/coins/markets'; // Get list of top 1000 market cap tokens symbol from CoinGecko async function getTopTokens() { const params = []; for (let i = 1; i < 5; ++i) { params.push(new URLSearchParams({ vs_currency: 'usd', order: 'market_cap_desc', per_page: String(250), page: String(i), }).toString()); } const topTokens = (await Promise.all(params.map(async (param) => { const resp = await fetch(`${exports.COINGECKO_API}?${param}`, { method: 'GET', signal: AbortSignal.timeout(60 * 1000), }); if (!resp.ok) { throw new Error(resp.statusText); } return resp.json(); }))).flat(); return { topTokens, topTokenSet: new Set(topTokens.map((l) => l.symbol?.toLowerCase() || '').flat()), }; }