Skip to main content

canton_api_client/models/
create_command.rs

1/*
2 * JSON Ledger API HTTP endpoints
3 *
4 * This specification version fixes the API inconsistencies where certain fields marked as required in the spec are in fact optional. If you use code generation tool based on this file, you might need to adjust the existing application code to handle those fields as optional. If you do not want to change your client code, continue using the OpenAPI specification for the latest Canton 3.4 patch release. MINIMUM_CANTON_VERSION=3.6.0
5 *
6 * The version of the OpenAPI document: 3.6.0-SNAPSHOT
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CreateCommand : Create a new contract instance based on a template.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateCommand {
17    /// The template of contract the client wants to create. Both package-name and package-id reference identifier formats for the template-id are supported. Note: The package-id reference identifier format is deprecated. We plan to end support for this format in version 3.4.  Required
18    #[serde(rename = "templateId")]
19    pub template_id: String,
20    /// The arguments required for creating a contract from this template.  Required
21    #[serde(rename = "createArguments", deserialize_with = "Option::deserialize")]
22    pub create_arguments: Option<serde_json::Value>,
23}
24
25impl CreateCommand {
26    /// Create a new contract instance based on a template.
27    pub fn new(template_id: String, create_arguments: Option<serde_json::Value>) -> CreateCommand {
28        CreateCommand {
29            template_id,
30            create_arguments,
31        }
32    }
33}
34