bluefin_api 1.13.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 Transaction {
    /// Transaction ID.
    #[serde(rename = "id")]
    pub id: String,
    /// Market address.
    #[serde(rename = "symbol", skip_serializing_if = "Option::is_none")]
    pub symbol: Option<String>,
    #[serde(rename = "type")]
    pub r#type: models::TransactionType,
    /// Amount in e9 format (positive or negative).
    #[serde(rename = "amountE9")]
    pub amount_e9: String,
    /// Transaction status (SUCCESS, REJECTED).
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    /// Asset bank address.
    #[serde(rename = "assetSymbol")]
    pub asset_symbol: String,
    /// Trade ID
    #[serde(rename = "tradeId", skip_serializing_if = "Option::is_none")]
    pub trade_id: Option<String>,
    /// Transaction timestamp in milliseconds since Unix epoch.
    #[serde(rename = "executedAtMillis")]
    pub executed_at_millis: i64,
}

impl Transaction {
    pub fn new(id: String, r#type: models::TransactionType, amount_e9: String, asset_symbol: String, executed_at_millis: i64) -> Transaction {
        Transaction {
            id,
            symbol: None,
            r#type,
            amount_e9,
            status: None,
            asset_symbol,
            trade_id: None,
            executed_at_millis,
        }
    }
}