Skip to main content

bolt_cw_sdk/router/
error.rs

1use crate::cosmos_client::error::CosmosClientError;
2use crate::events::EventError;
3use crate::tx_builder::error::TxBuilderError;
4use cosmrs::proto::prost;
5use thiserror::Error;
6
7#[derive(Error, Debug)]
8pub enum RouterError {
9    #[error("Tendermint Error: {0}")]
10    TendermintError(#[from] tendermint_rpc::Error),
11    #[error("Tendermint RPC Error: {0}")]
12    CosmrsTmError(#[from] cosmrs::tendermint::Error),
13    #[error("TxBuilderError Error: {0}")]
14    TxBuilderError(#[from] TxBuilderError),
15    #[error("SerdeJson Error: {0}")]
16    SerdeJsonError(#[from] serde_json::Error),
17    #[error("Eyre Error: {0}")]
18    EyreError(#[from] eyre::Report),
19    #[error("Prost Error: {0}")]
20    ProstError(#[from] prost::DecodeError),
21    #[error("CosmosClient Error: {0}")]
22    CosmosClientError(#[from] CosmosClientError),
23    #[error("Event Error: {0}")]
24    EventError(#[from] EventError),
25    #[error("Cosmwasm Std Error: {0}")]
26    CosmwasmStdError(#[from] cosmwasm_std::StdError),
27    #[error("Error while broadcasting transaction: {0}")]
28    BroadcastTxError(String),
29    #[error("Insufficient gas: GasWanted {0} - GasUsed {1}")]
30    InsufficientGasError(i64, i64),
31    #[error("Insufficient fee: {0}")]
32    InsufficientFeeError(String),
33    #[error("Not a bolt transaction")]
34    NotBoltTransactionError,
35    #[error("Market not found for base asset: {0}")]
36    NoMarketFound(String),
37}