Skip to main content

finance_query/domains/
crypto.rs

1//! Cryptocurrency coin query handle.
2//!
3//! Created via [`Providers::crypto`](crate::Providers::crypto).
4
5use crate::error::Result;
6
7domain_handle! {
8    /// A cryptocurrency coin backed by configured data providers.
9    ///
10    /// Created via [`Providers::crypto`](crate::Providers::crypto).
11    pub struct CryptoCoin { id, id }
12}
13
14impl CryptoCoin {
15    /// Fetch the current quote for this coin priced in `vs_currency` (e.g., `"usd"`).
16    pub async fn quote(&self, vs_currency: &str) -> Result<crate::models::crypto::CryptoQuote> {
17        fetch_via_with!(
18            self,
19            id,
20            CRYPTO,
21            fetch_crypto_quote,
22            vs_currency,
23            crate::models::crypto::CryptoQuote
24        )
25    }
26}