use crate::math::quantities::BaseLots;
#[repr(C)]
#[derive(Copy, Clone, Default, Debug, PartialEq, Eq)]
pub struct LimitOrderMarginState {
pub num_ask_orders: u32,
pub num_bid_orders: u32,
pub total_non_reduce_only_ask_base_lots: BaseLots,
pub total_non_reduce_only_bid_base_lots: BaseLots,
}
impl LimitOrderMarginState {
pub fn new(
num_ask_orders: u32,
num_bid_orders: u32,
total_non_reduce_only_ask_base_lots: BaseLots,
total_non_reduce_only_bid_base_lots: BaseLots,
) -> Self {
Self {
num_ask_orders,
num_bid_orders,
total_non_reduce_only_ask_base_lots,
total_non_reduce_only_bid_base_lots,
}
}
pub const fn empty() -> Self {
Self {
num_ask_orders: 0,
num_bid_orders: 0,
total_non_reduce_only_ask_base_lots: BaseLots::ZERO,
total_non_reduce_only_bid_base_lots: BaseLots::ZERO,
}
}
}