pub enum ExoError {
Show 16 variants
InvalidTransition {
from: String,
to: String,
},
InvalidSignature {
reason: String,
},
InvalidDid {
value: String,
},
ClockDrift {
physical_ms: u64,
tolerance_ms: u64,
},
ClockOverflow {
physical_ms: u64,
logical: u32,
},
ClockUnavailable {
reason: String,
},
HashMismatch {
expected: String,
actual: String,
},
Unauthorized {
reason: String,
},
ConsentRequired {
scope: String,
},
InvariantViolation {
description: String,
},
SybilDetected {
evidence: String,
},
SerializationError {
reason: String,
},
CryptoError {
reason: String,
},
InvalidMerkleProof,
ReceiptChainBroken {
index: usize,
},
NotFound {
entity: String,
},
}Expand description
Unified error type for all exo-core operations.
Variants§
InvalidTransition
A BCTS state transition was requested that violates the state machine rules.
InvalidSignature
A cryptographic signature failed verification.
InvalidDid
A DID string did not conform to the required format.
ClockDrift
The HLC detected backward drift beyond acceptable tolerance.
ClockOverflow
The HLC cannot advance because the timestamp space is exhausted.
The HLC wall-clock source could not produce a trustworthy timestamp.
HashMismatch
A hash did not match the expected value.
The actor does not have authority for the requested operation.
Fields
ConsentRequired
An operation requires consent that has not been granted.
InvariantViolation
A system invariant was violated.
SybilDetected
Sybil-resistant identity verification failed.
SerializationError
Serialization / deserialization failure.
CryptoError
Cryptographic key generation or usage error.
InvalidMerkleProof
Merkle proof verification failed.
ReceiptChainBroken
Receipt chain integrity check failed.
NotFound
Entity not found.
Implementations§
Trait Implementations§
impl Eq for ExoError
Source§impl Error for ExoError
impl Error for ExoError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()