Skip to main content

dfx_core/network/
root_key.rs

1use crate::{
2    config::model::network_descriptor::NetworkDescriptor, error::root_key::FetchRootKeyError,
3};
4use ic_agent::Agent;
5
6#[deprecated(note = "use fetch_root_key_when_non_mainnet() instead")]
7pub async fn fetch_root_key_when_local(
8    agent: &Agent,
9    network: &NetworkDescriptor,
10) -> Result<(), FetchRootKeyError> {
11    fetch_root_key_when_non_mainnet(agent, network).await
12}
13
14pub async fn fetch_root_key_when_non_mainnet(
15    agent: &Agent,
16    network: &NetworkDescriptor,
17) -> Result<(), FetchRootKeyError> {
18    if !network.is_ic {
19        agent
20            .fetch_root_key()
21            .await
22            .map_err(FetchRootKeyError::AgentError)?;
23    }
24    Ok(())
25}
26
27#[deprecated(note = "use fetch_root_key_when_non_mainnet_or_error() instead")]
28pub async fn fetch_root_key_when_local_or_error(
29    agent: &Agent,
30    network: &NetworkDescriptor,
31) -> Result<(), FetchRootKeyError> {
32    fetch_root_key_when_non_mainnet_or_error(agent, network).await
33}
34
35pub async fn fetch_root_key_when_non_mainnet_or_error(
36    agent: &Agent,
37    network: &NetworkDescriptor,
38) -> Result<(), FetchRootKeyError> {
39    if !network.is_ic {
40        agent
41            .fetch_root_key()
42            .await
43            .map_err(FetchRootKeyError::AgentError)
44    } else {
45        Err(FetchRootKeyError::MustNotFetchRootKeyOnMainnet)
46    }
47}