use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct DkgResultTransaction {
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "hash")]
pub hash: String,
#[serde(rename = "state_change_hash")]
pub state_change_hash: String,
#[serde(rename = "event_root_hash")]
pub event_root_hash: String,
#[serde(rename = "state_checkpoint_hash", skip_serializing_if = "Option::is_none")]
pub state_checkpoint_hash: Option<String>,
#[serde(rename = "gas_used")]
pub gas_used: String,
#[serde(rename = "success")]
pub success: bool,
#[serde(rename = "vm_status")]
pub vm_status: String,
#[serde(rename = "accumulator_root_hash")]
pub accumulator_root_hash: String,
#[serde(rename = "changes")]
pub changes: Vec<models::WriteSetChange>,
#[serde(rename = "events")]
pub events: Vec<models::Event>,
#[serde(rename = "timestamp")]
pub timestamp: String,
#[serde(rename = "dkg_transcript")]
pub dkg_transcript: Box<models::ExportedDkgTranscript>,
}
impl DkgResultTransaction {
pub fn new(version: String, hash: String, state_change_hash: String, event_root_hash: String, gas_used: String, success: bool, vm_status: String, accumulator_root_hash: String, changes: Vec<models::WriteSetChange>, events: Vec<models::Event>, timestamp: String, dkg_transcript: models::ExportedDkgTranscript) -> DkgResultTransaction {
DkgResultTransaction {
version,
hash,
state_change_hash,
event_root_hash,
state_checkpoint_hash: None,
gas_used,
success,
vm_status,
accumulator_root_hash,
changes,
events,
timestamp,
dkg_transcript: Box::new(dkg_transcript),
}
}
}