drive_abci/lib.rs
1//! Dash ABCI
2//!
3//! ABCI is an interface that defines the boundary between the replication engine (the blockchain),
4//! and the state machine (the application). Using a socket protocol, a consensus engine running
5//! in one process can manage an application state running in another.
6//!
7
8#![cfg_attr(docsrs, feature(doc_cfg))]
9// Coding conventions
10#![forbid(unsafe_code)]
11#![deny(missing_docs)]
12#![allow(clippy::result_large_err)]
13#![allow(clippy::large_enum_variant)]
14
15/// ABCI module
16pub mod abci;
17
18/// Errors module
19pub mod error;
20
21/// Execution module
22pub mod execution;
23
24/// Platform configuration
25pub mod config;
26
27/// Logging and tracing
28pub mod logging;
29
30/// Anything related to 3rd party RPC
31pub mod rpc;
32
33/// Core utilities
34pub mod core;
35
36/// Metrics subsystem
37pub mod metrics;
38
39/// Test helpers and fixtures
40#[cfg(any(feature = "mocks", test))]
41pub mod test;
42
43/// Mimic of block execution for tests
44#[cfg(any(feature = "mocks", test))]
45pub mod mimic;
46/// Platform module
47pub mod platform_types;
48/// Querying
49pub mod query;
50/// Various utils
51pub mod utils;
52
53/// Replay captured ABCI requests against drive-abci
54#[cfg(feature = "replay")]
55pub mod replay;
56/// Drive server
57pub mod server;
58/// Verification helpers
59pub mod verify;