eth-prices 0.0.9

A library for fetching Ethereum prices.
Documentation
use std::{ops::Deref, sync::Arc};

use crate::quoter::Quoter;

#[derive(Debug, Clone)]
pub struct AnyQuoter {
    quoter: Arc<dyn Quoter>,
    pub confidence: u64,
}

impl AnyQuoter {
    pub fn with_confidence(mut self, confidence: u64) -> Self {
        self.confidence = confidence;
        self
    }
}

impl<T> From<T> for AnyQuoter
where
    T: Quoter + 'static,
{
    fn from(t: T) -> Self {
        AnyQuoter {
            quoter: Arc::new(t),
            confidence: 0,
        }
    }
}

impl Deref for AnyQuoter {
    type Target = dyn Quoter;

    fn deref(&self) -> &Self::Target {
        &*self.quoter
    }
}