diff --git a/Cargo.lock b/Cargo.lock index 6feae58d04..2fe5e11451 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6209,7 +6209,7 @@ dependencies = [ [[package]] name = "nym-data-observatory" -version = "1.0.3" +version = "1.0.4" dependencies = [ "anyhow", "async-trait", diff --git a/nym-data-observatory/Cargo.toml b/nym-data-observatory/Cargo.toml index c6bda86b68..6740c51c83 100644 --- a/nym-data-observatory/Cargo.toml +++ b/nym-data-observatory/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "nym-data-observatory" -version = "1.0.3" +version = "1.0.4" authors.workspace = true repository.workspace = true homepage.workspace = true diff --git a/nym-data-observatory/src/price_scraper/mod.rs b/nym-data-observatory/src/price_scraper/mod.rs index efb72a5e9a..08c0a777f4 100644 --- a/nym-data-observatory/src/price_scraper/mod.rs +++ b/nym-data-observatory/src/price_scraper/mod.rs @@ -3,6 +3,7 @@ use crate::db::{ queries::price::insert_nym_prices, }; use core::str; +use std::env; use tokio::time::Duration; use crate::db::DbPool; @@ -29,7 +30,15 @@ impl PriceScraper { async fn get_coingecko_prices(&self) -> anyhow::Result { tracing::info!("💰 Fetching CoinGecko prices from {COINGECKO_API_URL}"); - let response = reqwest::get(COINGECKO_API_URL).await?; + let mut url = COINGECKO_API_URL.to_string(); + + let coin_gecko_api_key = env::var("COINGECKO_API_KEY").ok(); + + if let Some(api_key) = coin_gecko_api_key { + url = format!("{url}&x_cg_demo_api_key={api_key}") + } + + let response = reqwest::get(url).await?; if !response.status().is_success() { tracing::error!(