use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TxContentUtxoOutputsInner {
#[serde(rename = "address")]
pub address: String,
#[serde(rename = "amount")]
pub amount: Vec<models::TxContentOutputAmountInner>,
#[serde(rename = "output_index")]
pub output_index: i32,
#[serde(rename = "data_hash", deserialize_with = "Option::deserialize")]
pub data_hash: Option<String>,
#[serde(rename = "inline_datum", deserialize_with = "Option::deserialize")]
pub inline_datum: Option<String>,
#[serde(rename = "collateral")]
pub collateral: bool,
#[serde(rename = "reference_script_hash", deserialize_with = "Option::deserialize")]
pub reference_script_hash: Option<String>,
#[serde(rename = "consumed_by_tx", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub consumed_by_tx: Option<Option<String>>,
}
impl TxContentUtxoOutputsInner {
pub fn new(address: String, amount: Vec<models::TxContentOutputAmountInner>, output_index: i32, data_hash: Option<String>, inline_datum: Option<String>, collateral: bool, reference_script_hash: Option<String>) -> TxContentUtxoOutputsInner {
TxContentUtxoOutputsInner {
address,
amount,
output_index,
data_hash,
inline_datum,
collateral,
reference_script_hash,
consumed_by_tx: None,
}
}
}