cosm_utils/modules/cosmwasm/
error.rs1use 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}