use crate::account::ClearinghouseState;
use crate::utils::Address;
use serde::Deserialize;
#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DexState {
pub dex: String,
pub user: Address,
#[serde(rename = "clearinghouseState")]
pub state: ClearinghouseState,
}
#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AllDexsState {
pub user: Address,
#[serde(rename = "clearinghouseStates")]
pub states: Vec<(String, ClearinghouseState)>,
}
#[derive(Debug, Clone, PartialEq, Eq, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SpotState {
pub user: Address,
#[serde(rename = "spotState")]
pub state: crate::account::SpotState,
}
#[cfg(test)]
#[path = "tests/state.rs"]
mod tests;