use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PublicPool {
#[serde(rename = "code")]
pub code: i32,
#[serde(rename = "message", skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(rename = "account_type")]
pub account_type: i32,
#[serde(rename = "index")]
pub index: i64,
#[serde(rename = "l1_address")]
pub l1_address: String,
#[serde(rename = "cancel_all_time")]
pub cancel_all_time: i64,
#[serde(rename = "total_order_count")]
pub total_order_count: i64,
#[serde(rename = "total_isolated_order_count")]
pub total_isolated_order_count: i64,
#[serde(rename = "pending_order_count")]
pub pending_order_count: i64,
#[serde(rename = "available_balance")]
pub available_balance: String,
#[serde(rename = "status")]
pub status: i32,
#[serde(rename = "collateral")]
pub collateral: String,
#[serde(rename = "account_index")]
pub account_index: i64,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "can_invite")]
pub can_invite: bool,
#[serde(rename = "referral_points_percentage")]
pub referral_points_percentage: String,
#[serde(rename = "total_asset_value")]
pub total_asset_value: String,
#[serde(rename = "cross_asset_value")]
pub cross_asset_value: String,
#[serde(rename = "pool_info")]
pub pool_info: Box<models::PublicPoolInfo>,
#[serde(rename = "account_share", skip_serializing_if = "Option::is_none")]
pub account_share: Option<Box<models::PublicPoolShare>>,
}
impl PublicPool {
pub fn new(
code: i32,
account_type: i32,
index: i64,
l1_address: String,
cancel_all_time: i64,
total_order_count: i64,
total_isolated_order_count: i64,
pending_order_count: i64,
available_balance: String,
status: i32,
collateral: String,
account_index: i64,
name: String,
description: String,
can_invite: bool,
referral_points_percentage: String,
total_asset_value: String,
cross_asset_value: String,
pool_info: models::PublicPoolInfo,
) -> PublicPool {
PublicPool {
code,
message: None,
account_type,
index,
l1_address,
cancel_all_time,
total_order_count,
total_isolated_order_count,
pending_order_count,
available_balance,
status,
collateral,
account_index,
name,
description,
can_invite,
referral_points_percentage,
total_asset_value,
cross_asset_value,
pool_info: Box::new(pool_info),
account_share: None,
}
}
}