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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AllCoinsInformationResponseInner {
    #[serde(rename = "coin", skip_serializing_if = "Option::is_none")]
    pub coin: Option<String>,
    #[serde(rename = "depositAllEnable", skip_serializing_if = "Option::is_none")]
    pub deposit_all_enable: Option<bool>,
    #[serde(rename = "withdrawAllEnable", skip_serializing_if = "Option::is_none")]
    pub withdraw_all_enable: Option<bool>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "free", skip_serializing_if = "Option::is_none")]
    pub free: Option<String>,
    #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
    pub locked: Option<String>,
    #[serde(rename = "freeze", skip_serializing_if = "Option::is_none")]
    pub freeze: Option<String>,
    #[serde(rename = "withdrawing", skip_serializing_if = "Option::is_none")]
    pub withdrawing: Option<String>,
    #[serde(rename = "ipoing", skip_serializing_if = "Option::is_none")]
    pub ipoing: Option<String>,
    #[serde(rename = "ipoable", skip_serializing_if = "Option::is_none")]
    pub ipoable: Option<String>,
    #[serde(rename = "storage", skip_serializing_if = "Option::is_none")]
    pub storage: Option<String>,
    #[serde(rename = "isLegalMoney", skip_serializing_if = "Option::is_none")]
    pub is_legal_money: Option<bool>,
    #[serde(rename = "trading", skip_serializing_if = "Option::is_none")]
    pub trading: Option<bool>,
    #[serde(rename = "networkList", skip_serializing_if = "Option::is_none")]
    pub network_list: Option<Vec<models::AllCoinsInformationResponseInnerNetworkListInner>>,
}

impl AllCoinsInformationResponseInner {
    #[must_use]
    pub fn new() -> AllCoinsInformationResponseInner {
        AllCoinsInformationResponseInner {
            coin: None,
            deposit_all_enable: None,
            withdraw_all_enable: None,
            name: None,
            free: None,
            locked: None,
            freeze: None,
            withdrawing: None,
            ipoing: None,
            ipoable: None,
            storage: None,
            is_legal_money: None,
            trading: None,
            network_list: None,
        }
    }
}
