hypercall/catalog_manager/mod.rs
1//! Catalog Manager Module
2//!
3//! Continuous market/instrument reconciliation component for persistent deployments.
4//! An in-process, interval-based manager that:
5//!
6//! - Reconciles desired markets/instruments from a versioned policy file
7//! - Only adds missing markets/instruments (never deletes)
8//! - Prefers Deribit-listed strikes when available
9//! - Applies dynamic strike extension when spot moves significantly
10//!
11//! Uses PostgreSQL advisory locks to ensure only one instance runs across replicas.
12
13pub mod manager;
14
15mod config;
16
17pub use config::load_catalog_config;
18pub use manager::CatalogManager;
19
20/// Advisory lock ID for CatalogManager (hash of "catalog_manager")
21/// This ensures only one CatalogManager runs across all replicas.
22pub const CATALOG_MANAGER_ADVISORY_LOCK_ID: i64 = 0x636174616c6f675f; // "catalog_" in hex