hyperliquid_rust_sdk_abrkn/exchange/
exchange_responses.rs1use serde::Deserialize;
2
3#[derive(Deserialize, Debug, Clone)]
4pub struct RestingOrder {
5 pub oid: u64,
6}
7
8#[derive(Deserialize, Debug, Clone)]
9#[serde(rename_all = "camelCase")]
10pub struct FilledOrder {
11 pub total_sz: String,
12 pub avg_px: String,
13 pub oid: u64,
14}
15
16#[derive(Deserialize, Debug, Clone)]
17#[serde(rename_all = "camelCase")]
18pub enum ExchangeDataStatus {
19 Success,
20 WaitingForFill,
21 WaitingForTrigger,
22 Error(String),
23 Resting(RestingOrder),
24 Filled(FilledOrder),
25}
26
27#[derive(Deserialize, Debug, Clone)]
28pub struct ExchangeDataStatuses {
29 pub statuses: Vec<ExchangeDataStatus>,
30}
31
32#[derive(Deserialize, Debug, Clone)]
33pub struct ExchangeResponse {
34 #[serde(rename = "type")]
35 pub response_type: String,
36 pub data: Option<ExchangeDataStatuses>,
37}
38
39#[derive(Deserialize, Debug, Clone)]
40#[serde(rename_all = "camelCase")]
41#[serde(tag = "status", content = "response")]
42pub enum ExchangeResponseStatus {
43 Ok(ExchangeResponse),
44 Err(String),
45}