1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Deserialize, Serialize, PartialEq)]
6pub enum OrderSide {
7 BUY,
8 SELL,
9}
10
11#[derive(Debug, Deserialize, Serialize, PartialEq)]
12#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
13pub enum OrderType {
14 Limit,
15 Market,
16 StopLoss,
17 StopLossLimit,
18 TakeProfit,
19 TakeProfitLimit,
20 LimitMaker,
21}
22
23#[derive(Debug, Deserialize, Serialize, PartialEq)]
24pub enum TimeInForce {
25 GTC,
27 IOC,
29 FOK,
31}
32
33#[derive(Debug, Deserialize, Serialize, PartialEq)]
34#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
35pub enum OrderStatus {
36 New,
37 PartiallyFilled,
38 Filled,
39 Canceled,
40 PendingCancel,
41 Rejected,
42 Expired,
43 ExpiredInMatch,
44}
45
46#[derive(Debug, Deserialize, Serialize, PartialEq)]
47pub enum OrderResponseType {
48 ACK,
49 RESULT,
50 FULL,
51}
52
53#[derive(Debug, Deserialize, Serialize, PartialEq)]
55#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
56pub enum SideEffectType {
57 NoSideEffect,
58 MarginBuy,
59 AutoRepay,
60 AutoBorrowRepay,
61}
62
63#[derive(Debug, Deserialize, Serialize, PartialEq)]
65#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
66pub enum STPMode {
67 None,
68 ExpireMaker,
69 ExpireTaker,
70 ExpireBoth,
71 Decrement,
72}
73
74#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq)]
78#[serde(rename_all = "UPPERCASE")]
79pub enum IsIsolated {
80 True,
81 False,
82}
83
84#[derive(Debug, Deserialize, Serialize, PartialEq)]
85#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
86pub enum MarginLevelStatus {
87 Excessive,
88 Normal,
89 MarginCall,
90 PreLiquidation,
91 ForceLiquidation,
92}
93
94#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
95pub enum KlineInterval {
96 #[serde(rename = "1s")]
97 Second1,
98 #[serde(rename = "1m")]
99 Minute1,
100 #[serde(rename = "3m")]
101 Minute3,
102 #[serde(rename = "5m")]
103 Minute5,
104 #[serde(rename = "15m")]
105 Minute15,
106 #[serde(rename = "30m")]
107 Minute30,
108 #[serde(rename = "1h")]
109 Hour1,
110 #[serde(rename = "2h")]
111 Hour2,
112 #[serde(rename = "4h")]
113 Hour4,
114 #[serde(rename = "6h")]
115 Hour6,
116 #[serde(rename = "8h")]
117 Hour8,
118 #[serde(rename = "12h")]
119 Hour12,
120 #[serde(rename = "1d")]
121 Day1,
122 #[serde(rename = "3d")]
123 Day3,
124 #[serde(rename = "1w")]
125 Week1,
126 #[serde(rename = "1M")]
127 Month1,
128}