1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* JSON Ledger API HTTP endpoints
*
* 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
*
* The version of the OpenAPI document: 3.6.0-SNAPSHOT
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// CostEstimation : Estimation of the cost of submitting the prepared transaction The estimation is done against the synchronizer chosen during preparation of the transaction (or the one explicitly requested). The cost of re-assigning contracts to another synchronizer when necessary is not included in the estimation.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CostEstimation {
/// Timestamp at which the estimation was made Required
#[serde(rename = "estimationTimestamp")]
pub estimation_timestamp: String,
/// Estimated traffic cost of the confirmation request associated with the transaction Required
#[serde(rename = "confirmationRequestTrafficCostEstimation")]
pub confirmation_request_traffic_cost_estimation: i64,
/// Estimated traffic cost of the confirmation response associated with the transaction This field can also be used as an indication of the cost that other potential confirming nodes of the party will incur to approve or reject the transaction Required
#[serde(rename = "confirmationResponseTrafficCostEstimation")]
pub confirmation_response_traffic_cost_estimation: i64,
/// Sum of the fields above Required
#[serde(rename = "totalTrafficCostEstimation")]
pub total_traffic_cost_estimation: i64,
}
impl CostEstimation {
/// Estimation of the cost of submitting the prepared transaction The estimation is done against the synchronizer chosen during preparation of the transaction (or the one explicitly requested). The cost of re-assigning contracts to another synchronizer when necessary is not included in the estimation.
pub fn new(estimation_timestamp: String, confirmation_request_traffic_cost_estimation: i64, confirmation_response_traffic_cost_estimation: i64, total_traffic_cost_estimation: i64) -> CostEstimation {
CostEstimation {
estimation_timestamp,
confirmation_request_traffic_cost_estimation,
confirmation_response_traffic_cost_estimation,
total_traffic_cost_estimation,
}
}
}