use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetExecutionStatusResponse {
#[serde(rename = "quoteResponse")]
pub quote_response: Box<models::QuoteResponse>,
#[serde(rename = "status")]
pub status: Status,
#[serde(rename = "updatedAt")]
pub updated_at: String,
#[serde(rename = "swapDetails")]
pub swap_details: Box<models::SwapDetails>,
}
impl GetExecutionStatusResponse {
pub fn new(quote_response: models::QuoteResponse, status: Status, updated_at: String, swap_details: models::SwapDetails) -> GetExecutionStatusResponse {
GetExecutionStatusResponse {
quote_response: Box::new(quote_response),
status,
updated_at,
swap_details: Box::new(swap_details),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "KNOWN_DEPOSIT_TX")]
KnownDepositTx,
#[serde(rename = "PENDING_DEPOSIT")]
PendingDeposit,
#[serde(rename = "INCOMPLETE_DEPOSIT")]
IncompleteDeposit,
#[serde(rename = "PROCESSING")]
Processing,
#[serde(rename = "SUCCESS")]
Success,
#[serde(rename = "REFUNDED")]
Refunded,
#[serde(rename = "FAILED")]
Failed,
}
impl Default for Status {
fn default() -> Status {
Self::KnownDepositTx
}
}