#![recursion_limit = "256"]
#![deny(missing_docs)]
#![allow(async_fn_in_trait)]
mod chain_worker;
pub use chain_worker::{
spawn_block_export_queue, BlockExportConfig, BlockExportHandle, ChainWorkerConfig,
ProcessConfirmedBlockMode,
};
pub mod client;
pub use client::Client;
pub mod data_types;
pub mod join_set_ext;
mod local_node;
pub mod node;
pub mod notifier;
pub mod remote_node;
#[cfg(with_testing)]
#[path = "unit_tests/test_utils.rs"]
pub mod test_utils;
pub mod worker;
pub(crate) mod updater;
pub use local_node::LocalNodeError;
pub use updater::DEFAULT_QUORUM_GRACE_PERIOD;
pub use crate::join_set_ext::{JoinSetExt, TaskHandle};
pub mod environment;
pub mod genesis_config;
pub use environment::{
wallet::{self, Wallet},
Environment,
};
pub use genesis_config::GenesisConfig;
pub const CHAIN_INFO_MAX_RECEIVED_LOG_ENTRIES: usize = 20_000;
#[cfg(with_metrics)]
pub fn init_metrics() {
linera_base::init_metrics();
linera_cache::init_metrics();
linera_chain::init_metrics();
linera_execution::init_metrics();
linera_storage::init_metrics();
linera_views::init_metrics();
chain_worker::export::metrics::init_metrics();
chain_worker::state::metrics::init_metrics();
client::metrics::init_metrics();
client::requests_scheduler::init_metrics();
updater::metrics::init_metrics();
worker::metrics::init_metrics();
}