#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("HTTP transport error: {0}")]
Http(String),
#[error("Circle API error {code}: {message}")]
Api {
code: i32,
message: String,
},
#[error("Failed to deserialize response: {0}")]
Deserialize(#[from] serde_json::Error),
#[error("Invalid parameter: {0}")]
InvalidParam(String),
}