d8c84cc4d6
* wip * wip: wrap node's sphinx key with a manager * wip: choosing correct key for packet processing * further propagation of key rotation information * attaching key rotation information to reply surbs * added basic key rotation information to mixnet contract * wip: introducing cached queries for key rotation info from nym api * unified nym-api contract cache refreshing * finish packet decoding * multi api client + retrieving rotation id * rotating sphinx key files * logic for migrating config file * wip: putting new sphinx keys to self described endpoints * processing loop of KeyRotationController * fixed sphinx key loading * rotating bloomfilters * wired up KeyRotationController * flushing bloomfilters to disk and loading * most of nym-node changes * post rebase fixes * fixes due to backwards compatible hostkeys * split http state.rs file * dont use deprecated fields * fixed backwards compatible deserialisation of host information * split up node describe cache * added a dedicated CacheRefresher listener to perform full refresh outside the set interval * controlling announced sphinx keys within nym-api * retrieving rotation id when pulling topology * split nym-nodes http handlers * v2 nym-api endpoints to retrieve nodes with additional metadata information * bug fixes... * additional bugfixes and guards against stuck epoch * testnet manager: set first nym-api as the rewarder * fixed host information deserialisation * fixed panic during first key rotation * post rebase fixes * clippy * more guards against stuck epochs * added helper method to reset node's sphinx key * instantiate mixnet contract with custom key rotation validity * additional bugfixes and debugging nym-api deadlock * passing shutdown to nym apis client * remove dead test * post rebasing fixes * missing MixnetQueryClient variants * remove usage of deprecated methods in sdk example * fix: incorrect method signature * post rebasing fixes * attempt to retrieve key rotation id before doing any config migration work * ignore tests relying on networking behaviour * allow networking failures in certain tests
31 lines
887 B
Rust
31 lines
887 B
Rust
// Copyright 2021 - Nym Technologies SA <contact@nymtech.net>
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
use crate::nym_api;
|
|
pub use tendermint_rpc::error::Error as TendermintRpcError;
|
|
use thiserror::Error;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum ValidatorClientError {
|
|
#[error("nym api request failed: {source}")]
|
|
NymAPIError {
|
|
#[from]
|
|
source: nym_api::error::NymAPIError,
|
|
},
|
|
|
|
#[error("Tendermint RPC request failure: {0}")]
|
|
TendermintErrorRpc(#[from] TendermintRpcError),
|
|
|
|
#[error("One of the provided URLs was malformed - {0}")]
|
|
MalformedUrlProvided(#[from] url::ParseError),
|
|
|
|
#[error("nyxd request failed: {0}")]
|
|
NyxdError(#[from] crate::nyxd::error::NyxdError),
|
|
|
|
#[error("the response metadata has changed between pages")]
|
|
InconsistentPagedMetadata,
|
|
|
|
#[error("No validator API url has been provided")]
|
|
NoAPIUrlAvailable,
|
|
}
|