1pub mod web3;
3
4pub mod entries;
7
8#[cfg(feature = "starknet")]
9pub mod starknet;
10
11#[cfg(feature = "telemetry")]
13pub mod telemetry;
14
15pub mod trading;
17pub use trading::Side;
18
19pub mod pair;
21pub use pair::{AssetSymbol, Pair, RawMarketName};
22
23pub mod contract;
25pub use contract::{
26 Contract, FuturesContract, FuturesContractBuilder, FuturesContractParseError, FuturesMonth,
27 FuturesRoot,
28};
29
30pub mod exchange;
32pub use exchange::{Exchange, MarginType};
33
34pub mod instrument_type;
36pub use instrument_type::{InstrumentType, InstrumentTypeError};
37
38pub mod aggregation;
40pub use aggregation::AggregationMode;
41
42#[cfg(feature = "services")]
44pub mod services;
45
46#[cfg(feature = "task-group")]
48pub mod task_group;
49
50pub mod interval;
52pub use interval::Interval;
53
54#[cfg(feature = "proto")]
56pub mod schema {
57 include!(concat!(env!("OUT_DIR"), "/pragma_common.rs"));
58}
59
60#[cfg(feature = "proto")]
62pub trait ProtoSerialize {
63 fn to_proto_bytes(&self) -> Vec<u8>;
64}
65
66#[cfg(feature = "proto")]
68pub trait ProtoDeserialize {
69 fn from_proto_bytes(bytes: &[u8]) -> Result<Self, prost::DecodeError>
70 where
71 Self: Sized;
72}