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::{Pair, AssetSymbol, RawMarketName};
22
23pub mod exchange;
25pub use exchange::{Exchange, MarginType};
26
27pub mod instrument_type;
29pub use instrument_type::{InstrumentType, InstrumentTypeError};
30
31pub mod aggregation;
33pub use aggregation::AggregationMode;
34
35#[cfg(feature = "services")]
37pub mod services;
38
39#[cfg(feature = "task-group")]
41pub mod task_group;
42
43pub mod interval;
45pub use interval::Interval;
46
47#[cfg(feature = "proto")]
49pub mod schema {
50 include!(concat!(env!("OUT_DIR"), "/pragma_common.rs"));
51}
52
53#[cfg(feature = "proto")]
55pub trait ProtoSerialize {
56 fn to_proto_bytes(&self) -> Vec<u8>;
57}
58
59#[cfg(feature = "proto")]
61pub trait ProtoDeserialize {
62 fn from_proto_bytes(bytes: &[u8]) -> Result<Self, prost::DecodeError>
63 where
64 Self: Sized;
65}