pub mod web3;
pub mod entries;
#[cfg(feature = "starknet")]
pub mod starknet;
#[cfg(feature = "telemetry")]
pub mod telemetry;
pub mod trading;
pub use trading::Side;
pub mod pair;
pub use pair::{AssetSymbol, Pair, RawMarketName};
pub mod contract;
pub use contract::{
Contract, FuturesContract, FuturesContractBuilder, FuturesContractParseError, FuturesMonth,
FuturesRoot,
};
pub mod exchange;
pub use exchange::{Exchange, MarginType};
pub mod instrument_type;
pub use instrument_type::{InstrumentType, InstrumentTypeError};
pub mod aggregation;
pub use aggregation::AggregationMode;
#[cfg(feature = "services")]
pub mod services;
#[cfg(feature = "task-group")]
pub mod task_group;
pub mod interval;
pub use interval::Interval;
#[cfg(feature = "proto")]
pub mod schema {
include!(concat!(env!("OUT_DIR"), "/pragma_common.rs"));
}
#[cfg(feature = "proto")]
pub trait ProtoSerialize {
fn to_proto_bytes(&self) -> Vec<u8>;
}
#[cfg(feature = "proto")]
pub trait ProtoDeserialize {
fn from_proto_bytes(bytes: &[u8]) -> Result<Self, prost::DecodeError>
where
Self: Sized;
}