// 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;