use newton_core::config::ConfigLoader;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(default)]
pub struct ChainWatcherConfig {
pub redis_url: String,
pub gateway_watcher_url: String,
pub max_retries: u32,
pub metrics_port: u16,
#[serde(default)]
pub gateway_psk: Option<String>,
}
impl ConfigLoader for ChainWatcherConfig {
const FILE_NAME: &'static str = "chain-watcher";
const ENV_PREFIX: &'static str = "CHAIN_WATCHER";
}
impl Default for ChainWatcherConfig {
fn default() -> Self {
Self {
redis_url: "redis://127.0.0.1:6379".to_string(),
gateway_watcher_url: "http://127.0.0.1:9001/watcher".to_string(),
max_retries: 3,
metrics_port: 9097,
gateway_psk: None,
}
}
}