#![doc(html_no_source)]
mod adapter;
mod client;
mod error;
mod feature;
mod request;
mod stream;
mod transport;
mod types;
pub mod adapters;
pub use adapter::{Adapter, BoxFuture};
pub use client::Client;
pub use error::{Error, ExchangeErrorKind, Result};
pub use feature::Feature;
pub use request::{CandleRequest, HistoryRequest, MarginRequest, OrderRequest};
pub use stream::{AccountStream, MarketStream};
pub use types::{
AccountEvent, Balance, Candle, Cursor, Exchange, Feed, FundingPayment, FundingRate, Interval,
Level, MarginMode, MarginSummary, Market, MarketEvent, MarketInfo, MarketKind, MarketStatus,
Order, OrderBook, OrderStatus, OrderType, Overflow, Page, Position, Side, Size, StreamConfig,
Subscription, Ticker, TimeInForce, Timestamp, Trade,
};
pub use rust_decimal::Decimal;
#[cfg(target_arch = "wasm32")]
pub fn configure_browser_relay(relay_url: &str) -> Result<()> {
transport::configure_browser_relay(relay_url)
}
pub fn parse_decimal_exact(text: &str) -> std::result::Result<Decimal, rust_decimal::Error> {
adapters::decimal::exact(text)
}
#[cfg(doctest)]
mod markdown {
macro_rules! compiled {
($($name:ident => $path:literal,)*) => {
$(#[doc = include_str!($path)] pub mod $name {})*
};
}
compiled! {
readme => "../README.md",
readme_ko => "../README.ko.md",
contributing => "../CONTRIBUTING.md",
contributing_ko => "../CONTRIBUTING.ko.md",
getting_started => "../docs/getting-started.md",
getting_started_ko => "../docs/getting-started.ko.md",
common_api => "../docs/common-api.md",
common_api_ko => "../docs/common-api.ko.md",
providers => "../docs/providers.md",
providers_ko => "../docs/providers.ko.md",
upbit => "../docs/providers/upbit.md",
upbit_ko => "../docs/providers/upbit.ko.md",
bithumb => "../docs/providers/bithumb.md",
bithumb_ko => "../docs/providers/bithumb.ko.md",
binance => "../docs/providers/binance.md",
binance_ko => "../docs/providers/binance.ko.md",
hyperliquid => "../docs/providers/hyperliquid.md",
hyperliquid_ko => "../docs/providers/hyperliquid.ko.md",
}
}