/*
 * 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 AllCoinsInformationResponseInnerNetworkListInner {
    #[serde(rename = "network", skip_serializing_if = "Option::is_none")]
    pub network: Option<String>,
    #[serde(rename = "coin", skip_serializing_if = "Option::is_none")]
    pub coin: Option<String>,
    #[serde(
        rename = "withdrawIntegerMultiple",
        skip_serializing_if = "Option::is_none"
    )]
    pub withdraw_integer_multiple: Option<String>,
    #[serde(rename = "isDefault", skip_serializing_if = "Option::is_none")]
    pub is_default: Option<bool>,
    #[serde(rename = "depositEnable", skip_serializing_if = "Option::is_none")]
    pub deposit_enable: Option<bool>,
    #[serde(rename = "withdrawEnable", skip_serializing_if = "Option::is_none")]
    pub withdraw_enable: Option<bool>,
    #[serde(rename = "depositDesc", skip_serializing_if = "Option::is_none")]
    pub deposit_desc: Option<String>,
    #[serde(rename = "withdrawDesc", skip_serializing_if = "Option::is_none")]
    pub withdraw_desc: Option<String>,
    #[serde(rename = "specialTips", skip_serializing_if = "Option::is_none")]
    pub special_tips: Option<String>,
    #[serde(
        rename = "specialWithdrawTips",
        skip_serializing_if = "Option::is_none"
    )]
    pub special_withdraw_tips: Option<String>,
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "resetAddressStatus", skip_serializing_if = "Option::is_none")]
    pub reset_address_status: Option<bool>,
    #[serde(rename = "addressRegex", skip_serializing_if = "Option::is_none")]
    pub address_regex: Option<String>,
    #[serde(rename = "memoRegex", skip_serializing_if = "Option::is_none")]
    pub memo_regex: Option<String>,
    #[serde(rename = "withdrawFee", skip_serializing_if = "Option::is_none")]
    pub withdraw_fee: Option<String>,
    #[serde(rename = "withdrawMin", skip_serializing_if = "Option::is_none")]
    pub withdraw_min: Option<String>,
    #[serde(rename = "withdrawMax", skip_serializing_if = "Option::is_none")]
    pub withdraw_max: Option<String>,
    #[serde(
        rename = "withdrawInternalMin",
        skip_serializing_if = "Option::is_none"
    )]
    pub withdraw_internal_min: Option<String>,
    #[serde(rename = "depositDust", skip_serializing_if = "Option::is_none")]
    pub deposit_dust: Option<String>,
    #[serde(rename = "minConfirm", skip_serializing_if = "Option::is_none")]
    pub min_confirm: Option<i64>,
    #[serde(rename = "unLockConfirm", skip_serializing_if = "Option::is_none")]
    pub un_lock_confirm: Option<i64>,
    #[serde(rename = "sameAddress", skip_serializing_if = "Option::is_none")]
    pub same_address: Option<bool>,
    #[serde(rename = "withdrawTag", skip_serializing_if = "Option::is_none")]
    pub withdraw_tag: Option<bool>,
    #[serde(
        rename = "estimatedArrivalTime",
        skip_serializing_if = "Option::is_none"
    )]
    pub estimated_arrival_time: Option<i64>,
    #[serde(rename = "busy", skip_serializing_if = "Option::is_none")]
    pub busy: Option<bool>,
    #[serde(rename = "contractAddressUrl", skip_serializing_if = "Option::is_none")]
    pub contract_address_url: Option<String>,
    #[serde(rename = "contractAddress", skip_serializing_if = "Option::is_none")]
    pub contract_address: Option<String>,
    #[serde(rename = "denomination", skip_serializing_if = "Option::is_none")]
    pub denomination: Option<i64>,
}

impl AllCoinsInformationResponseInnerNetworkListInner {
    #[must_use]
    pub fn new() -> AllCoinsInformationResponseInnerNetworkListInner {
        AllCoinsInformationResponseInnerNetworkListInner {
            network: None,
            coin: None,
            withdraw_integer_multiple: None,
            is_default: None,
            deposit_enable: None,
            withdraw_enable: None,
            deposit_desc: None,
            withdraw_desc: None,
            special_tips: None,
            special_withdraw_tips: None,
            name: None,
            reset_address_status: None,
            address_regex: None,
            memo_regex: None,
            withdraw_fee: None,
            withdraw_min: None,
            withdraw_max: None,
            withdraw_internal_min: None,
            deposit_dust: None,
            min_confirm: None,
            un_lock_confirm: None,
            same_address: None,
            withdraw_tag: None,
            estimated_arrival_time: None,
            busy: None,
            contract_address_url: None,
            contract_address: None,
            denomination: None,
        }
    }
}
