cosm_utils/modules/cosmwasm/
error.rs

1use thiserror::Error;
2
3use crate::{chain::error::ChainError, modules::auth::error::AccountError};
4
5pub use serde_json::Error as SerdeJsonError;
6
7#[derive(Error, Debug)]
8pub enum CosmwasmError {
9    #[error("cannot serialize inputted msg as json")]
10    JsonSerialize { source: SerdeJsonError },
11
12    #[error("unsupported instantiate permission AccessType: {i:?}")]
13    AccessType { i: i32 },
14
15    #[error("missing event from chain response")]
16    MissingEvent,
17
18    #[error(transparent)]
19    AccountError(#[from] AccountError),
20
21    #[error(transparent)]
22    ChainError(#[from] ChainError),
23
24    #[error(transparent)]
25    TendermintError(#[from] tendermint_rpc::Error),
26}
27
28impl CosmwasmError {
29    pub(crate) fn json(e: serde_json::Error) -> CosmwasmError {
30        CosmwasmError::JsonSerialize { source: e }
31    }
32}