openzeppelin_relayer/models/error/
provider.rs

1use serde::Serialize;
2use thiserror::Error;
3
4#[derive(Error, Debug, Serialize)]
5pub enum StellarProviderError {
6    #[error("RPC client error: {0}")]
7    RpcError(String),
8    #[error("Simulation failed: {0}")]
9    SimulationFailed(String),
10    #[error("Insufficient balance: {0}")]
11    InsufficientBalance(String),
12    #[error("Bad sequence number: {0}")]
13    BadSeq(String),
14    #[error("Unknown error: {0}")]
15    Unknown(String),
16}
17
18impl From<eyre::Report> for StellarProviderError {
19    fn from(err: eyre::Report) -> Self {
20        StellarProviderError::RpcError(err.to_string())
21    }
22}