holochain_integrity_types/
validate.rs1use holo_hash::AgentPubKey;
2use holo_hash::AnyDhtHash;
3use holochain_serialized_bytes::prelude::*;
4
5use crate::chain::ChainFilter;
6
7#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, SerializedBytes)]
8pub enum ValidateCallbackResult {
9    Valid,
10    Invalid(String),
11    UnresolvedDependencies(UnresolvedDependencies),
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
17pub enum UnresolvedDependencies {
20    Hashes(Vec<AnyDhtHash>),
21    AgentActivity(AgentPubKey, ChainFilter),
22}
23
24#[derive(
27    Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, serde::Serialize, serde::Deserialize,
28)]
29pub enum RequiredValidationType {
30    Record,
32    SubChain,
34    Full,
36}
37
38impl Default for RequiredValidationType {
39    fn default() -> Self {
40        Self::Record
41    }
42}