use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DrepUpdatesInner {
#[serde(rename = "tx_hash")]
pub tx_hash: String,
#[serde(rename = "cert_index")]
pub cert_index: i32,
#[serde(rename = "action")]
pub action: Action,
#[serde(rename = "deposit", deserialize_with = "Option::deserialize")]
pub deposit: Option<String>,
}
impl DrepUpdatesInner {
pub fn new(tx_hash: String, cert_index: i32, action: Action, deposit: Option<String>) -> DrepUpdatesInner {
DrepUpdatesInner {
tx_hash,
cert_index,
action,
deposit,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Action {
#[serde(rename = "registered")]
Registered,
#[serde(rename = "deregistered")]
Deregistered,
#[serde(rename = "updated")]
Updated,
}
impl Default for Action {
fn default() -> Action {
Self::Registered
}
}