dao_pre_propose_base/
error.rs1use cosmwasm_std::StdError;
2use cw_denom::DenomError;
3use cw_utils::ParseReplyError;
4use thiserror::Error;
5
6use cw_hooks::HookError;
7use dao_voting::{
8 deposit::DepositError, pre_propose::PreProposeSubmissionPolicyError, status::Status,
9};
10
11#[derive(Error, Debug, PartialEq)]
12pub enum PreProposeError {
13 #[error(transparent)]
14 Std(#[from] StdError),
15
16 #[error(transparent)]
17 Denom(#[from] DenomError),
18
19 #[error(transparent)]
20 Deposit(#[from] DepositError),
21
22 #[error(transparent)]
23 Hooks(#[from] HookError),
24
25 #[error(transparent)]
26 ParseReplyError(#[from] ParseReplyError),
27
28 #[error(transparent)]
29 SubmissionPolicy(#[from] PreProposeSubmissionPolicyError),
30
31 #[error("Message sender is not proposal module")]
32 NotModule {},
33
34 #[error("Message sender is not dao")]
35 NotDao {},
36
37 #[error("No denomination for withdrawal. specify a denomination to withdraw")]
38 NoWithdrawalDenom {},
39
40 #[error("Nothing to withdraw")]
41 NothingToWithdraw {},
42
43 #[error("Proposal status ({status}) is not completed")]
44 NotCompleted { status: Status },
45
46 #[error("Proposal not found")]
47 ProposalNotFound {},
48
49 #[error("Unauthorized")]
50 Unauthorized {},
51
52 #[error("An unknown reply ID was received.")]
53 UnknownReplyID {},
54
55 #[error("Unsupported")]
56 Unsupported {},
57
58 #[error("Cannot migrate contract version {actual}. Requires: {required}")]
59 CannotMigrateVersion { required: String, actual: String },
60}