dfx_core/error/
builder.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
use crate::error::identity::{InstantiateIdentityFromNameError, NewIdentityManagerError};
use crate::error::{
    load_dfx_config::LoadDfxConfigError, load_networks_config::LoadNetworksConfigError,
    network_config::NetworkConfigError, root_key::FetchRootKeyError,
};
use ic_agent::AgentError;
use thiserror::Error;

#[derive(Error, Debug)]
pub enum BuildDfxInterfaceError {
    #[error(transparent)]
    BuildAgent(#[from] BuildAgentError),

    #[error(transparent)]
    BuildIdentity(#[from] BuildIdentityError),

    #[error(transparent)]
    LoadNetworksConfig(#[from] LoadNetworksConfigError),

    #[error(transparent)]
    LoadDfxConfig(#[from] LoadDfxConfigError),

    #[error(transparent)]
    NetworkConfig(#[from] NetworkConfigError),

    #[error(transparent)]
    FetchRootKey(#[from] FetchRootKeyError),
}

#[derive(Error, Debug)]
pub enum BuildIdentityError {
    #[error(transparent)]
    NewIdentityManager(#[from] NewIdentityManagerError),

    #[error(transparent)]
    InstantiateIdentityFromName(#[from] InstantiateIdentityFromNameError),
}

#[derive(Error, Debug)]
pub enum BuildAgentError {
    #[error("failed to create http client")]
    CreateHttpClient(#[source] reqwest::Error),

    #[error("failed to create route provider")]
    CreateRouteProvider(#[source] AgentError),

    #[error("failed to create transportr")]
    CreateTransport(#[source] AgentError),

    #[error("failed to create agent")]
    CreateAgent(#[source] AgentError),
}