kyoto-cbf 0.15.1

A Bitcoin light-client according to the BIP-157/BIP-158 specifications
Documentation
use std::path::PathBuf;

use crate::{
    chain::checkpoints::HeaderCheckpoint,
    network::{dns::DnsResolver, ConnectionType},
    PeerStoreSizeConfig, PeerTimeoutConfig, TrustedPeer,
};

const REQUIRED_PEERS: u8 = 1;

pub(crate) struct NodeConfig {
    pub required_peers: u8,
    pub white_list: Vec<TrustedPeer>,
    pub dns_resolver: DnsResolver,
    pub data_path: Option<PathBuf>,
    pub header_checkpoint: Option<HeaderCheckpoint>,
    pub connection_type: ConnectionType,
    pub target_peer_size: PeerStoreSizeConfig,
    pub peer_timeout_config: PeerTimeoutConfig,
}

impl Default for NodeConfig {
    fn default() -> Self {
        Self {
            required_peers: REQUIRED_PEERS,
            white_list: Default::default(),
            dns_resolver: DnsResolver::default(),
            data_path: Default::default(),
            header_checkpoint: Default::default(),
            connection_type: Default::default(),
            target_peer_size: PeerStoreSizeConfig::default(),
            peer_timeout_config: PeerTimeoutConfig::default(),
        }
    }
}