use crate::account::history::PositionFunding;
use crate::account::holdings::BoPosition;
use crate::account::{Asset, Order, Position};
use crate::live::account::Volumes;
use crate::markets::Trade;
use crate::utils::{AccountIndex, MarketId};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AccountMarket {
pub market: MarketId,
pub account: AccountIndex,
pub assets: Vec<Asset>,
pub fundings: Vec<PositionFunding>,
pub orders: Vec<Order>,
pub position: Option<Position>,
pub bo_position: Option<BoPosition>,
pub trades: Vec<Trade>,
pub transaction_time: Option<u64>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AccountOrders {
pub market: MarketId,
pub account: AccountIndex,
pub orders: Vec<Order>,
pub nonce: u64,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AccountAllOrders {
pub account: AccountIndex,
pub orders: Vec<Order>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AccountAllTrades {
pub account: AccountIndex,
pub trades: Vec<Trade>,
pub volumes: Option<Volumes>,
}