use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OrderCancellationUpdate {
#[serde(rename = "orderHash")]
pub order_hash: String,
#[serde(rename = "clientOrderId", skip_serializing_if = "Option::is_none")]
pub client_order_id: Option<String>,
#[serde(rename = "symbol")]
pub symbol: String,
#[serde(rename = "accountAddress")]
pub account_address: String,
#[serde(rename = "createdAtMillis")]
pub created_at_millis: i64,
#[serde(rename = "cancellationReason")]
pub cancellation_reason: models::OrderCancelReason,
#[serde(rename = "failureToCancelReason", skip_serializing_if = "Option::is_none")]
pub failure_to_cancel_reason: Option<models::OrderCancellationFailureReason>,
#[serde(rename = "remainingQuantityE9")]
pub remaining_quantity_e9: String,
}
impl OrderCancellationUpdate {
pub fn new(order_hash: String, symbol: String, account_address: String, created_at_millis: i64, cancellation_reason: models::OrderCancelReason, remaining_quantity_e9: String) -> OrderCancellationUpdate {
OrderCancellationUpdate {
order_hash,
client_order_id: None,
symbol,
account_address,
created_at_millis,
cancellation_reason,
failure_to_cancel_reason: None,
remaining_quantity_e9,
}
}
}