Skip to main content

tg4_stake/
error.rs

1use cosmwasm_std::StdError;
2use thiserror::Error;
3
4use cw_controllers::AdminError;
5use tg_utils::{HookError, PreauthError, SlasherError};
6
7#[derive(Error, Debug, PartialEq)]
8pub enum ContractError {
9    #[error("{0}")]
10    Std(#[from] StdError),
11
12    #[error("{0}")]
13    Admin(#[from] AdminError),
14
15    #[error("{0}")]
16    Hook(#[from] HookError),
17
18    #[error("{0}")]
19    Slasher(#[from] SlasherError),
20
21    #[error("{0}")]
22    Preauth(#[from] PreauthError),
23
24    #[error("Unauthorized: {0}")]
25    Unauthorized(String),
26
27    #[error("No claims that can be released currently")]
28    NothingToClaim {},
29
30    #[error("Must send '{0}' to stake")]
31    MissingDenom(String),
32
33    #[error("Sent unsupported denoms, must send '{0}' to stake")]
34    ExtraDenoms(String),
35
36    #[error("Must send valid amount to unbond")]
37    ZeroAmount {},
38
39    #[error("Must send valid denom to unbond")]
40    InvalidDenom {},
41
42    #[error("No funds sent")]
43    NoFunds {},
44
45    #[error("Unrecognized sudo message")]
46    UnknownSudoMsg {},
47}