From e43e9f2599c61e8384675a71c808c6aadb10bb18 Mon Sep 17 00:00:00 2001 From: Jonas Hals Date: Wed, 9 Jun 2021 11:15:26 +0200 Subject: [PATCH] Support Pro API keys on Coingecko --- coingecko/src/config.ts | 5 ++++- coingecko/src/endpoint/global.ts | 3 +++ coingecko/src/endpoint/price.ts | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/coingecko/src/config.ts b/coingecko/src/config.ts index 0e3791389b..d796c717a1 100644 --- a/coingecko/src/config.ts +++ b/coingecko/src/config.ts @@ -5,9 +5,12 @@ export const NAME = 'COINGECKO' export const DEFAULT_ENDPOINT = 'price' export const DEFAULT_API_ENDPOINT = 'https://api.coingecko.com/api/v3' +export const PRO_API_ENDPOINT = 'https://pro-api.coingecko.com/api/v3' export const makeConfig = (prefix?: string): Config => { const config = Requester.getDefaultConfig(prefix) - config.api.baseURL = config.api.baseUrl || DEFAULT_API_ENDPOINT + if (!config.api.baseURL) { + config.api.baseURL = config.apiKey !== undefined ? PRO_API_ENDPOINT : DEFAULT_API_ENDPOINT + } return config } diff --git a/coingecko/src/endpoint/global.ts b/coingecko/src/endpoint/global.ts index c88390da0d..2ab803115c 100644 --- a/coingecko/src/endpoint/global.ts +++ b/coingecko/src/endpoint/global.ts @@ -26,6 +26,9 @@ export const execute: ExecuteWithConfig = async (request, config) => { const options = { ...config.api, url, + params: { + x_cg_pro_api_key: config.apiKey, + }, } const response = await Requester.request(options, customError) diff --git a/coingecko/src/endpoint/price.ts b/coingecko/src/endpoint/price.ts index 2afac84749..c30911ddb7 100644 --- a/coingecko/src/endpoint/price.ts +++ b/coingecko/src/endpoint/price.ts @@ -21,6 +21,9 @@ const getCoinId = async (config: Config, symbol: string): Promise => { const options = { ...config.api, url, + params: { + x_cg_pro_api_key: config.apiKey, + }, } const response = await Requester.request(options, customError) @@ -56,6 +59,7 @@ export const execute: ExecuteWithConfig = async (request, config) => { const params = { ids: coin, vs_currencies: quote, + x_cg_pro_api_key: config.apiKey, } const options = {