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 {
39 id: Option<RequestId>,
40 params: OrderParams,
41 },
42
43 #[serde(alias = "order.cancel", rename = "ORDER.CANCEL")]
45 OrderCancel {
46 id: Option<RequestId>,
47 params: OrderParams,
48 },
49
50 #[serde(alias = "order.amend", alias = "order.modify", rename = "ORDER.AMEND")]
52 OrderAmend {
53 id: Option<RequestId>,
54 params: OrderParams,
55 },
56
57 #[serde(alias = "order.cancelAll", rename = "ORDER.CANCEL_ALL")]
59 OrderCancelAll {
60 id: Option<RequestId>,
61 params: OrderParams,
62 },
63}