use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Transaction {
#[serde(rename = "transaction_hash", skip_serializing_if = "Option::is_none")]
pub transaction_hash: Option<String>,
#[serde(rename = "signed_transaction", skip_serializing_if = "Option::is_none")]
pub signed_transaction: Option<String>,
#[serde(rename = "raw_transaction", skip_serializing_if = "Option::is_none")]
pub raw_transaction: Option<String>,
#[serde(rename = "data", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub data: Option<Option<String>>,
#[serde(rename = "transactions", skip_serializing_if = "Option::is_none")]
pub transactions: Option<Vec<models::TransactionData>>,
#[serde(rename = "moon_scan_url", skip_serializing_if = "Option::is_none")]
pub moon_scan_url: Option<String>,
#[serde(rename = "signature", skip_serializing_if = "Option::is_none")]
pub signature: Option<String>,
#[serde(rename = "transaction", skip_serializing_if = "Option::is_none")]
pub transaction: Option<Box<models::Tx>>,
#[serde(rename = "userOps", skip_serializing_if = "Option::is_none")]
pub user_ops: Option<Vec<models::TransactionRequest>>,
#[serde(rename = "userop_transaction", skip_serializing_if = "Option::is_none")]
pub userop_transaction: Option<String>,
}
impl Transaction {
pub fn new() -> Transaction {
Transaction {
transaction_hash: None,
signed_transaction: None,
raw_transaction: None,
data: None,
transactions: None,
moon_scan_url: None,
signature: None,
transaction: None,
user_ops: None,
userop_transaction: None,
}
}
}