UNPKG

@ledgerhq/live-common

Version:
47 lines (38 loc) 1.09 kB
import network from "@ledgerhq/live-network"; import { getEnv } from "@ledgerhq/live-env"; import { MarketCurrencyChartDataRequestParams, MarketCoinDataChart, MarketChartApiResponse, } from "../utils/types"; import { rangeDataTable } from "../utils/rangeDataTable"; import URL from "url"; const baseURL = getEnv("COINGECKO_API_URL"); export async function supportedCounterCurrencies(): Promise<string[]> { const url = `${baseURL}/simple/supported_vs_currencies`; const { data } = await network<string[]>({ method: "GET", url, }); return data; } export async function fetchCurrencyChartData({ id, counterCurrency, range = "24h", }: MarketCurrencyChartDataRequestParams): Promise<MarketCoinDataChart> { const { days, interval } = rangeDataTable[range]; const url = URL.format({ pathname: `${baseURL}/coins/${id}/market_chart`, query: { vs_currency: counterCurrency, days, interval, }, }); const { data } = await network<MarketChartApiResponse>({ method: "GET", url, }); return { [range]: data.prices }; }