abstract_cw3_flex_multisig/
error.rs

1use abstract_cw3::DepositError;
2use cosmwasm_std::StdError;
3use cw_utils::{PaymentError, ThresholdError};
4
5use thiserror::Error;
6
7#[derive(Error, Debug, PartialEq)]
8pub enum ContractError {
9    #[error("{0}")]
10    Std(#[from] StdError),
11
12    #[error("{0}")]
13    Threshold(#[from] ThresholdError),
14
15    #[error("Group contract invalid address '{addr}'")]
16    InvalidGroup { addr: String },
17
18    #[error("Unauthorized")]
19    Unauthorized {},
20
21    #[error("Proposal is not open")]
22    NotOpen {},
23
24    #[error("Proposal voting period has expired")]
25    Expired {},
26
27    #[error("Proposal must expire before you can close it")]
28    NotExpired {},
29
30    #[error("Wrong expiration option")]
31    WrongExpiration {},
32
33    #[error("Already voted on this proposal")]
34    AlreadyVoted {},
35
36    #[error("Proposal must have passed and not yet been executed")]
37    WrongExecuteStatus {},
38
39    #[error("Cannot close completed or passed proposals")]
40    WrongCloseStatus {},
41
42    #[error("{0}")]
43    Payment(#[from] PaymentError),
44
45    #[error("{0}")]
46    Deposit(#[from] DepositError),
47}