/*
 * Binance Alpha REST API
 *
 * OpenAPI Specification for the Binance Alpha REST API
 *
 * 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::alpha::rest_api::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TokenListResponseDataInner {
    #[serde(rename = "tokenId", skip_serializing_if = "Option::is_none")]
    pub token_id: Option<String>,
    #[serde(rename = "chainId", skip_serializing_if = "Option::is_none")]
    pub chain_id: Option<String>,
    #[serde(rename = "chainIconUrl", skip_serializing_if = "Option::is_none")]
    pub chain_icon_url: Option<String>,
    #[serde(rename = "chainName", skip_serializing_if = "Option::is_none")]
    pub chain_name: Option<String>,
    #[serde(rename = "contractAddress", skip_serializing_if = "Option::is_none")]
    pub contract_address: Option<String>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "symbol", skip_serializing_if = "Option::is_none")]
    pub symbol: Option<String>,
    #[serde(rename = "iconUrl", skip_serializing_if = "Option::is_none")]
    pub icon_url: Option<String>,
    #[serde(rename = "price", skip_serializing_if = "Option::is_none")]
    pub price: Option<String>,
    #[serde(rename = "percentChange24h", skip_serializing_if = "Option::is_none")]
    pub percent_change24h: Option<String>,
    #[serde(rename = "volume24h", skip_serializing_if = "Option::is_none")]
    pub volume24h: Option<String>,
    #[serde(rename = "marketCap", skip_serializing_if = "Option::is_none")]
    pub market_cap: Option<String>,
    #[serde(rename = "fdv", skip_serializing_if = "Option::is_none")]
    pub fdv: Option<String>,
    #[serde(rename = "liquidity", skip_serializing_if = "Option::is_none")]
    pub liquidity: Option<String>,
    #[serde(rename = "totalSupply", skip_serializing_if = "Option::is_none")]
    pub total_supply: Option<String>,
    #[serde(rename = "circulatingSupply", skip_serializing_if = "Option::is_none")]
    pub circulating_supply: Option<String>,
    #[serde(rename = "holders", skip_serializing_if = "Option::is_none")]
    pub holders: Option<String>,
    #[serde(rename = "decimals", skip_serializing_if = "Option::is_none")]
    pub decimals: Option<i64>,
    #[serde(rename = "listingCex", skip_serializing_if = "Option::is_none")]
    pub listing_cex: Option<bool>,
    #[serde(rename = "hotTag", skip_serializing_if = "Option::is_none")]
    pub hot_tag: Option<bool>,
    #[serde(rename = "cexCoinName", skip_serializing_if = "Option::is_none")]
    pub cex_coin_name: Option<String>,
    #[serde(rename = "canTransfer", skip_serializing_if = "Option::is_none")]
    pub can_transfer: Option<bool>,
    #[serde(rename = "denomination", skip_serializing_if = "Option::is_none")]
    pub denomination: Option<i64>,
    #[serde(rename = "offline", skip_serializing_if = "Option::is_none")]
    pub offline: Option<bool>,
    #[serde(rename = "tradeDecimal", skip_serializing_if = "Option::is_none")]
    pub trade_decimal: Option<i64>,
    #[serde(rename = "alphaId", skip_serializing_if = "Option::is_none")]
    pub alpha_id: Option<String>,
    #[serde(rename = "offsell", skip_serializing_if = "Option::is_none")]
    pub offsell: Option<bool>,
    #[serde(rename = "priceHigh24h", skip_serializing_if = "Option::is_none")]
    pub price_high24h: Option<String>,
    #[serde(rename = "priceLow24h", skip_serializing_if = "Option::is_none")]
    pub price_low24h: Option<String>,
    #[serde(rename = "count24h", skip_serializing_if = "Option::is_none")]
    pub count24h: Option<String>,
    #[serde(rename = "onlineTge", skip_serializing_if = "Option::is_none")]
    pub online_tge: Option<bool>,
    #[serde(rename = "onlineAirdrop", skip_serializing_if = "Option::is_none")]
    pub online_airdrop: Option<bool>,
    #[serde(rename = "score", skip_serializing_if = "Option::is_none")]
    pub score: Option<i64>,
    #[serde(rename = "cexOffDisplay", skip_serializing_if = "Option::is_none")]
    pub cex_off_display: Option<bool>,
    #[serde(rename = "stockState", skip_serializing_if = "Option::is_none")]
    pub stock_state: Option<bool>,
    #[serde(rename = "listingTime", skip_serializing_if = "Option::is_none")]
    pub listing_time: Option<i64>,
    #[serde(rename = "mulPoint", skip_serializing_if = "Option::is_none")]
    pub mul_point: Option<i64>,
    #[serde(rename = "bnExclusiveState", skip_serializing_if = "Option::is_none")]
    pub bn_exclusive_state: Option<bool>,
}

impl TokenListResponseDataInner {
    #[must_use]
    pub fn new() -> TokenListResponseDataInner {
        TokenListResponseDataInner {
            token_id: None,
            chain_id: None,
            chain_icon_url: None,
            chain_name: None,
            contract_address: None,
            name: None,
            symbol: None,
            icon_url: None,
            price: None,
            percent_change24h: None,
            volume24h: None,
            market_cap: None,
            fdv: None,
            liquidity: None,
            total_supply: None,
            circulating_supply: None,
            holders: None,
            decimals: None,
            listing_cex: None,
            hot_tag: None,
            cex_coin_name: None,
            can_transfer: None,
            denomination: None,
            offline: None,
            trade_decimal: None,
            alpha_id: None,
            offsell: None,
            price_high24h: None,
            price_low24h: None,
            count24h: None,
            online_tge: None,
            online_airdrop: None,
            score: None,
            cex_off_display: None,
            stock_state: None,
            listing_time: None,
            mul_point: None,
            bn_exclusive_state: None,
        }
    }
}
