dig_clvm/consensus/
error.rs1use chia_protocol::Bytes32;
4use chia_sdk_driver::DriverError;
5use clvmr::cost::Cost;
6
7#[derive(Debug, thiserror::Error)]
9pub enum ValidationError {
10 #[error("CLVM execution failed: {0}")]
11 Clvm(String),
12
13 #[error("Coin not found: {0}")]
14 CoinNotFound(Bytes32),
15
16 #[error("Coin already spent: {0}")]
17 AlreadySpent(Bytes32),
18
19 #[error("Double spend in bundle: {0}")]
20 DoubleSpend(Bytes32),
21
22 #[error("Puzzle hash mismatch: {0}")]
23 PuzzleHashMismatch(Bytes32),
24
25 #[error("Signature verification failed")]
26 SignatureFailed,
27
28 #[error("Conservation violation: input={input}, output={output}")]
29 ConservationViolation { input: u64, output: u64 },
30
31 #[error("Cost exceeded: limit={limit}, consumed={consumed}")]
32 CostExceeded { limit: Cost, consumed: Cost },
33
34 #[error("Driver error: {0}")]
35 Driver(#[from] DriverError),
36}