bybit_rust_api/rest/enums/
reject_reason.rs1use std::fmt::{Display, Formatter, Result};
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Serialize, Deserialize, PartialEq)]
6pub enum RejectReason {
7 #[serde(rename = "EC_NoError")]
8 NoError,
9 #[serde(rename = "EC_Others")]
10 Others,
11 #[serde(rename = "EC_UnknownMessageType")]
12 UnknownMessageType,
13 #[serde(rename = "EC_MissingClOrdID")]
14 MissingClOrdID,
15 #[serde(rename = "EC_MissingOrigClOrdID")]
16 MissingOrigClOrdID,
17 #[serde(rename = "EC_ClOrdIDOrigClOrdIDAreTheSame")]
18 ClOrdIDOrigClOrdIDAreTheSame,
19 #[serde(rename = "EC_DuplicatedClOrdID")]
20 DuplicatedClOrdID,
21 #[serde(rename = "EC_OrigClOrdIDDoesNotExist")]
22 OrigClOrdIDDoesNotExist,
23 #[serde(rename = "EC_TooLateToCancel")]
24 TooLateToCancel,
25 #[serde(rename = "EC_UnknownOrderType")]
26 UnknownOrderType,
27 #[serde(rename = "EC_UnknownSide")]
28 UnknownSide,
29 #[serde(rename = "EC_UnknownTimeInForce")]
30 UnknownTimeInForce,
31 #[serde(rename = "EC_WronglyRouted")]
32 WronglyRouted,
33 #[serde(rename = "EC_MarketOrderPriceIsNotZero")]
34 MarketOrderPriceIsNotZero,
35 #[serde(rename = "EC_LimitOrderInvalidPrice")]
36 LimitOrderInvalidPrice,
37 #[serde(rename = "EC_NoEnoughQtyToFill")]
38 NoEnoughQtyToFill,
39 #[serde(rename = "EC_NoImmediateQtyToFill")]
40 NoImmediateQtyToFill,
41 #[serde(rename = "EC_PerCancelRequest")]
42 PerCancelRequest,
43 #[serde(rename = "EC_MarketOrderCannotBePostOnly")]
44 MarketOrderCannotBePostOnly,
45 #[serde(rename = "EC_PostOnlyWillTakeLiquidity")]
46 PostOnlyWillTakeLiquidity,
47 #[serde(rename = "EC_CancelReplaceOrder")]
48 CancelReplaceOrder,
49 #[serde(rename = "EC_InvalidSymbolStatus")]
50 InvalidSymbolStatus,
51 #[serde(rename = "EC_CancelForNoFullFill")]
52 CancelForNoFullFill,
53}
54
55impl Display for RejectReason {
56 fn fmt(&self, f: &mut Formatter) -> Result {
57 match self {
58 RejectReason::NoError => write!(f, "EC_NoError"),
59 RejectReason::Others => write!(f, "EC_Others"),
60 RejectReason::UnknownMessageType => write!(f, "EC_UnknownMessageType"),
61 RejectReason::MissingClOrdID => write!(f, "EC_MissingClOrdID"),
62 RejectReason::MissingOrigClOrdID => write!(f, "EC_MissingOrigClOrdID"),
63 RejectReason::ClOrdIDOrigClOrdIDAreTheSame => {
64 write!(f, "EC_ClOrdIDOrigClOrdIDAreTheSame")
65 }
66 RejectReason::DuplicatedClOrdID => write!(f, "EC_DuplicatedClOrdID"),
67 RejectReason::OrigClOrdIDDoesNotExist => write!(f, "EC_OrigClOrdIDDoesNotExist"),
68 RejectReason::TooLateToCancel => write!(f, "EC_TooLateToCancel"),
69 RejectReason::UnknownOrderType => write!(f, "EC_UnknownOrderType"),
70 RejectReason::UnknownSide => write!(f, "EC_UnknownSide"),
71 RejectReason::UnknownTimeInForce => write!(f, "EC_UnknownTimeInForce"),
72 RejectReason::WronglyRouted => write!(f, "EC_WronglyRouted"),
73 RejectReason::MarketOrderPriceIsNotZero => write!(f, "EC_MarketOrderPriceIsNotZero"),
74 RejectReason::LimitOrderInvalidPrice => write!(f, "EC_LimitOrderInvalidPrice"),
75 RejectReason::NoEnoughQtyToFill => write!(f, "EC_NoEnoughQtyToFill"),
76 RejectReason::NoImmediateQtyToFill => write!(f, "EC_NoImmediateQtyToFill"),
77 RejectReason::PerCancelRequest => write!(f, "EC_PerCancelRequest"),
78 RejectReason::MarketOrderCannotBePostOnly => {
79 write!(f, "EC_MarketOrderCannotBePostOnly")
80 }
81 RejectReason::PostOnlyWillTakeLiquidity => write!(f, "EC_PostOnlyWillTakeLiquidity"),
82 RejectReason::CancelReplaceOrder => write!(f, "EC_CancelReplaceOrder"),
83 RejectReason::InvalidSymbolStatus => write!(f, "EC_InvalidSymbolStatus"),
84 RejectReason::CancelForNoFullFill => write!(f, "EC_CancelForNoFullFill"),
85 }
86 }
87}