Skip to content

Commit

Permalink
Merge branch 'master' into ens/refactor-load-extension-manifests
Browse files Browse the repository at this point in the history
  • Loading branch information
ericswanson-dfinity authored Aug 16, 2024
2 parents afc4fb6 + 421bba9 commit d085b3e
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 9 deletions.
5 changes: 4 additions & 1 deletion src/dfx-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ tar.workspace = true
tempfile.workspace = true
thiserror.workspace = true
tiny-bip39 = "1.0.0"
time.workspace = true
time = { workspace = true, features = [
"serde",
"serde-human-readable",
] }
url.workspace = true

[dev-dependencies]
Expand Down
17 changes: 17 additions & 0 deletions src/dfx-core/src/config/model/local_server_descriptor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,17 @@ use crate::error::network_config::{
use crate::error::structured_file::StructuredFileError;
use crate::json::load_json_file;
use crate::json::structure::SerdeVec;
use serde::{Deserialize, Serialize};
use slog::{debug, info, Logger};
use std::net::SocketAddr;
use std::path::{Path, PathBuf};
use time::OffsetDateTime;

#[derive(Deserialize, Serialize, Debug)]
pub struct NetworkMetadata {
pub created: OffsetDateTime,
pub settings_digest: String,
}

#[derive(Clone, Debug, PartialEq, Eq)]
pub enum LocalNetworkScopeDescriptor {
Expand Down Expand Up @@ -173,6 +181,15 @@ impl LocalServerDescriptor {
path.exists().then(|| load_json_file(&path)).transpose()
}

pub fn load_settings_digest(&mut self) -> Result<(), StructuredFileError> {
if self.settings_digest.is_none() {
let network_id_path = self.data_directory.join("network-id");
let network_metadata: NetworkMetadata = load_json_file(&network_id_path)?;
self.settings_digest = Some(network_metadata.settings_digest);
}
Ok(())
}

pub fn settings_digest(&self) -> &str {
self.settings_digest
.as_ref()
Expand Down
9 changes: 1 addition & 8 deletions src/dfx/src/lib/network/id.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
use crate::lib::error::DfxResult;
use anyhow::Context;
use dfx_core::config::model::local_server_descriptor::LocalServerDescriptor;
use dfx_core::config::model::local_server_descriptor::{LocalServerDescriptor, NetworkMetadata};
use fn_error_context::context;
use serde::{Deserialize, Serialize};
use time::OffsetDateTime;

#[derive(Deserialize, Serialize, Debug)]
struct NetworkMetadata {
created: OffsetDateTime,
settings_digest: String,
}

#[context("Failed write network id to {}.", local_server_descriptor.network_id_path().display())]
pub fn write_network_id(local_server_descriptor: &LocalServerDescriptor) -> DfxResult {
let settings_digest = local_server_descriptor.settings_digest().to_string();
Expand Down

0 comments on commit d085b3e

Please sign in to comment.