ethereal_rust_sdk 0.1.6

Trading client for Ethereal exchange
Documentation
/*
 * Ethereal Exchange API
 *
 * Ethereal HTTP API for real-time trading, order management, and market data access.
 *
 * The version of the OpenAPI document: 0.1.0
 *
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ActivateReferralDtoData {
    /// Address that signed this message
    #[serde(rename = "sender")]
    pub sender: String,
    /// Intent of the message (action to be taken)
    #[serde(rename = "intent")]
    pub intent: Intent,
    /// Message signedAt current timestamp (seconds since Unix Epoch)
    #[serde(rename = "signedAt")]
    pub signed_at: i32,
    /// Bytes32 encoded subaccount name (0x prefix, zero padded)
    #[serde(rename = "subaccount")]
    pub subaccount: String,
}

impl ActivateReferralDtoData {
    pub fn new(
        sender: String,
        intent: Intent,
        signed_at: i32,
        subaccount: String,
    ) -> ActivateReferralDtoData {
        ActivateReferralDtoData {
            sender,
            intent,
            signed_at,
            subaccount,
        }
    }
}
/// Intent of the message (action to be taken)
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Intent {
    #[serde(rename = "0")]
    REFERRAL_ACTIVATION,
    #[serde(rename = "1")]
    REFERRAL_CLAIM,
    #[serde(rename = "2")]
    REFERRAL_READ,
}

impl Default for Intent {
    fn default() -> Intent {
        Self::REFERRAL_ACTIVATION
    }
}