Skip to content

Commit f907b33

Browse files
committed
Improve BitMEX book handling and instrument parsing
1 parent 37aeb20 commit f907b33

File tree

10 files changed

+457
-198
lines changed

10 files changed

+457
-198
lines changed

crates/adapters/bitmex/src/http/models.rs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ pub struct Instrument {
6969
#[serde(rename = "typ")]
7070
pub instrument_type: InstrumentType,
7171
pub listing: DateTime<Utc>,
72-
pub front: DateTime<Utc>,
72+
pub front: Option<DateTime<Utc>>,
7373
pub expiry: Option<DateTime<Utc>>,
7474
pub settle: Option<DateTime<Utc>>,
7575
pub listed_settle: Option<DateTime<Utc>>,
@@ -82,12 +82,12 @@ pub struct Instrument {
8282
pub calc_interval: Option<DateTime<Utc>>,
8383
pub publish_interval: Option<DateTime<Utc>>,
8484
pub publish_time: Option<DateTime<Utc>>,
85-
pub max_order_qty: f64,
86-
pub max_price: f64,
87-
pub lot_size: f64,
85+
pub max_order_qty: Option<f64>,
86+
pub max_price: Option<f64>,
87+
pub lot_size: Option<f64>,
8888
pub tick_size: f64,
8989
pub multiplier: f64,
90-
pub settl_currency: String,
90+
pub settl_currency: Option<String>,
9191
pub underlying_to_position_multiplier: Option<f64>,
9292
pub underlying_to_settle_multiplier: Option<f64>,
9393
pub quote_to_settle_multiplier: Option<f64>,
@@ -98,11 +98,11 @@ pub struct Instrument {
9898
pub risk_limit: Option<f64>,
9999
pub risk_step: Option<f64>,
100100
pub limit: Option<f64>,
101-
pub taxed: bool,
102-
pub deleverage: bool,
103-
pub maker_fee: f64,
104-
pub taker_fee: f64,
105-
pub settlement_fee: f64,
101+
pub taxed: Option<bool>,
102+
pub deleverage: Option<bool>,
103+
pub maker_fee: Option<f64>,
104+
pub taker_fee: Option<f64>,
105+
pub settlement_fee: Option<f64>,
106106
pub funding_base_symbol: Option<String>,
107107
pub funding_quote_symbol: Option<String>,
108108
pub funding_premium_symbol: Option<String>,
@@ -115,15 +115,15 @@ pub struct Instrument {
115115
pub prev_close_price: Option<f64>,
116116
pub limit_down_price: Option<f64>,
117117
pub limit_up_price: Option<f64>,
118-
pub total_volume: f64,
119-
pub volume: f64,
120-
pub volume_24h: f64,
121-
pub prev_total_turnover: f64,
122-
pub total_turnover: f64,
123-
pub turnover: f64,
124-
pub turnover_24h: f64,
125-
pub home_notional_24h: f64,
126-
pub foreign_notional_24h: f64,
118+
pub total_volume: Option<f64>,
119+
pub volume: Option<f64>,
120+
pub volume_24h: Option<f64>,
121+
pub prev_total_turnover: Option<f64>,
122+
pub total_turnover: Option<f64>,
123+
pub turnover: Option<f64>,
124+
pub turnover_24h: Option<f64>,
125+
pub home_notional_24h: Option<f64>,
126+
pub foreign_notional_24h: Option<f64>,
127127
pub prev_price_24h: Option<f64>,
128128
pub vwap: Option<f64>,
129129
pub high_price: Option<f64>,
@@ -138,15 +138,15 @@ pub struct Instrument {
138138
pub impact_bid_price: Option<f64>,
139139
pub impact_mid_price: Option<f64>,
140140
pub impact_ask_price: Option<f64>,
141-
pub has_liquidity: bool,
142-
pub open_interest: f64,
143-
pub open_value: f64,
141+
pub has_liquidity: Option<bool>,
142+
pub open_interest: Option<f64>,
143+
pub open_value: Option<f64>,
144144
pub fair_method: Option<String>,
145145
pub fair_basis_rate: Option<f64>,
146146
pub fair_basis: Option<f64>,
147147
pub fair_price: Option<f64>,
148148
pub mark_method: Option<String>,
149-
pub mark_price: f64,
149+
pub mark_price: Option<f64>,
150150
pub indicative_settle_price: Option<f64>,
151151
pub settled_price_adjustment_rate: Option<f64>,
152152
pub settled_price: Option<f64>,

0 commit comments

Comments
 (0)