Files
khadhroony-bobobot/kb_lib/src/lib.rs
2026-04-24 12:01:35 +02:00

146 lines
5.5 KiB
Rust

// file: kb_lib/src/lib.rs
//! Core library of the `khadhroony-bobobot` workspace.
//!
//! This crate contains the reusable backend logic shared by the desktop
//! application and future clients.
#![deny(unreachable_pub)]
#![warn(missing_docs)]
mod config;
mod constants;
mod error;
mod http_client;
mod rpc_ws;
mod tracing;
mod types;
mod ws_client;
mod rpc_ws_solana;
mod http_pool;
mod db;
pub use crate::config::KbAppConfig;
pub use crate::config::KbConfig;
pub use crate::config::KbDataConfig;
pub use crate::config::KbHttpEndpointConfig;
pub use crate::config::KbLoggingConfig;
pub use crate::config::KbSolanaConfig;
pub use crate::config::KbWsEndpointConfig;
pub use crate::config::KbDatabaseConfig;
pub use crate::config::KbSqliteDatabaseConfig;
pub use crate::constants::*;
pub use crate::error::KbError;
pub use crate::rpc_ws::KbJsonRpcWsErrorObject;
pub use crate::rpc_ws::KbJsonRpcWsErrorResponse;
pub use crate::rpc_ws::KbJsonRpcWsIncomingMessage;
pub use crate::rpc_ws::KbJsonRpcWsNotification;
pub use crate::rpc_ws::KbJsonRpcWsNotificationParams;
pub use crate::rpc_ws::KbJsonRpcWsRequest;
pub use crate::rpc_ws::KbJsonRpcWsSuccessResponse;
pub use crate::rpc_ws::kb_is_probable_json_rpc_object_text;
pub use crate::rpc_ws::parse_kb_json_rpc_ws_incoming_text;
pub use crate::rpc_ws::parse_kb_json_rpc_ws_incoming_value;
pub use crate::http_client::HttpClient;
pub use crate::http_client::KbJsonRpcHttpErrorObject;
pub use crate::http_client::KbJsonRpcHttpErrorResponse;
pub use crate::http_client::KbJsonRpcHttpRequest;
pub use crate::http_client::KbJsonRpcHttpResponse;
pub use crate::http_client::KbJsonRpcHttpSuccessResponse;
pub use crate::http_client::KbHttpEndpointStatus;
pub use crate::http_client::KbHttpMethodClass;
pub use crate::http_client::parse_kb_json_rpc_http_response_text;
pub use crate::http_client::parse_kb_json_rpc_http_response_value;
pub use crate::tracing::KbTracingGuard;
pub use crate::tracing::init_tracing;
pub use crate::types::KbConnectionState;
pub use crate::ws_client::WsClient;
pub use crate::ws_client::WsEvent;
pub use crate::ws_client::WsOutgoingMessage;
pub use crate::ws_client::WsSubscriptionInfo;
pub use crate::rpc_ws_solana::KbSolanaWsTypedNotification;
pub use crate::rpc_ws_solana::parse_kb_solana_ws_typed_notification;
pub use crate::rpc_ws_solana::parse_kb_solana_ws_typed_notification_from_event;
pub use crate::http_pool::HttpEndpointPool;
pub use crate::http_pool::KbHttpPoolClientSnapshot;
pub use crate::db::KbDatabase;
pub use crate::db::KbDatabaseBackend;
pub use crate::db::KbDatabaseConnection;
pub use crate::db::KbDbMetadataDto;
pub use crate::db::KbDbMetadataEntity;
pub use crate::db::get_db_metadata;
pub use crate::db::list_db_metadata;
pub use crate::db::upsert_db_metadata;
pub use crate::db::KbDbRuntimeEventDto;
pub use crate::db::KbDbRuntimeEventEntity;
pub use crate::db::KbDbRuntimeEventLevel;
pub use crate::db::KbKnownHttpEndpointDto;
pub use crate::db::KbKnownHttpEndpointEntity;
pub use crate::db::KbKnownWsEndpointDto;
pub use crate::db::KbKnownWsEndpointEntity;
pub use crate::db::KbObservedTokenDto;
pub use crate::db::KbObservedTokenEntity;
pub use crate::db::KbObservedTokenStatus;
pub use crate::db::KbAnalysisSignalDto;
pub use crate::db::KbAnalysisSignalEntity;
pub use crate::db::KbAnalysisSignalSeverity;
pub use crate::db::KbObservationSourceKind;
pub use crate::db::KbOnchainObservationDto;
pub use crate::db::KbOnchainObservationEntity;
pub use crate::db::KbDexDto;
pub use crate::db::KbDexEntity;
pub use crate::db::KbPairDto;
pub use crate::db::KbPairEntity;
pub use crate::db::KbPoolDto;
pub use crate::db::KbPoolEntity;
pub use crate::db::KbPoolKind;
pub use crate::db::KbPoolListingDto;
pub use crate::db::KbPoolListingEntity;
pub use crate::db::KbPoolStatus;
pub use crate::db::KbPoolTokenDto;
pub use crate::db::KbPoolTokenEntity;
pub use crate::db::KbPoolTokenRole;
pub use crate::db::KbTokenDto;
pub use crate::db::KbTokenEntity;
pub use crate::db::KbLiquidityEventDto;
pub use crate::db::KbLiquidityEventEntity;
pub use crate::db::KbLiquidityEventKind;
pub use crate::db::KbSwapDto;
pub use crate::db::KbSwapEntity;
pub use crate::db::KbSwapTradeSide;
pub use crate::db::KbTokenBurnEventDto;
pub use crate::db::KbTokenBurnEventEntity;
pub use crate::db::KbTokenMintEventDto;
pub use crate::db::KbTokenMintEventEntity;
pub use crate::db::list_recent_liquidity_events;
pub use crate::db::list_recent_swaps;
pub use crate::db::list_recent_token_burn_events;
pub use crate::db::list_recent_token_mint_events;
pub use crate::db::upsert_liquidity_event;
pub use crate::db::upsert_swap;
pub use crate::db::upsert_token_burn_event;
pub use crate::db::upsert_token_mint_event;
pub use crate::db::get_token_by_mint;
pub use crate::db::list_dexes;
pub use crate::db::upsert_dex;
pub use crate::db::upsert_pair;
pub use crate::db::upsert_pool;
pub use crate::db::upsert_pool_listing;
pub use crate::db::upsert_pool_token;
pub use crate::db::upsert_token;
pub use crate::db::insert_analysis_signal;
pub use crate::db::insert_onchain_observation;
pub use crate::db::list_recent_analysis_signals;
pub use crate::db::list_recent_onchain_observations;
pub use crate::db::get_observed_token_by_mint;
pub use crate::db::list_observed_tokens;
pub use crate::db::upsert_observed_token;
pub use crate::db::get_known_http_endpoint;
pub use crate::db::get_known_ws_endpoint;
pub use crate::db::insert_db_runtime_event;
pub use crate::db::list_known_http_endpoints;
pub use crate::db::list_known_ws_endpoints;
pub use crate::db::list_recent_db_runtime_events;
pub use crate::db::upsert_known_http_endpoint;
pub use crate::db::upsert_known_ws_endpoint;