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,
}
}
}