lighter-rust 0.2.0

A comprehensive Rust SDK for the Lighter trading platform with async/await, WebSocket support, and Ethereum wallet integration
/*
 *
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document:
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Liquidation {
    #[serde(rename = "id")]
    pub id: i64,
    #[serde(rename = "market_id")]
    pub market_id: i32,
    #[serde(rename = "type")]
    pub r#type: Type,
    #[serde(rename = "trade")]
    pub trade: Box<models::LiqTrade>,
    #[serde(rename = "info")]
    pub info: Box<models::LiquidationInfo>,
    #[serde(rename = "executed_at")]
    pub executed_at: i64,
}

impl Liquidation {
    pub fn new(
        id: i64,
        market_id: i32,
        r#type: Type,
        trade: models::LiqTrade,
        info: models::LiquidationInfo,
        executed_at: i64,
    ) -> Liquidation {
        Liquidation {
            id,
            market_id,
            r#type,
            trade: Box::new(trade),
            info: Box::new(info),
            executed_at,
        }
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "partial")]
    Partial,
    #[serde(rename = "deleverage")]
    Deleverage,
}

impl Default for Type {
    fn default() -> Type {
        Self::Partial
    }
}