1use thiserror::Error;
2
3use crate::datasource::UpdateType;
4
5#[derive(Error, Debug)]
6pub enum Error {
7 #[error("Missing update type in datasource")]
8 MissingUpdateTypeInDatasource(UpdateType),
9 #[error("Failed to receive updates({0})")]
10 FailedToReceiveUpdates(String),
11 #[error("Transaction missing fee payer")]
12 MissingFeePayer,
13 #[error("Missing inner instructions")]
14 MissingInnerInstructions,
15 #[error("Missing account in transaction")]
16 MissingAccountInTransaction,
17 #[error("Missing instruction data")]
18 MissingInstructionData,
19 #[error("Failed to consume datasource ({0})")]
20 FailedToConsumeDatasource(String),
21 #[error("Custom error: {0}")]
22 Custom(String),
23}
24
25pub type IndexerResult<T> = Result<T, Error>;