Skip to main content

komple_framework_hub_module/
error.rs

1use cosmwasm_std::StdError;
2use komple_framework_utils::{funds::FundsError, shared::SharedError, UtilError};
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum ContractError {
7    #[error("{0}")]
8    Std(#[from] StdError),
9
10    #[error("Unauthorized")]
11    Unauthorized {},
12
13    #[error("Invalid instantiate message")]
14    InvalidInstantiateMsg {},
15
16    #[error("Description too long")]
17    DescriptionTooLong {},
18
19    #[error("Invalid reply ID")]
20    InvalidReplyID {},
21
22    #[error("Error while instantiating {module:?} module")]
23    ModuleInstantiateError { module: String },
24
25    #[error("Module is invalid")]
26    InvalidModule {},
27
28    #[error("{0}")]
29    Util(#[from] UtilError),
30
31    #[error("{0}")]
32    Funds(#[from] FundsError),
33
34    #[error("{0}")]
35    SharedError(#[from] SharedError),
36
37    #[error("Semver parsing error: {0}")]
38    SemVer(String),
39}
40
41impl From<semver::Error> for ContractError {
42    fn from(err: semver::Error) -> Self {
43        Self::SemVer(err.to_string())
44    }
45}