Skip to main content

bat_markets_core/
lib.rs

1//! Core domain contracts and engine primitives for `bat-markets`.
2
3pub mod account;
4pub mod adapter;
5pub mod auth;
6pub mod capability;
7pub mod catalog;
8pub mod command;
9pub mod config;
10pub mod error;
11pub mod execution;
12pub mod health;
13pub mod ids;
14pub mod instrument;
15pub mod market;
16pub mod numeric;
17pub mod position;
18pub mod primitives;
19pub mod reconcile;
20pub mod state;
21pub mod trade;
22pub mod types;
23
24pub use account::{AccountSummary, Balance};
25pub use adapter::VenueAdapter;
26pub use auth::{EnvSigner, MemorySigner, Signer};
27pub use capability::{
28    AccountCapabilities, AssetCapabilities, CapabilitySet, MarketCapabilities, NativeCapabilities,
29    PositionCapabilities, TradeCapabilities,
30};
31pub use catalog::InstrumentCatalog;
32pub use command::{
33    CommandAck, CommandLifecycleEvent, CommandOperation, CommandReceipt, CommandStatus,
34    CommandTransport,
35};
36pub use config::{
37    AuthConfig, BatMarketsConfig, EndpointConfig, HealthPolicy, RateLimitPolicy, ReconnectPolicy,
38    RetryPolicy, StatePolicy, TimeoutPolicy,
39};
40pub use error::{ErrorContext, ErrorKind, MarketError, Result};
41pub use execution::{
42    CommandLaneEvent, DivergenceEvent, LanePolicy, LaneSet, PrivateLaneEvent, PublicLaneEvent,
43};
44pub use health::{DegradedReason, HealthNotification, HealthReport, HealthStatus};
45pub use ids::{AssetCode, ClientOrderId, InstrumentId, OrderId, PositionId, RequestId, TradeId};
46pub use instrument::{InstrumentSpec, InstrumentStatus, InstrumentSupport};
47pub use market::{
48    BookDelta, BookLevel, BookTop, FETCH_OHLCV_MAX_INSTRUMENTS_PER_CALL, FastBookTop,
49    FastFundingRate, FastKline, FastLiquidation, FastMarkPrice, FastOrderBookDelta, FastTicker,
50    FastTrade, FetchOhlcvRequest, FetchOrderBookRequest, FetchTickersRequest, FetchTradesRequest,
51    FundingRate, Kline, KlineInterval, Liquidation, MarkPrice, OpenInterest, OrderBookDelta,
52    OrderBookLevel, OrderBookSnapshot, Ticker, TradeTick, WatchFastFeedRequest,
53    WatchOrderBookRequest,
54};
55pub use numeric::{
56    Amount, FastNotional, FastPrice, FastQuantity, Leverage, Notional, Price, Quantity, Rate,
57};
58pub use position::Position;
59pub use primitives::{SequenceNumber, TimestampMs};
60pub use reconcile::{
61    AccountSnapshot, PrivateSnapshot, ReconcileOutcome, ReconcileReport, ReconcileTrigger,
62};
63pub use state::EngineState;
64pub use trade::{
65    AmendOrderRequest, AmendOrdersRequest, CancelAllOrdersRequest, CancelOrderRequest,
66    CancelOrdersRequest, ClosePositionRequest, CreateOrderRequest, CreateOrdersRequest,
67    EditOrderRequest, EditOrdersRequest, Execution, GetOrderRequest, Liquidity,
68    ListExecutionsRequest, ListOpenOrdersRequest, Order, OrderTarget, SetLeverageRequest,
69    SetMarginModeRequest, SetPositionModeRequest, ValidateOrderRequest,
70};
71pub use types::{
72    AggressorSide, MarginMode, MarketType, OrderStatus, OrderType, PositionDirection, PositionMode,
73    Product, Side, TimeInForce, TriggerType, Venue,
74};