Files
khadhroony-bobot/khbb_lib/src/domain.rs
2026-04-17 19:18:34 +02:00

38 lines
1.4 KiB
Rust

// 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<std::string::String>,
}
/// 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<std::string::String>,
/// Optional token name if known.
pub name: std::option::Option<std::string::String>,
/// UTC creation timestamp in RFC3339 format.
pub created_at: std::string::String,
}