use std::{net::SocketAddr, time::Duration};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
#[serde(deny_unknown_fields, default)]
pub struct Config {
pub listen_addr: Option<SocketAddr>,
pub min_connected_peers: usize,
pub ready_max_blocks_behind: i64,
pub enforce_on_test_networks: bool,
#[serde(with = "humantime_serde")]
pub ready_max_tip_age: Duration,
}
impl Default for Config {
fn default() -> Self {
Self {
listen_addr: None,
min_connected_peers: 1,
ready_max_blocks_behind: 2,
enforce_on_test_networks: false,
ready_max_tip_age: DEFAULT_READY_MAX_TIP_AGE,
}
}
}
const DEFAULT_READY_MAX_TIP_AGE: Duration = Duration::from_secs(5 * 60);