pragma_common/
aggregation.rs

1#[derive(Default, Debug, Clone, Copy)]
2#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
3#[cfg_attr(
4    feature = "borsh",
5    derive(borsh::BorshSerialize, borsh::BorshDeserialize)
6)]
7#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize,))]
8pub enum AggregationMode {
9    #[cfg_attr(feature = "serde", serde(rename = "median"))]
10    Median,
11    #[cfg_attr(feature = "serde", serde(rename = "twap"))]
12    #[default]
13    Twap,
14}
15
16impl AggregationMode {
17    pub fn as_str(&self) -> &'static str {
18        match self {
19            Self::Median => "median",
20            Self::Twap => "twap",
21        }
22    }
23}