#![cfg_attr(docsrs, feature(doc_cfg))]
#![warn(missing_debug_implementations, missing_docs, rust_2018_idioms)]
#![deny(unreachable_pub)]
pub mod channel;
pub mod cli;
pub mod daemon;
pub mod db;
mod event_handler;
mod ip;
mod logger;
pub mod network;
mod receipt;
pub mod runner;
mod scheduler;
mod settings;
mod tasks;
#[cfg(any(test, feature = "test-utils"))]
#[cfg_attr(docsrs, doc(cfg(feature = "test-utils")))]
pub mod test_utils;
mod worker;
pub mod workflow;
pub use db::{utils::Health, Db};
pub(crate) mod libp2p;
pub use logger::*;
pub(crate) mod metrics;
#[cfg(feature = "websocket-notify")]
pub use event_handler::notification::{network::NetworkNotification, receipt::ReceiptNotification};
#[allow(unused_imports)]
pub(crate) use event_handler::EventHandler;
pub use network::webserver::PrometheusData;
pub use receipt::{Receipt, RECEIPT_TAG, VERSION_KEY};
pub use runner::{NodeInfo, Runner};
pub(crate) use scheduler::TaskScheduler;
#[cfg(feature = "ipfs")]
pub use settings::IpfsBuilder;
pub use settings::{
DatabaseBuilder, Dht, ExistingKeyPath, KeyType, Libp2p, Mdns, MetricsBuilder,
MonitoringBuilder, NetworkBuilder, NodeBuilder, PubkeyConfig, Pubsub, RNGSeed, Rendezvous,
RpcBuilder, Settings, SettingsBuilder, WebserverBuilder,
};
pub(crate) use worker::Worker;
pub use workflow::WORKFLOW_TAG;