marlowe_client 0.0.5

HTTP client for the Marlowe Runtime REST API
Documentation
/*
 * Marlowe Runtime REST API
 *
 * REST API for Marlowe Runtime
 *
 * The version of the OpenAPI document: 0.0.5.1
 *
 * Generated by: https://openapi-generator.tech
 */

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Tx {
    #[serde(rename = "assets")]
    pub assets: Box<crate::models::Assets>,
    #[serde(rename = "block", skip_serializing_if = "Option::is_none")]
    pub block: Option<Box<crate::models::BlockHeader>>,
    /// The hex-encoded identifier of a Cardano transaction
    #[serde(rename = "consumingTx", skip_serializing_if = "Option::is_none")]
    pub consuming_tx: Option<String>,
    #[serde(rename = "continuations", skip_serializing_if = "Option::is_none")]
    pub continuations: Option<String>,
    /// A reference to a transaction output with a transaction ID and index.
    #[serde(rename = "contractId")]
    pub contract_id: String,
    #[serde(rename = "inputs")]
    pub inputs: Vec<crate::models::Input>,
    /// A reference to a transaction output with a transaction ID and index.
    #[serde(rename = "inputUtxo")]
    pub input_utxo: String,
    #[serde(rename = "invalidBefore")]
    pub invalid_before: String,
    #[serde(rename = "invalidHereafter")]
    pub invalid_hereafter: String,
    #[serde(rename = "metadata")]
    pub metadata: ::std::collections::HashMap<String, crate::models::Metadata>,
    #[serde(rename = "outputContract", skip_serializing_if = "Option::is_none")]
    pub output_contract: Option<Box<crate::models::Contract>>,
    #[serde(rename = "outputState", skip_serializing_if = "Option::is_none")]
    pub output_state: Option<Box<crate::models::MarloweState>>,
    /// A reference to a transaction output with a transaction ID and index.
    #[serde(rename = "outputUtxo", skip_serializing_if = "Option::is_none")]
    pub output_utxo: Option<String>,
    #[serde(rename = "payouts")]
    pub payouts: Vec<crate::models::Payout>,
    #[serde(rename = "status")]
    pub status: crate::models::TxStatus,
    #[serde(rename = "tags")]
    pub tags: ::std::collections::HashMap<String, crate::models::Metadata>,
    /// The hex-encoded identifier of a Cardano transaction
    #[serde(rename = "transactionId")]
    pub transaction_id: String,
    #[serde(rename = "txBody", skip_serializing_if = "Option::is_none")]
    pub tx_body: Option<Box<crate::models::TextEnvelope>>,
}

impl Tx {
    pub fn new(
        assets: crate::models::Assets,
        contract_id: String,
        inputs: Vec<crate::models::Input>,
        input_utxo: String,
        invalid_before: String,
        invalid_hereafter: String,
        metadata: ::std::collections::HashMap<String, crate::models::Metadata>,
        payouts: Vec<crate::models::Payout>,
        status: crate::models::TxStatus,
        tags: ::std::collections::HashMap<String, crate::models::Metadata>,
        transaction_id: String,
    ) -> Tx {
        Tx {
            assets: Box::new(assets),
            block: None,
            consuming_tx: None,
            continuations: None,
            contract_id,
            inputs,
            input_utxo,
            invalid_before,
            invalid_hereafter,
            metadata,
            output_contract: None,
            output_state: None,
            output_utxo: None,
            payouts,
            status,
            tags,
            transaction_id,
            tx_body: None,
        }
    }
}