canton_api_client/models/
js_execute_submission_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct JsExecuteSubmissionRequest {
16 #[serde(rename = "preparedTransaction")]
18 pub prepared_transaction: String,
19 #[serde(rename = "partySignatures")]
20 pub party_signatures: Box<models::PartySignatures>,
21 #[serde(rename = "deduplicationPeriod", skip_serializing_if = "Option::is_none")]
22 pub deduplication_period: Option<Box<models::DeduplicationPeriod2>>,
23 #[serde(rename = "submissionId")]
25 pub submission_id: String,
26 #[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
28 pub user_id: Option<String>,
29 #[serde(rename = "hashingSchemeVersion")]
31 pub hashing_scheme_version: HashingSchemeVersion,
32 #[serde(rename = "minLedgerTime", skip_serializing_if = "Option::is_none")]
33 pub min_ledger_time: Option<Box<models::MinLedgerTime>>,
34}
35
36impl JsExecuteSubmissionRequest {
37 pub fn new(prepared_transaction: String, party_signatures: models::PartySignatures, submission_id: String, hashing_scheme_version: HashingSchemeVersion) -> JsExecuteSubmissionRequest {
38 JsExecuteSubmissionRequest {
39 prepared_transaction,
40 party_signatures: Box::new(party_signatures),
41 deduplication_period: None,
42 submission_id,
43 user_id: None,
44 hashing_scheme_version,
45 min_ledger_time: None,
46 }
47 }
48}
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
51pub enum HashingSchemeVersion {
52 #[serde(rename = "HASHING_SCHEME_VERSION_UNSPECIFIED")]
53 HashingSchemeVersionUnspecified,
54 #[serde(rename = "HASHING_SCHEME_VERSION_V2")]
55 HashingSchemeVersionV2,
56}
57
58impl Default for HashingSchemeVersion {
59 fn default() -> HashingSchemeVersion {
60 Self::HashingSchemeVersionUnspecified
61 }
62}
63