1pub mod prelude;
5
6pub mod cache;
8pub mod pool_state;
10pub mod providers;
12pub mod repositories;
14pub mod repository;
16pub mod timeseries;
18
19use anyhow::Result;
20use async_trait::async_trait;
21use clmm_lp_domain::entities::price_candle::PriceCandle;
22use clmm_lp_domain::entities::token::Token;
23
24#[async_trait]
26pub trait MarketDataProvider {
27 async fn get_price_history(
29 &self,
30 token_a: &Token,
31 token_b: &Token,
32 start_time: u64,
33 end_time: u64,
34 resolution: u64, ) -> Result<Vec<PriceCandle>>;
36}