bluefin_api 1.8.0

Bluefin API
Documentation
/*
 * Bluefin API
 *
 * Bluefin API
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct UserCampaignRewards {
    /// User address for the rewards earned data.
    #[serde(rename = "userAddress")]
    pub user_address: String,
    /// Name of the campaign.
    #[serde(rename = "campaignName")]
    pub campaign_name: String,
    /// Epoch number for the rewards earned data.
    #[serde(rename = "epochNumber")]
    pub epoch_number: i32,
    /// Interval number for the rewards earned data.
    #[serde(rename = "intervalNumber")]
    pub interval_number: i32,
    /// Market Symbol.
    #[serde(rename = "symbol")]
    pub symbol: String,
    #[serde(rename = "status")]
    pub status: Status,
    /// Total blue-perp token rewards earned in the epoch (e9 format).
    #[serde(rename = "blueRewardsE9")]
    pub blue_rewards_e9: String,
    /// Total sui-perp token rewards earned in the epoch (e9 format).
    #[serde(rename = "suiRewardsE9")]
    pub sui_rewards_e9: String,
    /// Total wal-perp rewards earned in the epoch (e9 format).
    #[serde(rename = "walRewardsE9")]
    pub wal_rewards_e9: String,
    /// Total cash rewards earned in the epoch (e9 format).
    #[serde(rename = "cashRewardsE9")]
    pub cash_rewards_e9: String,
    /// Total user fee paid in the epoch (e9 format).
    #[serde(rename = "userFeePaidE9")]
    pub user_fee_paid_e9: String,
    /// Time in milliseconds for interval start date.
    #[serde(rename = "intervalStartDate")]
    pub interval_start_date: i32,
    /// Time in milliseconds for interval end date.
    #[serde(rename = "intervalEndDate")]
    pub interval_end_date: i32,
    /// Indicates if the rewards have been disbursed.
    #[serde(rename = "isDisbursed")]
    pub is_disbursed: bool,
    /// Transaction digest of the disbursement.
    #[serde(rename = "txnDigest")]
    pub txn_digest: String,
    /// Array of claim signatures for different reward types.
    #[serde(rename = "claimSignature", skip_serializing_if = "Option::is_none")]
    pub claim_signature: Option<Vec<models::ClaimSignatureItem>>,
    /// Status of the claim.
    #[serde(rename = "claimStatus", skip_serializing_if = "Option::is_none")]
    pub claim_status: Option<ClaimStatus>,
}

impl UserCampaignRewards {
    pub fn new(user_address: String, campaign_name: String, epoch_number: i32, interval_number: i32, symbol: String, status: Status, blue_rewards_e9: String, sui_rewards_e9: String, wal_rewards_e9: String, cash_rewards_e9: String, user_fee_paid_e9: String, interval_start_date: i32, interval_end_date: i32, is_disbursed: bool, txn_digest: String) -> UserCampaignRewards {
        UserCampaignRewards {
            user_address,
            campaign_name,
            epoch_number,
            interval_number,
            symbol,
            status,
            blue_rewards_e9,
            sui_rewards_e9,
            wal_rewards_e9,
            cash_rewards_e9,
            user_fee_paid_e9,
            interval_start_date,
            interval_end_date,
            is_disbursed,
            txn_digest,
            claim_signature: None,
            claim_status: None,
        }
    }
}
/// 
#[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
    }
}
/// Status of the claim.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimStatus {
    #[serde(rename = "CLAIMABLE")]
    Claimable,
    #[serde(rename = "CLAIMED")]
    Claimed,
    #[serde(rename = "NOT_YET_CLAIMABLE")]
    NotYetClaimable,
    #[serde(rename = "CLAIM_ENDED")]
    ClaimEnded,
}

impl Default for ClaimStatus {
    fn default() -> ClaimStatus {
        Self::Claimable
    }
}