use pretty_simple_display::{DebugPretty, DisplaySimple};
use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;
#[skip_serializing_none]
#[derive(DebugPretty, DisplaySimple, Clone, Serialize, Deserialize)]
pub struct MmpConfig {
pub index_name: String,
pub mmp_group: Option<String>,
pub interval: u32,
pub frozen_time: u32,
pub quantity_limit: Option<f64>,
pub delta_limit: Option<f64>,
pub vega_limit: Option<f64>,
pub max_quote_quantity: Option<f64>,
}
#[skip_serializing_none]
#[derive(DebugPretty, DisplaySimple, Clone, Serialize, Deserialize)]
pub struct MmpStatus {
pub index_name: String,
pub frozen_until: u64,
pub mmp_group: Option<String>,
}
#[skip_serializing_none]
#[derive(DebugPretty, DisplaySimple, Clone, Default, Serialize, Deserialize)]
pub struct SetMmpConfigRequest {
pub index_name: String,
pub interval: u32,
pub frozen_time: u32,
pub quantity_limit: Option<f64>,
pub delta_limit: Option<f64>,
pub vega_limit: Option<f64>,
pub max_quote_quantity: Option<f64>,
pub mmp_group: Option<String>,
pub block_rfq: Option<bool>,
}