use crate::header::ZomeId;
use crate::zome::ZomeName;
use crate::Timestamp;
use holo_hash::AgentPubKey;
use holo_hash::DnaHash;
use holo_hash::HeaderHash;
use holochain_serialized_bytes::prelude::*;
#[allow(missing_docs)]
#[derive(Clone, Debug, Serialize, Deserialize, SerializedBytes, PartialEq)]
pub struct ZomeInfo {
pub name: ZomeName,
pub id: ZomeId,
}
impl ZomeInfo {
pub fn new(name: ZomeName, id: ZomeId) -> Self {
Self { name, id }
}
}
#[allow(missing_docs)]
#[derive(Clone, Debug, Serialize, Deserialize, SerializedBytes, PartialEq)]
pub struct AgentInfo {
pub agent_initial_pubkey: AgentPubKey,
pub agent_latest_pubkey: AgentPubKey,
}
impl AgentInfo {
pub fn new(agent_initial_pubkey: AgentPubKey, agent_latest_pubkey: AgentPubKey) -> Self {
Self {
agent_initial_pubkey,
agent_latest_pubkey,
}
}
}
#[derive(Debug, Serialize, Deserialize)]
pub struct AppInfo;
#[derive(Debug, Serialize, Deserialize)]
pub struct DnaInfo {
pub name: String,
pub hash: DnaHash,
pub properties: SerializedBytes,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct CallInfo {
pub as_at: (HeaderHash, u32, Timestamp),
}