Expand description
ORM-free domain types and persistence traits for Hypercall.
This crate defines the public data types and Reader/Writer traits for the
persistence layer. It has zero dependency on Diesel or any other ORM.
The concrete implementation lives in hypercall-db-diesel, which converts
its internal Diesel models into these types at the trait boundary.
§Consumer pattern
Application code depends on trait bounds from this crate (e.g.
impl OrderReader, impl SettlementWriter), never on concrete DB types.
This keeps the engine, API handlers, and services testable with mock
implementations.
§Modules
Re-exports§
pub use journal_records::JournalCommandSummary;pub use journal_records::JournalEventRecord;pub use journal_records::JournalFullRecord;pub use pnl_attribution::decode_pnl_attribution_values;pub use traits::analytics::*;pub use traits::archiver::*;pub use traits::bootstrap::*;pub use traits::catalog::*;pub use traits::competition::*;pub use traits::directive_outbox::*;pub use traits::engine_journal::*;pub use traits::faucet::*;pub use traits::instruments::*;pub use traits::integrity::*;pub use traits::liquidation::*;pub use traits::mmp::*;pub use traits::nonces::*;pub use traits::notifications::*;pub use traits::oracle::*;pub use traits::orders::*;pub use traits::pm_settlement::*;pub use traits::push::*;pub use traits::replay::*;pub use traits::rfq::*;pub use traits::settlements::*;pub use traits::snapshots::*;pub use traits::tiers::*;pub use traits::transaction::*;pub use traits::usernames::*;pub use traits::validator_rsm::*;pub use types::*;
Modules§
- journal_
records - pnl_
attribution - traits
- Persistence trait definitions, grouped by domain.
- types
- ORM-free domain records and input structs, grouped by domain.