Skip to main content

Crate hypercall_db

Crate hypercall_db 

Source
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

  • traits – Reader/Writer/Transaction trait definitions, grouped by domain.
  • types – ORM-free domain records and input structs, grouped by domain.

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.