use crate::{contract_event::ContractEvent, write_set::WriteSet};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Hash, Eq, PartialEq, Serialize, Deserialize)]
pub struct ChangeSet {
write_set: WriteSet,
events: Vec<ContractEvent>,
}
impl ChangeSet {
pub fn new(write_set: WriteSet, events: Vec<ContractEvent>) -> Self {
Self { write_set, events }
}
pub fn into_inner(self) -> (WriteSet, Vec<ContractEvent>) {
(self.write_set, self.events)
}
pub fn write_set(&self) -> &WriteSet { &self.write_set }
pub fn events(&self) -> &[ContractEvent] { &self.events }
}