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