#![allow(unused_imports)]
use crate::spot::websocket_api::models;
use serde::{Deserialize, Deserializer, Serialize, de::Error};
use serde_json::Value;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccountStatusResponseResult {
#[serde(rename = "makerCommission", skip_serializing_if = "Option::is_none")]
pub maker_commission: Option<i64>,
#[serde(rename = "takerCommission", skip_serializing_if = "Option::is_none")]
pub taker_commission: Option<i64>,
#[serde(rename = "buyerCommission", skip_serializing_if = "Option::is_none")]
pub buyer_commission: Option<i64>,
#[serde(rename = "sellerCommission", skip_serializing_if = "Option::is_none")]
pub seller_commission: Option<i64>,
#[serde(rename = "canTrade", skip_serializing_if = "Option::is_none")]
pub can_trade: Option<bool>,
#[serde(rename = "canWithdraw", skip_serializing_if = "Option::is_none")]
pub can_withdraw: Option<bool>,
#[serde(rename = "canDeposit", skip_serializing_if = "Option::is_none")]
pub can_deposit: Option<bool>,
#[serde(rename = "commissionRates", skip_serializing_if = "Option::is_none")]
pub commission_rates: Option<Box<models::AccountStatusResponseResultCommissionRates>>,
#[serde(rename = "brokered", skip_serializing_if = "Option::is_none")]
pub brokered: Option<bool>,
#[serde(
rename = "requireSelfTradePrevention",
skip_serializing_if = "Option::is_none"
)]
pub require_self_trade_prevention: Option<bool>,
#[serde(rename = "preventSor", skip_serializing_if = "Option::is_none")]
pub prevent_sor: Option<bool>,
#[serde(rename = "updateTime", skip_serializing_if = "Option::is_none")]
pub update_time: Option<i64>,
#[serde(rename = "accountType", skip_serializing_if = "Option::is_none")]
pub account_type: Option<String>,
#[serde(rename = "balances", skip_serializing_if = "Option::is_none")]
pub balances: Option<Vec<models::AccountStatusResponseResultBalancesInner>>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Vec<String>>,
#[serde(rename = "uid", skip_serializing_if = "Option::is_none")]
pub uid: Option<i64>,
}
impl AccountStatusResponseResult {
#[must_use]
pub fn new() -> AccountStatusResponseResult {
AccountStatusResponseResult {
maker_commission: None,
taker_commission: None,
buyer_commission: None,
seller_commission: None,
can_trade: None,
can_withdraw: None,
can_deposit: None,
commission_rates: None,
brokered: None,
require_self_trade_prevention: None,
prevent_sor: None,
update_time: None,
account_type: None,
balances: None,
permissions: None,
uid: None,
}
}
}