1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum GenerateError {
5 #[error("database returned invalid HeerId: {0}")]
6 InvalidHeerId(#[source] heeranjid::Error),
7 #[error("database returned invalid RanjId: {0}")]
8 InvalidRanjId(#[source] heeranjid::Error),
9 #[error("logical future drift (batch-induced): {message}")]
10 LogicalDrift { message: String },
11 #[error("clock rollback: {message}")]
12 ClockRollback { message: String },
13 #[error("hard clock rollback: {message}")]
14 HardClockRollback { message: String },
15 #[error("database error: {0}")]
16 Database(#[from] sqlx::Error),
17}
18
19#[derive(Debug, Error)]
20pub enum StartupError {
21 #[error("node {0} is not registered or not active")]
22 NodeNotActive(u16),
23 #[error("heer_config epoch is not configured")]
24 MissingEpoch,
25 #[error("database error: {0}")]
26 Database(#[from] sqlx::Error),
27}