38 lines
1.4 KiB
Rust
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,
|
|
}
|