bullet_ws_interface/
client.rs1use serde::{Deserialize, Serialize};
2
3use crate::RequestId;
4
5#[derive(Serialize, Deserialize, Clone, Debug)]
7pub struct OrderParams {
8 pub tx: String,
10}
11
12#[derive(Serialize, Deserialize, Clone, Debug)]
14#[serde(tag = "method", rename_all = "SCREAMING_SNAKE_CASE")]
15pub enum ClientMessage {
16 #[serde(alias = "subscribe")]
17 Subscribe {
18 id: Option<RequestId>,
19 #[serde(default)]
20 params: Vec<String>,
21 },
22
23 #[serde(alias = "unsubscribe")]
24 Unsubscribe {
25 id: Option<RequestId>,
26 #[serde(default)]
27 params: Vec<String>,
28 },
29
30 #[serde(alias = "list_subscriptions")]
31 ListSubscriptions { id: Option<RequestId> },
32
33 #[serde(alias = "ping")]
34 Ping { id: Option<RequestId> },
35
36 #[serde(alias = "order.place", rename = "ORDER.PLACE")]
38 OrderPlace { id: Option<RequestId>, params: OrderParams },
39
40 #[serde(alias = "order.cancel", rename = "ORDER.CANCEL")]
42 OrderCancel { id: Option<RequestId>, params: OrderParams },
43
44 #[serde(alias = "order.amend", alias = "order.modify", rename = "ORDER.AMEND")]
46 OrderAmend { id: Option<RequestId>, params: OrderParams },
47
48 #[serde(alias = "order.cancelAll", rename = "ORDER.CANCEL_ALL")]
50 OrderCancelAll { id: Option<RequestId>, params: OrderParams },
51}