nautilus_kraken/websocket/spot_v2/
enums.rs1use serde::{Deserialize, Serialize};
19use strum::{AsRefStr, Display, EnumString, FromRepr};
20
21#[derive(
22 Clone,
23 Copy,
24 Debug,
25 Display,
26 AsRefStr,
27 EnumString,
28 FromRepr,
29 PartialEq,
30 Eq,
31 Hash,
32 Serialize,
33 Deserialize,
34)]
35#[cfg_attr(
36 feature = "python",
37 pyo3::pyclass(module = "nautilus_trader.core.nautilus_pyo3.kraken", eq, eq_int)
38)]
39#[serde(rename_all = "lowercase")]
40#[strum(ascii_case_insensitive, serialize_all = "lowercase")]
41pub enum KrakenWsMethod {
42 Subscribe,
43 Unsubscribe,
44 Ping,
45 Pong,
46}
47
48#[derive(
49 Clone,
50 Copy,
51 Debug,
52 Display,
53 AsRefStr,
54 EnumString,
55 FromRepr,
56 PartialEq,
57 Eq,
58 Hash,
59 Serialize,
60 Deserialize,
61)]
62#[cfg_attr(
63 feature = "python",
64 pyo3::pyclass(module = "nautilus_trader.core.nautilus_pyo3.kraken", eq, eq_int)
65)]
66#[serde(rename_all = "lowercase")]
67#[strum(ascii_case_insensitive, serialize_all = "lowercase")]
68pub enum KrakenWsChannel {
69 Ticker,
70 #[serde(rename = "trade")]
71 #[strum(serialize = "trade")]
72 Trade,
73 #[serde(rename = "book")]
74 #[strum(serialize = "book")]
75 Book,
76 #[serde(rename = "ohlc")]
77 #[strum(serialize = "ohlc")]
78 Ohlc,
79 #[serde(rename = "spread")]
80 #[strum(serialize = "spread")]
81 Spread,
82 #[serde(rename = "executions")]
84 #[strum(serialize = "executions")]
85 Executions,
86 #[serde(rename = "balances")]
87 #[strum(serialize = "balances")]
88 Balances,
89}
90
91#[derive(
92 Clone,
93 Copy,
94 Debug,
95 Display,
96 AsRefStr,
97 EnumString,
98 FromRepr,
99 PartialEq,
100 Eq,
101 Hash,
102 Serialize,
103 Deserialize,
104)]
105#[cfg_attr(
106 feature = "python",
107 pyo3::pyclass(module = "nautilus_trader.core.nautilus_pyo3.kraken", eq, eq_int)
108)]
109#[serde(rename_all = "lowercase")]
110#[strum(ascii_case_insensitive, serialize_all = "lowercase")]
111pub enum KrakenWsMessageType {
112 Heartbeat,
113 Status,
114 Subscribe,
115 Unsubscribe,
116 Update,
117 Snapshot,
118 Error,
119}
120
121#[derive(
123 Clone,
124 Copy,
125 Debug,
126 Display,
127 AsRefStr,
128 EnumString,
129 FromRepr,
130 PartialEq,
131 Eq,
132 Hash,
133 Serialize,
134 Deserialize,
135)]
136#[serde(rename_all = "snake_case")]
137#[strum(ascii_case_insensitive, serialize_all = "snake_case")]
138pub enum KrakenExecType {
139 #[serde(rename = "pending_new")]
141 #[strum(serialize = "pending_new")]
142 PendingNew,
143 New,
145 Trade,
147 Filled,
149 #[serde(rename = "iceberg_refill")]
151 #[strum(serialize = "iceberg_refill")]
152 IcebergRefill,
153 Canceled,
155 Expired,
157 Amended,
159 Restated,
161 Status,
163}
164
165#[derive(
167 Clone,
168 Copy,
169 Debug,
170 Display,
171 AsRefStr,
172 EnumString,
173 FromRepr,
174 PartialEq,
175 Eq,
176 Hash,
177 Serialize,
178 Deserialize,
179)]
180#[serde(rename_all = "snake_case")]
181#[strum(ascii_case_insensitive, serialize_all = "snake_case")]
182pub enum KrakenWsOrderStatus {
183 #[serde(rename = "pending_new")]
185 #[strum(serialize = "pending_new")]
186 PendingNew,
187 New,
189 #[serde(rename = "partially_filled")]
191 #[strum(serialize = "partially_filled")]
192 PartiallyFilled,
193 Filled,
195 Canceled,
197 Expired,
199 Triggered,
201}
202
203#[derive(
205 Clone,
206 Copy,
207 Debug,
208 Display,
209 AsRefStr,
210 EnumString,
211 FromRepr,
212 PartialEq,
213 Eq,
214 Hash,
215 Serialize,
216 Deserialize,
217)]
218#[serde(rename_all = "lowercase")]
219#[strum(ascii_case_insensitive, serialize_all = "lowercase")]
220pub enum KrakenLiquidityInd {
221 #[serde(rename = "m")]
223 #[strum(serialize = "m")]
224 Maker,
225 #[serde(rename = "t")]
227 #[strum(serialize = "t")]
228 Taker,
229}