nym_validator_client/
error.rs1use crate::nym_api;
5use crate::signing::direct_wallet::DirectSecp256k1HdWalletError;
6pub use tendermint_rpc::error::Error as TendermintRpcError;
7use thiserror::Error;
8
9#[derive(Error, Debug)]
10pub enum ValidatorClientError {
11 #[error("nym api request failed: {source}")]
12 NymAPIError {
13 source: Box<nym_api::error::NymAPIError>,
14 },
15
16 #[error("Tendermint RPC request failure: {0}")]
17 TendermintErrorRpc(#[from] TendermintRpcError),
18
19 #[error("One of the provided URLs was malformed - {0}")]
20 MalformedUrlProvided(#[from] url::ParseError),
21
22 #[error("nyxd request failed: {0}")]
23 NyxdError(#[from] crate::nyxd::error::NyxdError),
24
25 #[error("the response metadata has changed between pages")]
26 InconsistentPagedMetadata,
27
28 #[error("No validator API url has been provided")]
29 NoAPIUrlAvailable,
30
31 #[error("failed to derive signing accounts: {source}")]
32 AccountDerivationFailure {
33 #[from]
34 source: DirectSecp256k1HdWalletError,
35 },
36}
37
38impl From<nym_api::error::NymAPIError> for ValidatorClientError {
39 fn from(source: nym_api::error::NymAPIError) -> Self {
40 ValidatorClientError::NymAPIError {
41 source: Box::new(source),
42 }
43 }
44}