use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TxContentUtxoInputsInner {
#[serde(rename = "address")]
pub address: String,
#[serde(rename = "amount")]
pub amount: Vec<models::TxContentOutputAmountInner>,
#[serde(rename = "tx_hash")]
pub tx_hash: String,
#[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 = "reference_script_hash", deserialize_with = "Option::deserialize")]
pub reference_script_hash: Option<String>,
#[serde(rename = "collateral")]
pub collateral: bool,
#[serde(rename = "reference", skip_serializing_if = "Option::is_none")]
pub reference: Option<bool>,
}
impl TxContentUtxoInputsInner {
pub fn new(address: String, amount: Vec<models::TxContentOutputAmountInner>, tx_hash: String, output_index: i32, data_hash: Option<String>, inline_datum: Option<String>, reference_script_hash: Option<String>, collateral: bool) -> TxContentUtxoInputsInner {
TxContentUtxoInputsInner {
address,
amount,
tx_hash,
output_index,
data_hash,
inline_datum,
reference_script_hash,
collateral,
reference: None,
}
}
}