pub mod client;
pub mod error;
pub mod categories;
pub mod coins;
pub mod derivatives;
pub mod exchanges;
pub mod global;
pub mod nfts;
pub mod onchain;
pub mod simple;
pub mod treasury;
pub use client::{Client, Config};
pub use error::{Error, Result};
pub use yldfi_common::http::HttpClientConfig;
pub use yldfi_common::{with_retry, with_simple_retry, RetryConfig, RetryError, RetryableError};
pub mod base_urls {
pub const PRO: &str = "https://pro-api.coingecko.com/api/v3";
pub const DEMO: &str = "https://api.coingecko.com/api/v3";
}
#[must_use]
pub fn default_config() -> Config {
Config::demo()
}
#[must_use]
pub fn demo_config_with_key(api_key: impl Into<String>) -> Config {
Config::demo_with_key(api_key)
}
#[must_use]
pub fn pro_config(api_key: impl Into<String>) -> Config {
Config::pro(api_key)
}
impl Client {
#[must_use]
pub fn simple(&self) -> simple::SimpleApi<'_> {
simple::SimpleApi::new(self)
}
#[must_use]
pub fn coins(&self) -> coins::CoinsApi<'_> {
coins::CoinsApi::new(self)
}
#[must_use]
pub fn categories(&self) -> categories::CategoriesApi<'_> {
categories::CategoriesApi::new(self)
}
#[must_use]
pub fn exchanges(&self) -> exchanges::ExchangesApi<'_> {
exchanges::ExchangesApi::new(self)
}
#[must_use]
pub fn derivatives(&self) -> derivatives::DerivativesApi<'_> {
derivatives::DerivativesApi::new(self)
}
#[must_use]
pub fn nfts(&self) -> nfts::NftsApi<'_> {
nfts::NftsApi::new(self)
}
#[must_use]
pub fn global(&self) -> global::GlobalApi<'_> {
global::GlobalApi::new(self)
}
#[must_use]
pub fn onchain(&self) -> onchain::OnchainApi<'_> {
onchain::OnchainApi::new(self)
}
#[must_use]
pub fn treasury(&self) -> treasury::TreasuryApi<'_> {
treasury::TreasuryApi::new(self)
}
}