dex-connector 0.0.11

connections to dexes
Documentation
use std::fmt;

use serde::Deserialize;

mod dex_connector;
mod dex_request;
mod dex_websocket;
mod rabbitx_connector;

pub use dex_connector::DexConnector;
pub use dex_request::DexError;
pub use rabbitx_connector::*;

#[derive(Debug, Clone, PartialEq, Default, Deserialize)]
pub enum OrderSide {
    #[default]
    Long,
    Short,
}

impl fmt::Display for OrderSide {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        match self {
            OrderSide::Long => write!(f, "long"),
            OrderSide::Short => write!(f, "short"),
        }
    }
}

#[derive(Deserialize, Debug, Default)]
pub struct CommonErrorResponse {
    pub message: Option<String>,
}

#[derive(Deserialize, Debug, Default)]
pub struct TickerResponse {
    pub symbol: String,
    pub price: f64,
}

#[derive(Deserialize, Debug, Default)]
pub struct FilledOrder {
    pub order_id: String,
    pub filled_side: OrderSide,
    pub filled_size: f64,
    pub filled_value: f64,
    pub filled_fee: f64,
}

#[derive(Deserialize, Debug, Default)]
pub struct FilledOrdersResponse {
    pub orders: Vec<FilledOrder>,
}

#[derive(Deserialize, Debug, Default)]
pub struct BalanceResponse {
    pub equity: f64,
    pub balance: f64,
}

#[derive(Deserialize, Debug, Default)]
pub struct CreateOrderResponse {
    pub order_id: String,
}