// file: khbb_lib/src/domain.rs //! Domain types for the listener and storage layers. /// Runtime information recorded for a listener session. #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub struct KhbbListenerSession { /// Database identifier. pub id: i64, /// UTC creation timestamp in RFC3339 format. pub started_at: std::string::String, /// Current runtime status. pub status: std::string::String, /// HTTP RPC endpoint used by the listener. pub solana_http_rpc_url: std::string::String, /// WebSocket RPC endpoint used by the listener. pub solana_ws_rpc_url: std::string::String, /// Optional Yellowstone gRPC endpoint used by the listener. pub yellowstone_grpc_url: std::option::Option, } /// Minimal tracked token projection stored by the listener. /// /// This is only a first storage-oriented skeleton and will be extended later. #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] pub(crate) struct KhbbTrackedToken { /// Database identifier. pub id: i64, /// Mint address in base58 form. pub mint_address: std::string::String, /// Optional token symbol if known. pub symbol: std::option::Option, /// Optional token name if known. pub name: std::option::Option, /// UTC creation timestamp in RFC3339 format. pub created_at: std::string::String, }