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;
17
18pub mod pair;
20pub use pair::Pair;
21
22pub mod instrument_type;
24pub use instrument_type::{InstrumentType, InstrumentTypeError};
25
26pub mod aggregation;
28pub use aggregation::AggregationMode;
29
30#[cfg(feature = "services")]
32pub mod services;
33
34#[cfg(feature = "task-group")]
36pub mod task_group;
37
38pub mod interval;
40pub use interval::Interval;
41
42#[cfg(feature = "proto")]
44pub mod schema {
45 include!(concat!(env!("OUT_DIR"), "/pragma_common.rs"));
46}
47
48#[cfg(feature = "proto")]
50pub trait ProtoSerialize {
51 fn to_proto_bytes(&self) -> Vec<u8>;
52}
53
54#[cfg(feature = "proto")]
56pub trait ProtoDeserialize {
57 fn from_proto_bytes(bytes: &[u8]) -> Result<Self, prost::DecodeError>
58 where
59 Self: Sized;
60}