1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use cosmwasm_std::{StdError, Uint128};
use thiserror::Error;

#[derive(Error, Debug, PartialEq)]
pub enum CoreError {
    #[error("{0}")]
    Std(#[from] StdError),

    #[error("Boundary is not in valid format")]
    InvalidBoundary {},

    #[error("Interval is not valid")]
    InvalidInterval {},

    #[error("No coin balance found")]
    EmptyBalance {},

    #[error("Not enough cw20 balance of {addr}, need {lack} more")]
    NotEnoughCw20 { addr: String, lack: Uint128 },

    #[error("Not enough native balance of {denom}, need {lack} more")]
    NotEnoughNative { denom: String, lack: Uint128 },

    #[error("invalid cosmwasm message")]
    InvalidWasmMsg {},

    #[error("Actions message unsupported or invalid message data")]
    InvalidAction {},

    #[error("Invalid gas input")]
    InvalidGas {},

    #[error("Task({task_hash}) became invalid after replacing placeholder")]
    TaskNoLongerValid { task_hash: String },

    #[error("Must provide gas limit for WASM actions")]
    NoGasLimit {},
}