44 lines
1.2 KiB
Rust
44 lines
1.2 KiB
Rust
use nym_client_core::error::ClientCoreError;
|
|
use nym_credential_storage::error::StorageError;
|
|
use time::OffsetDateTime;
|
|
|
|
#[derive(thiserror::Error, Debug)]
|
|
pub enum ClientError {
|
|
#[error("I/O error: {0}")]
|
|
IoError(#[from] std::io::Error),
|
|
|
|
#[error(transparent)]
|
|
ClientCoreError(#[from] ClientCoreError),
|
|
|
|
#[error("Failed to load config for: {0}")]
|
|
FailedToLoadConfig(String),
|
|
|
|
// TODO: add more details here
|
|
#[error("Failed to validate the loaded config")]
|
|
ConfigValidationFailure,
|
|
|
|
#[error("Failed local version check, client and config mismatch")]
|
|
FailedLocalVersionCheck,
|
|
|
|
#[error("Attempted to start the client in invalid socket mode")]
|
|
InvalidSocketMode,
|
|
|
|
#[error("failed to store credential: {source}")]
|
|
CredentialStorageFailure {
|
|
#[from]
|
|
source: StorageError,
|
|
},
|
|
|
|
#[error(
|
|
"failed to deserialize provided credential using revision {storage_revision}: {source}"
|
|
)]
|
|
CredentialDeserializationFailure {
|
|
storage_revision: u8,
|
|
#[source]
|
|
source: nym_credentials::error::Error,
|
|
},
|
|
|
|
#[error("attempted to import an expired credential (it expired on {expiration})")]
|
|
ExpiredCredentialImport { expiration: OffsetDateTime },
|
|
}
|