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 MarketInfo {
    #[serde(rename = "market_id")]
    pub market_id: i32,
    #[serde(rename = "index_price")]
    pub index_price: String,
    #[serde(rename = "mark_price")]
    pub mark_price: String,
    #[serde(rename = "open_interest")]
    pub open_interest: String,
    #[serde(rename = "last_trade_price")]
    pub last_trade_price: String,
    #[serde(rename = "current_funding_rate")]
    pub current_funding_rate: String,
    #[serde(rename = "funding_rate")]
    pub funding_rate: String,
    #[serde(rename = "funding_timestamp")]
    pub funding_timestamp: i64,
    #[serde(rename = "daily_base_token_volume")]
    pub daily_base_token_volume: f64,
    #[serde(rename = "daily_quote_token_volume")]
    pub daily_quote_token_volume: f64,
    #[serde(rename = "daily_price_low")]
    pub daily_price_low: f64,
    #[serde(rename = "daily_price_high")]
    pub daily_price_high: f64,
    #[serde(rename = "daily_price_change")]
    pub daily_price_change: f64,
}

impl MarketInfo {
    pub fn new(
        market_id: i32,
        index_price: String,
        mark_price: String,
        open_interest: String,
        last_trade_price: String,
        current_funding_rate: String,
        funding_rate: String,
        funding_timestamp: i64,
        daily_base_token_volume: f64,
        daily_quote_token_volume: f64,
        daily_price_low: f64,
        daily_price_high: f64,
        daily_price_change: f64,
    ) -> MarketInfo {
        MarketInfo {
            market_id,
            index_price,
            mark_price,
            open_interest,
            last_trade_price,
            current_funding_rate,
            funding_rate,
            funding_timestamp,
            daily_base_token_volume,
            daily_quote_token_volume,
            daily_price_low,
            daily_price_high,
            daily_price_change,
        }
    }
}