sov_db/lib.rs
1//! Defines the database used by the Sovereign SDK.
2//!
3//! - Types and traits for storing and retrieving ledger data can be found in the [`ledger_db`] module
4//! - DB "Table" definitions can be found in the [`schema`] module
5//! - Types and traits for storing state data can be found in the [`state_db`] module
6//! - The default db configuration is generated in the [`rocks_db_config`] module
7#![forbid(unsafe_code)]
8#![deny(missing_docs)]
9
10/// Implements a wrapper around RocksDB meant for storing rollup history ("the ledger").
11/// This wrapper implements helper traits for writing blocks to the ledger, and for
12/// serving historical data via RPC
13pub mod ledger_db;
14/// Implements helpers for configuring RocksDB.
15pub mod rocks_db_config;
16/// Defines the tables used by the Sovereign SDK.
17pub mod schema;
18/// Implements a wrapper around [RocksDB](https://rocksdb.org/) meant for storing rollup state.
19/// This is primarily used as the backing store for the [JMT(JellyfishMerkleTree)](https://docs.rs/jmt/latest/jmt/).
20pub mod state_db;
21
22/// Implements a wrapper around RocksDB meant for storing state only accessible
23/// outside of the zkVM execution environment, as this data is not included in
24/// the JMT and does not contribute to proofs of execution.
25pub mod native_db;