use config::Config as _Config;
use cosm_tome::config::cfg::ChainConfig;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use super::error::ConfigError;
use crate::orchestrator::deploy::DeployInfo;
#[derive(Clone, Debug, Serialize, Deserialize)]
pub struct Config {
pub chain_cfg: ChainConfig,
#[serde(default)]
pub contract_deploy_info: HashMap<String, DeployInfo>,
}
impl Config {
pub fn from_yaml(file: &str) -> Result<Config, ConfigError> {
let settings = _Config::builder()
.add_source(config::File::with_name(file))
.build()?;
Ok(settings.try_deserialize::<Config>()?)
}
}