polymarket 0.1.0

Rust SDK for Polymarket prediction market - CLOB trading, on-chain operations, and WebSocket streaming
Documentation
use super::{Market, Tag};
use chrono::{DateTime, Utc};

#[derive(Debug, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Event {
    // Required core fields
    pub id: String,
    pub ticker: String,
    pub slug: String,
    pub title: String,
    pub description: String,
    pub resolution_source: String,
    pub start_date: DateTime<Utc>,
    pub end_date: DateTime<Utc>,
    pub active: bool,
    pub closed: bool,
    pub archived: bool,
    pub restricted: bool,
    pub liquidity: f64,
    pub open_interest: f64,
    pub created_at: DateTime<Utc>,
    pub markets: Vec<Market>,

    // Optional fields with defaults
    #[serde(default)]
    pub creation_date: Option<DateTime<Utc>>,
    #[serde(default)]
    pub volume: Option<f64>,
    #[serde(default)]
    pub updated_at: Option<DateTime<Utc>>,
    #[serde(default)]
    pub series_slug: Option<String>,
    #[serde(default)]
    pub tags: Vec<Tag>,
    #[serde(default)]
    pub comment_count: Option<i64>,
    #[serde(default)]
    pub competitive: Option<f64>,  // Changed from bool to f64
    #[serde(default)]
    pub cyom: Option<bool>,
    #[serde(default)]
    pub deploying: Option<bool>,
    #[serde(default)]
    pub enable_neg_risk: Option<bool>,
    #[serde(default)]
    pub enable_order_book: Option<bool>,
    #[serde(default)]
    pub featured: Option<bool>,
    #[serde(default)]
    pub icon: Option<String>,
    #[serde(default)]
    pub image: Option<String>,
    #[serde(default)]
    pub liquidity_clob: Option<f64>,
    #[serde(default)]
    pub neg_risk: Option<bool>,
    #[serde(default)]
    pub neg_risk_augmented: Option<bool>,
    #[serde(default)]
    pub new: Option<bool>,
    #[serde(default)]
    pub pending_deployment: Option<bool>,
    #[serde(default)]
    pub series: Option<serde_json::Value>,
    #[serde(default)]
    pub automatically_active: Option<bool>,
    #[serde(default)]
    pub volume_24hr: Option<f64>,
    #[serde(default)]
    pub volume_1wk: Option<f64>,
    #[serde(default)]
    pub volume_1mo: Option<f64>,
    #[serde(default)]
    pub volume_1yr: Option<f64>,
    #[serde(default)]
    pub show_all_outcomes: Option<bool>,
    #[serde(default)]
    pub show_market_images: Option<bool>,
}