Skip to main content

nautilus_binance/spot/sbe/generated/
expiry_reason.rs

1#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
2#[repr(u8)]
3pub enum ExpiryReason {
4    Rejected = 0x1_u8,
5    ExchangeCanceled = 0x2_u8,
6    OcoTrigger = 0x3_u8,
7    OtoPhaseOneExpired = 0x4_u8,
8    UnfilledIocQuantityExpired = 0x5_u8,
9    UnfilledFokOrderExpired = 0x6_u8,
10    InsufficientLiquidity = 0x7_u8,
11    ExecutionRulePriceRangeExceeded = 0x8_u8,
12    NonRepresentable = 0xfe_u8,
13    #[default]
14    NullVal = 0xff_u8,
15}
16impl From<u8> for ExpiryReason {
17    #[inline]
18    fn from(v: u8) -> Self {
19        match v {
20            0x1_u8 => Self::Rejected,
21            0x2_u8 => Self::ExchangeCanceled,
22            0x3_u8 => Self::OcoTrigger,
23            0x4_u8 => Self::OtoPhaseOneExpired,
24            0x5_u8 => Self::UnfilledIocQuantityExpired,
25            0x6_u8 => Self::UnfilledFokOrderExpired,
26            0x7_u8 => Self::InsufficientLiquidity,
27            0x8_u8 => Self::ExecutionRulePriceRangeExceeded,
28            0xfe_u8 => Self::NonRepresentable,
29            _ => Self::NullVal,
30        }
31    }
32}
33impl From<ExpiryReason> for u8 {
34    #[inline]
35    fn from(v: ExpiryReason) -> Self {
36        match v {
37            ExpiryReason::Rejected => 0x1_u8,
38            ExpiryReason::ExchangeCanceled => 0x2_u8,
39            ExpiryReason::OcoTrigger => 0x3_u8,
40            ExpiryReason::OtoPhaseOneExpired => 0x4_u8,
41            ExpiryReason::UnfilledIocQuantityExpired => 0x5_u8,
42            ExpiryReason::UnfilledFokOrderExpired => 0x6_u8,
43            ExpiryReason::InsufficientLiquidity => 0x7_u8,
44            ExpiryReason::ExecutionRulePriceRangeExceeded => 0x8_u8,
45            ExpiryReason::NonRepresentable => 0xfe_u8,
46            ExpiryReason::NullVal => 0xff_u8,
47        }
48    }
49}
50impl core::str::FromStr for ExpiryReason {
51    type Err = ();
52
53    #[inline]
54    fn from_str(v: &str) -> core::result::Result<Self, Self::Err> {
55        match v {
56            "Rejected" => Ok(Self::Rejected),
57            "ExchangeCanceled" => Ok(Self::ExchangeCanceled),
58            "OcoTrigger" => Ok(Self::OcoTrigger),
59            "OtoPhaseOneExpired" => Ok(Self::OtoPhaseOneExpired),
60            "UnfilledIocQuantityExpired" => Ok(Self::UnfilledIocQuantityExpired),
61            "UnfilledFokOrderExpired" => Ok(Self::UnfilledFokOrderExpired),
62            "InsufficientLiquidity" => Ok(Self::InsufficientLiquidity),
63            "ExecutionRulePriceRangeExceeded" => Ok(Self::ExecutionRulePriceRangeExceeded),
64            "NonRepresentable" => Ok(Self::NonRepresentable),
65            _ => Ok(Self::NullVal),
66        }
67    }
68}
69impl core::fmt::Display for ExpiryReason {
70    #[inline]
71    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
72        match self {
73            Self::Rejected => write!(f, "Rejected"),
74            Self::ExchangeCanceled => write!(f, "ExchangeCanceled"),
75            Self::OcoTrigger => write!(f, "OcoTrigger"),
76            Self::OtoPhaseOneExpired => write!(f, "OtoPhaseOneExpired"),
77            Self::UnfilledIocQuantityExpired => write!(f, "UnfilledIocQuantityExpired"),
78            Self::UnfilledFokOrderExpired => write!(f, "UnfilledFokOrderExpired"),
79            Self::InsufficientLiquidity => write!(f, "InsufficientLiquidity"),
80            Self::ExecutionRulePriceRangeExceeded => write!(f, "ExecutionRulePriceRangeExceeded"),
81            Self::NonRepresentable => write!(f, "NonRepresentable"),
82            Self::NullVal => write!(f, "NullVal"),
83        }
84    }
85}