use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntervalRewards {
#[serde(rename = "UserAddress")]
pub user_address: String,
#[serde(rename = "Status")]
pub status: Status,
#[serde(rename = "BlueRewardsE9")]
pub blue_rewards_e9: String,
#[serde(rename = "SuiRewardsE9")]
pub sui_rewards_e9: String,
#[serde(rename = "WalRewardsE9")]
pub wal_rewards_e9: String,
#[serde(rename = "IntervalNumber")]
pub interval_number: i32,
}
impl IntervalRewards {
pub fn new(user_address: String, status: Status, blue_rewards_e9: String, sui_rewards_e9: String, wal_rewards_e9: String, interval_number: i32) -> IntervalRewards {
IntervalRewards {
user_address,
status,
blue_rewards_e9,
sui_rewards_e9,
wal_rewards_e9,
interval_number,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "ACTIVE")]
Active,
#[serde(rename = "NOT_STARTED")]
NotStarted,
#[serde(rename = "FINALIZED")]
Finalized,
#[serde(rename = "COOLDOWN")]
Cooldown,
}
impl Default for Status {
fn default() -> Status {
Self::Active
}
}