1use cosmwasm_std::StdError;
2use cw_controllers::AdminError;
3use thiserror::Error;
4
5#[derive(Error, Debug, PartialEq)]
6pub enum ContractError {
7 #[error("{0}")]
8 Std(#[from] StdError),
9
10 #[error("{0}")]
11 Admin(#[from] AdminError),
12
13 #[error("Unauthorized")]
14 Unauthorized {},
15
16 #[error("Contract has no funds")]
17 NoFunds {},
18
19 #[error("Contract has not enough funds. Minimum required: `{min}`")]
20 NotEnoughFunds { min: u64 },
21
22 #[error("Group contract invalid address `{addr}`")]
23 InvalidGroup { addr: String },
24
25 #[error("Group contract invalid total weight `{weight}`")]
26 InvalidWeight { weight: u64 },
27
28 #[error("Group contract invalid member count `{count}`")]
29 InvalidMemberCount { count: usize },
30
31 #[error("Invalid executor `{addr}`")]
32 InvalidExecutor { addr: String },
33
34 #[error("Invalid reply ID")]
35 InvalidReplyID {},
36
37 #[error("Reply error")]
38 ReplyOnSuccess {},
39}