bolt-cw-sdk 1.0.0

SDK for the BOLT protocol, providing utilities for interacting with the BOLT contracts.
Documentation
use crate::cosmos_client::error::CosmosClientError;
use crate::events::EventError;
use crate::tx_builder::error::TxBuilderError;
use cosmrs::proto::prost;
use thiserror::Error;

#[derive(Error, Debug)]
pub enum RouterError {
    #[error("Tendermint Error: {0}")]
    TendermintError(#[from] tendermint_rpc::Error),
    #[error("Tendermint RPC Error: {0}")]
    CosmrsTmError(#[from] cosmrs::tendermint::Error),
    #[error("TxBuilderError Error: {0}")]
    TxBuilderError(#[from] TxBuilderError),
    #[error("SerdeJson Error: {0}")]
    SerdeJsonError(#[from] serde_json::Error),
    #[error("Eyre Error: {0}")]
    EyreError(#[from] eyre::Report),
    #[error("Prost Error: {0}")]
    ProstError(#[from] prost::DecodeError),
    #[error("CosmosClient Error: {0}")]
    CosmosClientError(#[from] CosmosClientError),
    #[error("Event Error: {0}")]
    EventError(#[from] EventError),
    #[error("Cosmwasm Std Error: {0}")]
    CosmwasmStdError(#[from] cosmwasm_std::StdError),
    #[error("Error while broadcasting transaction: {0}")]
    BroadcastTxError(String),
    #[error("Insufficient gas: GasWanted {0} - GasUsed {1}")]
    InsufficientGasError(i64, i64),
    #[error("Insufficient fee: {0}")]
    InsufficientFeeError(String),
    #[error("Not a bolt transaction")]
    NotBoltTransactionError,
    #[error("Market not found for base asset: {0}")]
    NoMarketFound(String),
}