use crate::{
enums::{JournalOp, OrderOptions},
order::{LimitOrder, OrderId, Price},
};
use serde::{Deserialize, Serialize};
use std::collections::{BTreeMap, HashMap, VecDeque};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct JournalLog {
pub op_id: u64,
pub ts: i64,
pub op: JournalOp,
pub o: OrderOptions,
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
pub struct Snapshot {
pub orders: HashMap<OrderId, LimitOrder>,
pub bids: BTreeMap<Price, VecDeque<OrderId>>,
pub asks: BTreeMap<Price, VecDeque<OrderId>>,
pub last_op: u64,
pub next_order_id: OrderId,
pub ts: i64,
}