/*
 * Binance Spot REST API
 *
 * OpenAPI Specifications for the Binance Spot REST API
 *
 * API documents:
 * - [Github rest-api documentation file](https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md)
 * - [General API information for rest-api on website](https://developers.binance.com/docs/binance-spot-api-docs/rest-api/general-api-information)
 *
 *
 * 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::spot::rest_api::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ExchangeInfoResponse {
    #[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
    pub timezone: Option<String>,
    #[serde(rename = "serverTime", skip_serializing_if = "Option::is_none")]
    pub server_time: Option<i64>,
    #[serde(rename = "rateLimits", skip_serializing_if = "Option::is_none")]
    pub rate_limits: Option<Vec<models::RateLimits>>,
    #[serde(rename = "exchangeFilters", skip_serializing_if = "Option::is_none")]
    pub exchange_filters: Option<Vec<models::ExchangeFilters>>,
    #[serde(rename = "symbols", skip_serializing_if = "Option::is_none")]
    pub symbols: Option<Vec<models::ExchangeInfoResponseSymbolsInner>>,
}

impl ExchangeInfoResponse {
    #[must_use]
    pub fn new() -> ExchangeInfoResponse {
        ExchangeInfoResponse {
            timezone: None,
            server_time: None,
            rate_limits: None,
            exchange_filters: None,
            symbols: None,
        }
    }
}
