pub mod analytics;
pub mod assets;
pub mod fetch;
pub mod health;
pub mod pair;
pub mod patterns;
#[doc(no_inline)]
pub use crate::metrics as series;
pub mod traits;
pub mod types;
pub mod catalog;
pub mod configurable_client;
mod default_venue;
pub mod descriptor;
pub mod exchange;
pub mod registry;
pub mod venue;
#[cfg(any(test, feature = "test-support"))]
pub mod testing {
use super::{ExchangeClient, VenueRegistry};
pub fn catalog() -> VenueRegistry {
let dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("venues");
VenueRegistry::load_dirs(&dir, &dir.join("no-user-venues")).expect("the repo catalog loads")
}
pub fn venue_at(id: &str, base_url: &str) -> ExchangeClient {
let mut desc = catalog()
.get(id)
.unwrap_or_else(|| panic!("no catalog venue {id}"))
.clone();
desc.base_url = base_url.to_string();
ExchangeClient::from_descriptor_with_http(&desc, crate::http::test_transport())
}
}
mod orderbook;
pub use configurable_client::ConfigurableExchangeClient;
pub use default_venue::DEFAULT_VENUE;
pub use descriptor::VenueDescriptor;
pub use exchange::ExchangeClient;
#[allow(deprecated)]
pub use fetch::{
DexAnalyticsSource, fetch_book_and_volume, fetch_pattern_trades, fetch_summary,
fetch_summary_with_trades, fetch_token_summary, fetch_token_summary_by_name,
fetch_token_summary_by_name_with_http, most_liquid,
};
pub use orderbook::{
BookSide, BookSource, Candle, ExecutionEstimate, ExecutionSide, HealthCheck, HealthOverrides,
HealthThresholds, MarketSnapshot, MarketSummary, OhlcClient, OrderBook, OrderBookClient,
OrderBookLevel, Ticker, TickerClient, Trade, TradeHistoryClient, TradeSide,
order_book_from_analytics,
};
pub use pair::{DEFAULT_PAIR, Pair};
pub use registry::VenueRegistry;
pub use venue::{DexVenue, MarketVenue, VENUE_HELP, VenueKind, VenueListing};