Skip to main content

dfx_core/error/
builder.rs

1use crate::error::identity::{InstantiateIdentityFromNameError, NewIdentityManagerError};
2use crate::error::{
3    load_dfx_config::LoadDfxConfigError, load_networks_config::LoadNetworksConfigError,
4    network_config::NetworkConfigError, root_key::FetchRootKeyError,
5};
6use ic_agent::AgentError;
7use thiserror::Error;
8
9#[derive(Error, Debug)]
10pub enum BuildDfxInterfaceError {
11    #[error(transparent)]
12    BuildAgent(#[from] BuildAgentError),
13
14    #[error(transparent)]
15    BuildIdentity(#[from] BuildIdentityError),
16
17    #[error(transparent)]
18    LoadNetworksConfig(#[from] LoadNetworksConfigError),
19
20    #[error(transparent)]
21    LoadDfxConfig(#[from] LoadDfxConfigError),
22
23    #[error(transparent)]
24    NetworkConfig(#[from] NetworkConfigError),
25
26    #[error(transparent)]
27    FetchRootKey(#[from] FetchRootKeyError),
28}
29
30#[derive(Error, Debug)]
31pub enum BuildIdentityError {
32    #[error(transparent)]
33    NewIdentityManager(#[from] NewIdentityManagerError),
34
35    #[error(transparent)]
36    InstantiateIdentityFromName(#[from] InstantiateIdentityFromNameError),
37}
38
39#[derive(Error, Debug)]
40pub enum BuildAgentError {
41    #[error("failed to create http client")]
42    CreateHttpClient(#[source] reqwest::Error),
43
44    #[error("failed to create route provider")]
45    CreateRouteProvider(#[source] AgentError),
46
47    #[error("failed to create transportr")]
48    CreateTransport(#[source] AgentError),
49
50    #[error("failed to create agent")]
51    CreateAgent(#[source] AgentError),
52}