dao_pre_propose_base/
error.rs

1use 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}