1use thiserror::Error;
2
3use crate::identity::errors::{AssetLockOutputNotFoundError, AssetLockTransactionIsNotFoundError};
4
5#[derive(Error, Debug)]
6#[error("{0}")]
7pub enum DPPError {
8 AssetLockOutputNotFoundError(AssetLockOutputNotFoundError),
9 AssetLockTransactionIsNotFoundError(AssetLockTransactionIsNotFoundError),
10 #[error("expected public key hash to be 20 bytes")]
11 WrongPublicKeyHashSize,
12 #[error("expected output type to be OP_RETURN output")]
13 WrongBurnOutputType,
14 #[error("invalid transaction")]
15 InvalidAssetLockTransaction,
16 #[error("core message corruption {0}")]
17 CoreMessageCorruption(String),
18}