use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DrepsInner {
#[serde(rename = "drep_id")]
pub drep_id: String,
#[serde(rename = "hex")]
pub hex: String,
#[serde(rename = "amount")]
pub amount: String,
#[serde(rename = "has_script")]
pub has_script: bool,
#[serde(rename = "retired")]
pub retired: bool,
#[serde(rename = "expired")]
pub expired: bool,
#[serde(rename = "last_active_epoch", deserialize_with = "Option::deserialize")]
pub last_active_epoch: Option<i32>,
#[serde(rename = "metadata", deserialize_with = "Option::deserialize")]
pub metadata: Option<Box<models::DrepsInnerMetadata>>,
}
impl DrepsInner {
pub fn new(drep_id: String, hex: String, amount: String, has_script: bool, retired: bool, expired: bool, last_active_epoch: Option<i32>, metadata: Option<models::DrepsInnerMetadata>) -> DrepsInner {
DrepsInner {
drep_id,
hex,
amount,
has_script,
retired,
expired,
last_active_epoch,
metadata: if let Some(x) = metadata {Some(Box::new(x))} else {None},
}
}
}