Skip to main content

thruput_node_supervisor/
lib.rs

1//! Supervisor for the hogd-backed local node behind `thruput node`.
2//!
3//! This crate owns the Rust-side lifecycle of the local runtime: process
4//! supervision, readiness and block-driver wiring, local funding state, and
5//! the JSON-RPC facade that serves the same public API as the gateway.
6
7mod airdrop;
8mod block_driver;
9pub mod config;
10pub mod error;
11mod funding_journal;
12mod genesis;
13pub mod hogd_dev;
14mod local_state;
15mod pid_file;
16pub mod process;
17mod read_backend;
18mod request_deadline;
19mod rpc_backend;
20pub mod server;
21mod stub_backend;
22mod submit_batcher;
23mod view_backend;
24
25#[cfg(test)]
26mod test_support;
27
28/// The dataset the `fake_hogd_dev` executable serves, shared with the unit-test fakes.
29/// Declared here rather than in `test_support`, which other crates' tests include by path.
30#[cfg(test)]
31#[path = "../tests/fixtures/canned_x23.rs"]
32mod canned_x23;
33
34/// How this crate names hogd-dev's x23 services in diagnostics, so a
35/// message always says which of the child's endpoints answered.
36mod service {
37    pub(crate) const INDEXER: &str = "hogd-dev indexer";
38    pub(crate) const DB_GATEWAY: &str = "hogd-dev DbGateway";
39    pub(crate) const VIEW_GATEWAY: &str = "hogd-dev ViewGateway";
40    pub(crate) const SCHEDULER_GATEWAY: &str = "hogd-dev scheduler gateway";
41}
42
43pub use block_driver::{BlockProductionError, ManualBlockProducer, ProducedBlock};
44pub use config::{
45    BlockDriverConfig, BlockDriverMode, HogdDevConfig, LocalAirdropConfig, LogLevel,
46    NodeSupervisorConfig,
47};
48pub use error::NodeSupervisorError;
49pub use hogd_dev::{
50    DEFAULT_HOGD_DEV_BINARY, DEVNODE_BINARY_ENV, HogdDevEndpoints, HogdDevProcess,
51    HogdDevReadiness, build_hogd_dev_spec_with_bootstrap_manifest, parse_readiness_line,
52    resolve_hogd_dev_binary, resolve_hogd_dev_binary_before_path, resolve_hogd_dev_binary_on_path,
53};
54pub use process::{ChildProcessSpec, ChildSupervisor, SupervisedChild};
55pub use server::{BackendPlanes, NodeSupervisorHandle, PlaneStatus, SupervisorStop};
56pub use thruput_json_rpc_server::batch::RpcBatchConcurrency;
57pub use thruput_tx_validation::{ConfigParamName, UnknownConfigParamName};
58
59/// Private chain files included with persistent local-state backups.
60pub use local_state::{LOCAL_FAUCET_KEY_FILE, LOCAL_FUNDING_ATTEMPTS_FILE};