1#[derive(
2 Clone, Debug, Hash, PartialEq, PartialOrd, Ord, Eq, Copy, strum::EnumString, strum::Display,
3)]
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[cfg_attr(
6 feature = "borsh",
7 derive(borsh::BorshSerialize, borsh::BorshDeserialize)
8)]
9#[strum(ascii_case_insensitive, serialize_all = "UPPERCASE")]
10#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
11pub enum Side {
12 Long,
13 Short,
14}
15
16impl Side {
17 pub fn opposite(&self) -> Self {
18 match self {
19 Side::Long => Side::Short,
20 Side::Short => Side::Long,
21 }
22 }
23}