use eigensdk::{
client_avsregistry::error::AvsRegistryError, client_elcontracts::error::ElContractsError,
};
use thiserror::Error;
#[derive(Debug, Error)]
pub enum EigenlayerError {
#[error("AVS Registry error: {0}")]
AvsRegistry(#[from] AvsRegistryError),
#[error("Contract error: {0}")]
Contract(#[from] alloy_contract::Error),
#[error("EL Contracts error: {0}")]
ElContracts(#[from] ElContractsError),
#[error("Registration error: {0}")]
Registration(String),
#[error("Keystore error: {0}")]
Keystore(#[from] blueprint_keystore::Error),
#[error("Crypto error: {0}")]
Crypto(#[from] blueprint_crypto::CryptoCoreError),
#[error("Signature error: {0}")]
SignatureError(#[from] alloy_signer::Error),
#[error("Other error: {0}")]
Other(Box<dyn core::error::Error + Send + Sync>),
}