1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarkPrice {
    pub symbol: String,
    pub granularity: i32,
    pub time_point: i64,
    pub value: f32,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginInfo {
    pub currency_list: Vec<String>,
    pub warning_debt_ratio: String,
    pub liq_debt_ratio: String,
    pub max_leverage: i32,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginAccounts {
    pub accounts: Vec<MarginAccount>,
    pub debt_ratio: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginAccount {
    pub available_balance: String,
    pub currency: String,
    pub hold_balance: String,
    pub liability: String,
    pub max_borrow_size: String,
    pub total_balance: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct BorrowOrderId {
    pub order_id: String,
    pub currency: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct BorrowOrder {
    pub currency: String,
    pub filled: String,
    pub match_list: Vec<MatchList>,
    pub order_id: String,
    pub size: String,
    pub status: String,
}


#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MatchList {
    pub currency: String,
    pub daily_int_rate: String,
    pub size: String,
    pub term: i32,
    pub timestamp: i64,
    pub trade_id: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct RepayRecord {
    pub accrued_interest: String,
    pub created_at: i64,
    pub currency: String,
    pub daily_int_rate: String,
    pub liability: String,
    pub maturity_time: i64,
    pub principal: String,
    pub rapaid_size: Option<String>,
    pub term: i32,
    pub trade_id: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct RepaymentRecord {
    pub currency: String,
    pub daily_int_rate: String,
    pub interest: String,
    pub principal: String,
    pub rapaid_size: String,
    pub repay_time: String,
    pub term: i32,
    pub trade_id: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginOrderId {
    pub order_id: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginOrder {
    pub order_id: String,
    pub currency: String,
    pub size: String,
    pub filled_size: String,
    pub daily_int_rate: String,
    pub term: i32,
    pub created_at: i64,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginHistory {
    pub order_id: String,
    pub currency: String,
    pub size: String,
    pub filled_state: Option<String>,
    pub daily_int_rate: String,
    pub term: i32,
    pub created_at: i64,
    pub status: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct LendOrder {
    pub trade_id: String,
    pub currency: String,
    pub size: String,
    pub accrued_interest: String,
    pub repaid: String,
    pub daily_int_rate: String,
    pub term: i32,
    pub maturity_time: i64,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct LendHistory {
    pub trade_id: String,
    pub currency: String,
    pub size: String,
    pub interest: String,
    pub repaid: String,
    pub daily_int_rate: String,
    pub term: i32,
    pub settled_at: i64,
    pub note: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct LendRecord {
    pub currency: String,
    pub outstanding: String,
    pub filled_size: String,
    pub accrued_interest: String,
    pub realized_profit: String,
    pub is_auto_lend: bool
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct LendMarketData {
    pub daily_int_rate: String,
    pub term: i32,
    pub size: String,
}

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MarginTradeData {
    pub trade_id: String,
    pub currency: String,
    pub size: String,
    pub daily_int_rate: String,
    pub term: i32,
    pub timestamp: i64,
}