binance-sdk 70.1.1

This is a lightweight library that works as a connector to the Binance public API.
Documentation
/*
 * Stocks Trading REST API
 *
 * REST APIs for Binance Stocks Trading. All endpoints under `/sapi/v1/equity/_*`.
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

#![allow(unused_imports)]
use crate::stocks::rest_api::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ExchangeInfoResponseSymbolsInner {
    /// US-equity ticker, e.g. `AAPL`.
    #[serde(rename = "symbol", skip_serializing_if = "Option::is_none")]
    pub symbol: Option<String>,
    /// Trading direction allowed — one of `BUY_SELL` / `BUY` / `SELL` / `NONE`.
    #[serde(rename = "tradability", skip_serializing_if = "Option::is_none")]
    pub tradability: Option<String>,
    /// Last time the `tradability` value was updated (ms epoch).
    #[serde(
        rename = "tradabilityUpdateTime",
        skip_serializing_if = "Option::is_none"
    )]
    pub tradability_update_time: Option<i64>,
    /// Whether the symbol supports overnight trading.
    #[serde(rename = "overnightSupported", skip_serializing_if = "Option::is_none")]
    pub overnight_supported: Option<bool>,
    /// Whether fractional shares are supported during the regular session.
    #[serde(rename = "fractionable", skip_serializing_if = "Option::is_none")]
    pub fractionable: Option<bool>,
    /// Whether fractional shares are supported during extended hours.
    #[serde(rename = "fractionableEh", skip_serializing_if = "Option::is_none")]
    pub fractionable_eh: Option<bool>,
    /// Whether extended-session trading is enabled.
    #[serde(rename = "extendedSession", skip_serializing_if = "Option::is_none")]
    pub extended_session: Option<bool>,
    /// Maximum number of open orders a user may have for this symbol.
    #[serde(rename = "maxNumOrders", skip_serializing_if = "Option::is_none")]
    pub max_num_orders: Option<i32>,
    /// Lot size — minimum increment for `quantity`.
    #[serde(rename = "stepSize", skip_serializing_if = "Option::is_none")]
    pub step_size: Option<String>,
    /// Upper price multiplier limit relative to reference.
    #[serde(rename = "multiplierUp", skip_serializing_if = "Option::is_none")]
    pub multiplier_up: Option<String>,
    /// Lower price multiplier limit relative to reference.
    #[serde(rename = "multiplierDown", skip_serializing_if = "Option::is_none")]
    pub multiplier_down: Option<String>,
    /// Minimum allowed `quantity`.
    #[serde(rename = "minQty", skip_serializing_if = "Option::is_none")]
    pub min_qty: Option<String>,
    /// Maximum allowed `quantity`.
    #[serde(rename = "maxQty", skip_serializing_if = "Option::is_none")]
    pub max_qty: Option<String>,
    /// Minimum order notional (USD).
    #[serde(rename = "minNotional", skip_serializing_if = "Option::is_none")]
    pub min_notional: Option<String>,
    /// Maximum order notional (USD).
    #[serde(rename = "maxNotional", skip_serializing_if = "Option::is_none")]
    pub max_notional: Option<String>,
    /// Listing timestamp (ms epoch).
    #[serde(rename = "listingTime", skip_serializing_if = "Option::is_none")]
    pub listing_time: Option<i64>,
    /// Scheduled delisting timestamp (ms epoch); `null` if not scheduled for delisting.
    #[serde(
        rename = "delistingTime",
        default,
        with = "::serde_with::rust::double_option",
        skip_serializing_if = "Option::is_none"
    )]
    pub delisting_time: Option<Option<i64>>,
}

impl ExchangeInfoResponseSymbolsInner {
    #[must_use]
    pub fn new() -> ExchangeInfoResponseSymbolsInner {
        ExchangeInfoResponseSymbolsInner {
            symbol: None,
            tradability: None,
            tradability_update_time: None,
            overnight_supported: None,
            fractionable: None,
            fractionable_eh: None,
            extended_session: None,
            max_num_orders: None,
            step_size: None,
            multiplier_up: None,
            multiplier_down: None,
            min_qty: None,
            max_qty: None,
            min_notional: None,
            max_notional: None,
            listing_time: None,
            delisting_time: None,
        }
    }
}