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}