use holo_hash::AgentPubKey;
use holo_hash::AnyDhtHash;
use holochain_serialized_bytes::prelude::*;
use crate::chain::ChainFilter;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, SerializedBytes)]
pub enum ValidateCallbackResult {
Valid,
Invalid(String),
UnresolvedDependencies(UnresolvedDependencies),
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum UnresolvedDependencies {
Hashes(Vec<AnyDhtHash>),
AgentActivity(AgentPubKey, ChainFilter),
}
#[derive(
Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, serde::Serialize, serde::Deserialize,
)]
pub enum RequiredValidationType {
Record,
SubChain,
Full,
}
impl Default for RequiredValidationType {
fn default() -> Self {
Self::Record
}
}