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