use crate::{
prelude::{Currency, LimitOrder, MarketState, Pending, PriceFilter},
Result,
};
pub trait MarketUpdate<Q, UserOrderId>: std::fmt::Debug
where
Q: Currency,
UserOrderId: Clone,
{
fn limit_order_filled(&self, limit_order: &LimitOrder<Q, UserOrderId, Pending<Q>>)
-> Option<Q>;
fn validate_market_update(&self, price_filter: &PriceFilter) -> Result<()>;
fn update_market_state(&self, market_state: &mut MarketState);
}