canton-api-client 3.3.0-0.1.1

Canton Ledger API rust client
Documentation
/*
 * JSON Ledger API HTTP endpoints
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 3.3.0-SNAPSHOT
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct JsExecuteSubmissionRequest {
    /// the prepared transaction Typically this is the value of the `prepared_transaction` field in `PrepareSubmissionResponse` obtained from calling `prepareSubmission`.
    #[serde(rename = "preparedTransaction", skip_serializing_if = "Option::is_none")]
    pub prepared_transaction: Option<String>,
    #[serde(rename = "partySignatures", skip_serializing_if = "Option::is_none")]
    pub party_signatures: Option<Box<models::PartySignatures>>,
    #[serde(rename = "deduplicationPeriod")]
    pub deduplication_period: Box<models::DeduplicationPeriod2>,
    /// A unique identifier to distinguish completions for different submissions with the same change ID. Typically a random UUID. Applications are expected to use a different UUID for each retry of a submission with the same change ID. Must be a valid LedgerString (as described in ``value.proto``).  Required
    #[serde(rename = "submissionId")]
    pub submission_id: String,
    /// See [PrepareSubmissionRequest.user_id]
    #[serde(rename = "userId")]
    pub user_id: String,
    #[serde(rename = "hashingSchemeVersion")]
    pub hashing_scheme_version: Box<models::HashingSchemeVersion>,
}

impl JsExecuteSubmissionRequest {
    pub fn new(deduplication_period: models::DeduplicationPeriod2, submission_id: String, user_id: String, hashing_scheme_version: models::HashingSchemeVersion) -> JsExecuteSubmissionRequest {
        JsExecuteSubmissionRequest {
            prepared_transaction: None,
            party_signatures: None,
            deduplication_period: Box::new(deduplication_period),
            submission_id,
            user_id,
            hashing_scheme_version: Box::new(hashing_scheme_version),
        }
    }
}