1use chia_sdk_types::conditions::ConditionError;
2use clvm_traits::{FromClvmError, ToClvmError};
3use clvmr::reduction::EvalErr;
4use thiserror::Error;
5
6#[derive(Debug, Error)]
8pub enum ParseError {
9 #[error("failed to serialize clvm value: {0}")]
10 ToClvm(#[from] ToClvmError),
11
12 #[error("failed to deserialize clvm value: {0}")]
13 FromClvm(#[from] FromClvmError),
14
15 #[error("failed to parse conditions: {0}")]
16 Conditions(#[from] ConditionError),
17
18 #[error("clvm eval error: {0}")]
19 Eval(#[from] EvalErr),
20
21 #[error("invalid mod hash")]
22 InvalidModHash,
23
24 #[error("non-standard inner puzzle layer")]
25 NonStandardLayer,
26
27 #[error("missing child")]
28 MissingChild,
29
30 #[error("missing hint")]
31 MissingHint,
32
33 #[error("invalid singleton struct")]
34 InvalidSingletonStruct,
35
36 #[error("mismatched singleton output (maybe no spend revealed the new singleton state)")]
37 MismatchedOutput,
38}