// 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)]

/// JSON configuration structures and loading helpers for `kb_lib`.
mod config;
/// Solana program and mint constants reused by the project.
mod constants;
/// Database facade.
/// This module centralizes the database layer and exposes a storage API that is
/// intentionally structured to remain evolutive across backends.
mod db;
/// Detection pipeline facade.
/// This module sits between transport/connectors and persistence.
/// It centralizes how technical observations, analysis signals and
/// candidate tokens are persisted before richer detection logic is added.
mod detect;
/// DEX-specific transaction decoders.
mod dex;
/// Internal known DEX catalog.
mod dex_catalog;
/// Persistence-oriented DEX decoding service.
mod dex_decode;
/// Transaction context loading for DEX decoding.
mod dex_decode_context;
/// Decoded DEX event materialization helpers.
mod dex_decoded_event_materialization;
/// Business-level detection built from decoded DEX events.
mod dex_detect;
/// Decoded DEX event to business-detection routing.
mod dex_detection_route;
/// Shared DEX event classification and decoded-payload enrichment helpers.
mod dex_event_classification;
/// Event coverage synchronization and reporting.
mod dex_event_coverage;
/// Shared DEX pool materialization helpers.
mod dex_pool_materialization;
/// Shared DEX support matrix.
mod dex_support_matrix;
/// Shared error type for `kb_lib`.
mod error;
/// Generic asynchronous HTTP JSON-RPC client.
/// This module provides a reusable `HttpClient` built on top of `reqwest` for
/// Solana RPC HTTP endpoints.
mod http_client;
/// HTTP endpoint pool and routing.
mod http_pool;
/// Technical index for observed chain instructions.
mod instruction_observation_index;
/// Generic JSON-RPC 2.0 WebSocket helpers.
mod json_rpc_ws;
/// Launch surface attribution service.
mod launch_origin;
/// Local DEX corpus search service used by Demo3.
mod local_dex_corpus_search;
/// Local pipeline diagnostics service.
mod local_pipeline_diagnostics;
/// Local pipeline replay from already persisted raw transaction data.
mod local_pipeline_replay;
/// Local pipeline validation helpers for non-regression runs.
mod local_pipeline_validation;
/// Meteora swap amount inference from flattened CPI token transfers.
mod meteora_swap_amount_inference;
/// Useful non-trade DEX event materialization service.
mod non_trade_event_materialization;
/// On-chain DEX pair/pool discovery helpers used by Demo3.
mod onchain_dex_pair_discovery;
/// Pair analytic signal service.
mod pair_analytic_signal;
/// Pair-candle aggregation service.
mod pair_candle_aggregation;
/// Pair-candle query service.
mod pair_candle_query;
/// Pair display-symbol derivation.
mod pair_symbol;
/// Cross-DEX pool-origin recording service.
mod pool_origin;
/// Protocol candidate recording.
mod protocol_candidate_recording;
/// Typed Solana WebSocket PubSub helpers built on top of the generic JSON-RPC transport.
mod solana_pubsub_ws;
/// Historical token backfill service.
mod token_backfill;
/// Token metadata resolution and backfill.
mod token_metadata;
/// Tracing initialization helpers for `kb_lib`.
mod tracing;
/// Cross-DEX trade aggregation service.
mod trade_aggregation;
/// Database context loading for trade aggregation.
mod trade_aggregation_context;
/// Trade amount resolution orchestration.
mod trade_amount_resolution;
/// Trade-event materialization.
mod trade_event_materialization;
/// Trade metric update and pricing helpers.
mod trade_metric_update;
/// PumpSwap trade amount recovery helpers.
mod trade_pump_swap_amounts;
/// Trade-side resolution helpers.
mod trade_side_resolution;
/// Solana transaction/meta trade amount extraction helpers.
mod trade_solana_amounts;
/// Transaction classification service.
mod transaction_classification;
/// Projection of resolved transactions into normalized internal DB tables.
mod tx_model;
/// Transaction resolution pipeline.
mod tx_resolution;
/// Shared generic types for `kb_lib`.
mod types;
/// Upstream Git registry service facade.
mod upstream_registry;
/// Static upstream Git registry bootstrap data.
mod upstream_registry_generated;
/// Upstream Git registry matching helpers.
mod upstream_registry_match;
/// Upstream Git registry DTOs and static entry types.
mod upstream_registry_types;
/// Wallet-holding observation service.
mod wallet_holding_observation;
/// Wallet-observation service.
mod wallet_observation;
/// Generic asynchronous WebSocket transport client.
mod ws_client;
/// Hybrid WebSocket technical observation service.
mod ws_hybrid_observation;
/// Hybrid WebSocket runtime facade.
mod ws_hybrid_runtime;
/// Hybrid WebSocket watch-target collection service.
mod ws_hybrid_watch;
/// Multi-client WebSocket orchestration.
mod ws_manager;

/// Generic application settings.
pub use config::AppConfig;
/// Root application configuration loaded from `config.json`.
pub use config::Config;
/// Local data paths used by the application.
pub use config::DataConfig;
/// Database configuration.
pub use config::DatabaseConfig;
/// HTTP endpoint configuration.
pub use config::HttpEndpointConfig;
/// Logging and tracing configuration.
pub use config::LoggingConfig;
/// Solana transport configuration.
pub use config::SolanaConfig;
/// SQLite configuration.
pub use config::SqliteDatabaseConfig;
/// WebSocket endpoint configuration.
pub use config::WsEndpointConfig;
/// Address Lookup Table program identifier. ("AddressLookupTab1e1111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::address_lookup_table::ID
pub use constants::ADDRESS_LOOKUP_TABLE_PROGRAM_ID;
/// AlphaQ program id from Vybe supported DEX/AMM documentation.
pub use constants::ALPHAQ_PROGRAM_ID;
/// Aquifer program id from Vybe supported DEX/AMM documentation.
pub use constants::AQUIFER_PROGRAM_ID;
/// Arbitrage Bot (6MWVT) / Arbitrage or Sandwich Bot. ("6MWVTis8rmmk6Vt9zmAJJbmb3VuLpzoQ1aHH4N6wQEGh").
pub use constants::ARBITRAGE_BOT_6MWVT_PROGRAM_ID;
/// Associated Token Account program identifier. ("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL").
/// @see solana_sdk::pubkey::Pubkey = spl_associated_token_account_interface::program::ID
pub use constants::ASSOCIATED_TOKEN_PROGRAM_ID;
/// BisonFi program id from Vybe supported DEX/AMM documentation.
pub use constants::BISONFI_PROGRAM_ID;
/// Canonical Bonk token mint identifier.
pub use constants::BONK_MINT_ID;
/// Bonkswap program id extracted from upstream Git decoder source.
pub use constants::BONKSWAP_PROGRAM_ID;
/// Boop program id extracted from upstream Git decoder source.
pub use constants::BOOP_FUN_PROGRAM_ID;
/// BPF Loader program identifier. ("BPFLoader1111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::bpf_loader_deprecated::ID
pub use constants::BPF_LOADER_DEPRECATED_PROGRAM_ID;
/// BPF Loader program identifier. ("BPFLoaderUpgradeab1e11111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::bpf_loader_upgradeable::ID
pub use constants::BPF_LOADER_UPGRADEABLE_PROGRAM_ID;
/// Bubblegum program id extracted from upstream Git decoder source.
pub use constants::BUBBLEGUM_PROGRAM_ID;
/// Byreal program id from Vybe supported DEX/AMM documentation.
pub use constants::BYREAL_PROGRAM_ID;
/// Circle Message Transmitter v2 program id extracted from upstream Git decoder source.
pub use constants::CIRCLE_MESSAGE_TRANSMITTER_V2_PROGRAM_ID;
/// Circle Token Messenger v2 program id extracted from upstream Git decoder source.
pub use constants::CIRCLE_TOKEN_MESSENGER_V2_PROGRAM_ID;
/// Compute Budget program identifier. ("ComputeBudget111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::compute_budget::ID
pub use constants::COMPUTE_BUDGET_PROGRAM_ID;
/// Config program identifier. ("Config1111111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::config::ID
pub use constants::CONFIG_PROGRAM_ID;
/// DexLab Swap/Pool program id. ("DSwpgjMvXhtGn6BsbqmacdBZyfLj6jSWf3HJpdJtmg6N").
pub use constants::DEXLAB_PROGRAM_ID;
/// DFlow Aggregator v4 program id extracted from upstream Git decoder source.
pub use constants::DFLOW_AGGREGATOR_V4_PROGRAM_ID;
/// Drift v2 program id extracted from upstream Git decoder source.
pub use constants::DRIFT_V2_PROGRAM_ID;
/// ED25519 program identifier. ("Ed25519SigVerify111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::ed25519_program::ID
pub use constants::ED25519_PROGRAM_ID;
/// Feature program identifier. ("Feature111111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey =  solana_sdk_ids::feature::ID
pub use constants::FEATURE_PROGRAM_ID;
/// Moonshot token authority account observed on Solscan program id. ("FLUXubRmkEi2q6K3Y9kBPg9248ggaZVsoSFhtJHSrm1X").
pub use constants::FLUXBEAM_PROGRAM_ID;
/// FusionAMM program id from Vybe supported DEX/AMM documentation.
pub use constants::FUSIONAMM_PROGRAM_ID;
/// Gavel program id extracted from upstream Git decoder source.
pub use constants::GAVEL_PROGRAM_ID;
/// Goonfi program id from Vybe supported DEX/AMM documentation.
pub use constants::GOONFI_PROGRAM_ID;
/// Goonfi v2 program id from Vybe supported DEX/AMM documentation.
pub use constants::GOONFI_V2_PROGRAM_ID;
/// GooseFX v1 program id from Vybe supported DEX/AMM documentation.
pub use constants::GOOSEFX_V1_PROGRAM_ID;
/// Heaven program id extracted from upstream Git decoder source.
pub use constants::HEAVEN_PROGRAM_ID;
/// Humidifi program id from Vybe supported DEX/AMM documentation.
pub use constants::HUMIDIFI_PROGRAM_ID;
/// Incinerator program identifier. ("1nc1nerator11111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::incinerator::ID
pub use constants::INCINERATOR_PROGRAM_ID;
/// Canonical Jupiter governance token mint identifier.
pub use constants::JUP_MINT_ID;
/// Jupiter DCA program id extracted from upstream Git decoder source.
pub use constants::JUPITER_DCA_PROGRAM_ID;
/// Jupiter Lend program id extracted from upstream Git decoder source.
pub use constants::JUPITER_LEND_PROGRAM_ID;
/// Jupiter Limit Order 2 program id extracted from upstream Git decoder source.
pub use constants::JUPITER_LIMIT_ORDER_2_PROGRAM_ID;
/// Jupiter Limit Order program id extracted from upstream Git decoder source.
pub use constants::JUPITER_LIMIT_ORDER_PROGRAM_ID;
/// Jupiter Perpetuals program id extracted from upstream Git decoder source.
pub use constants::JUPITER_PERPETUALS_PROGRAM_ID;
/// Jupiter Swap program id extracted from upstream Git decoder source.
pub use constants::JUPITER_SWAP_PROGRAM_ID;
/// Kamino Farms program id extracted from upstream Git decoder source.
pub use constants::KAMINO_FARMS_PROGRAM_ID;
/// Kamino Lending program id extracted from upstream Git decoder source.
pub use constants::KAMINO_LENDING_PROGRAM_ID;
/// Kamino Limit Order program id extracted from upstream Git decoder source.
pub use constants::KAMINO_LIMIT_ORDER_PROGRAM_ID;
/// Kamino Vault program id extracted from upstream Git decoder source.
pub use constants::KAMINO_VAULT_PROGRAM_ID;
/// Lifinity AMM v2 program id extracted from upstream Git decoder source.
pub use constants::LIFINITY_AMM_V2_PROGRAM_ID;
/// Loader V4 program identifier. ("LoaderV411111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::loader_v4::ID
pub use constants::LOADER_V4_PROGRAM_ID;
/// Manifest CLOB program id from Vybe supported DEX/AMM documentation.
pub use constants::MANIFEST_CLOB_PROGRAM_ID;
/// Marginfi v2 program id extracted from upstream Git decoder source.
pub use constants::MARGINFI_V2_PROGRAM_ID;
/// Marinade Finance program id extracted from upstream Git decoder source.
pub use constants::MARINADE_FINANCE_PROGRAM_ID;
/// SPL Memo program id.
pub use constants::MEMO_PROGRAM_ID;
/// MetaDAO AMM v0.5.0 program id.
pub use constants::METADAO_AMM_V0_5_0_PROGRAM_ID;
/// MetaDAO Bid Wall v0.7.0 program id.
pub use constants::METADAO_BID_WALL_V0_7_0_PROGRAM_ID;
/// MetaDAO Futarchy v0.6.0 program id.
pub use constants::METADAO_FUTARCHY_V0_6_0_PROGRAM_ID;
/// MetaDAO Launchpad v0.7.0 program id.
pub use constants::METADAO_LAUNCHPAD_V0_7_0_PROGRAM_ID;
/// Meteora DAMM v1 program id. ("Eo7WjKq67rjJQSZxS6z3YkapzY3eMj6Xy8X5EQVn5UaB").
pub use constants::METEORA_DAMM_V1_PROGRAM_ID;
/// Meteora DAMM v2 program id. ("cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG").
pub use constants::METEORA_DAMM_V2_PROGRAM_ID;
/// Meteora DBC program id. ("dbcij3LWUppWqq96dh6gJWwBifmcGfLSB5D4DuSMaqN").
pub use constants::METEORA_DBC_PROGRAM_ID;
/// Meteora DLMM program id. ("LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo").
pub use constants::METEORA_DLMM_PROGRAM_ID;
/// Meteora Vault program id. ("MoonCVVNZFSYkqNXP6bxHLPL6QQJiMagDL3qcqUQTrG").
pub use constants::METEORA_VAULT_PROGRAM_ID;
/// Moonshot program id extracted from upstream Git decoder source.
pub use constants::MOONSHOT_PROGRAM_ID;
/// FluxBeam program id. ("7rtiKSUDLBm59b1SBmD9oajcP8xE64vAGSMbAN5CXy1q").
pub use constants::MOONSHOT_TOKEN_AUTHORITY_ID;
/// MPL Core program id extracted from upstream Git decoder source.
pub use constants::MPL_CORE_PROGRAM_ID;
/// MPL Token Metadata program id extracted from upstream Git decoder source.
pub use constants::MPL_TOKEN_METADATA_PROGRAM_ID;
/// Solana Name Service program id extracted from upstream Git decoder source.
pub use constants::NAME_SERVICE_PROGRAM_ID;
/// Native Loader program identifier. ("NativeLoader1111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::native_loader::ID
pub use constants::NATIVE_LOADER_PROGRAM_ID;
/// Obric v2 program id from Vybe supported DEX/AMM documentation.
pub use constants::OBRIC_V2_PROGRAM_ID;
/// OKX DEX program id extracted from upstream Git decoder source.
pub use constants::OKX_DEX_PROGRAM_ID;
/// Onchain Labs DEX v2 program id extracted from upstream Git decoder source.
pub use constants::ONCHAIN_LABS_DEX_V2_PROGRAM_ID;
/// Ondo Global Market program id from Vybe supported DEX/AMM documentation.
pub use constants::ONDO_GLOBAL_MARKET_PROGRAM_ID;
/// OpenBook v2 program id extracted from upstream Git decoder source.
pub use constants::OPENBOOK_V2_PROGRAM_ID;
/// Orca Whirlpools program id. ("whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc").
pub use constants::ORCA_WHIRLPOOLS_PROGRAM_ID;
/// Pancake Swap program id extracted from upstream Git decoder source.
pub use constants::PANCAKE_SWAP_PROGRAM_ID;
/// Phoenix v1 program id extracted from upstream Git decoder source.
pub use constants::PHOENIX_V1_PROGRAM_ID;
/// Printr program id candidate observed on Solscan.
pub use constants::PRINTR_PROGRAM_ID;
/// Pump Fees program id extracted from upstream Git decoder source.
pub use constants::PUMP_FEES_PROGRAM_ID;
/// Pump.fun program id. ("6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P").
pub use constants::PUMP_FUN_PROGRAM_ID;
/// PumpSwap / PumpAMM program id. ("pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA").
pub use constants::PUMP_SWAP_PROGRAM_ID;
/// Canonical Raydium token mint identifier.
pub use constants::RAY_MINT_ID;
/// Raydium AMM routing program id. ("routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xS").
pub use constants::RAYDIUM_AMM_ROUTING_PROGRAM_ID;
/// Raydium AmmV4 program id. ("675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8").
pub use constants::RAYDIUM_AMM_V4_PROGRAM_ID;
/// Raydium CLMM program id. ("CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK").
pub use constants::RAYDIUM_CLMM_PROGRAM_ID;
/// Raydium CPMM mainnet program id. ("CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C").
pub use constants::RAYDIUM_CPMM_PROGRAM_ID;
/// Raydium LaunchLab platform config account observed on Solscan. ("4Bu96XjU84XjPDSpveTVf6LYGCkfW5FK7SNkREWcEfV4").
pub use constants::RAYDIUM_LAUNCHPAD_PLATFORM_CONFIG_ACCOUNT_ID;
/// Raydium LaunchLab / Launchpad program id. ("LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj").
pub use constants::RAYDIUM_LAUNCHPAD_PROGRAM_ID;
/// Raydium Liquidity Locking program id extracted from upstream Git decoder source.
pub use constants::RAYDIUM_LIQUIDITY_LOCKING_PROGRAM_ID;
/// Raydium Stable Swap AMM program id, deprecated. ("5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h").
pub use constants::RAYDIUM_STABLE_SWAP_AMM_PROGRAM_ID;
/// Scorch program id from Vybe supported DEX/AMM documentation.
pub use constants::SCORCH_PROGRAM_ID;
/// Secp256k1 program identifier. ("KeccakSecp256k11111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::secp256k1_program::ID
pub use constants::SECP256K1_PROGRAM_ID;
/// Secp256r1 program identifier. ("Secp256r1SigVerify1111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::secp256r1_program::ID
pub use constants::SECP256R1_PROGRAM_ID;
/// Sharky program id extracted from upstream Git decoder source.
pub use constants::SHARKY_PROGRAM_ID;
/// Solayer Restaking program id extracted from upstream Git decoder source.
pub use constants::SOLAYER_RESTAKING_PROGRAM_ID;
/// SolFi v2 program id from Vybe supported DEX/AMM documentation.
pub use constants::SOLFI_V2_PROGRAM_ID;
/// Manual Solscan account-source inventory collected for post-`0.7.50` DEX discovery.
pub use constants::SOLSCAN_ACCOUNT_SOURCES;
/// SPL Token-2022 program identifier. ("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb").
/// @see solana_sdk::pubkey::Pubkey = spl_token_2022_interface::ID
pub use constants::SPL_TOKEN_2022_PROGRAM_ID;
/// SPL Token program identifier. ("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA").
/// @see solana_sdk::pubkey::Pubkey = spl_token_interface::ID
pub use constants::SPL_TOKEN_PROGRAM_ID;
/// Stabble stable-swap program id extracted from upstream Git decoder source.
pub use constants::STABBLE_STABLE_SWAP_PROGRAM_ID;
/// Stabble weighted-swap program id extracted from upstream Git decoder source.
pub use constants::STABBLE_WEIGHTED_SWAP_PROGRAM_ID;
/// Stake Config program identifier. ("StakeConfig11111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::stake::config::ID
pub use constants::STAKE_CONFIG_PROGRAM_ID;
/// Stake program identifier. ("Stake11111111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::stake::ID
pub use constants::STAKE_PROGRAM_ID;
/// Swig program id extracted from upstream Git decoder source.
pub use constants::SWIG_PROGRAM_ID;
/// System program identifier. ("11111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::system_program::ID
pub use constants::SYSTEM_PROGRAM_ID;
/// Sysvar Clock program identifier. ("SysvarC1ock11111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::clock::ID
pub use constants::SYSVAR_CLOCK_PROGRAM_ID;
/// Sysvar Epoch Rewards program identifier. ("SysvarEpochRewards1111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::epoch_rewards::ID
pub use constants::SYSVAR_EPOCH_REWARDS_PROGRAM_ID;
/// Sysvar Epoch Schedule program identifier. ("SysvarEpochSchedu1e111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::epoch_schedule::ID
pub use constants::SYSVAR_EPOCH_SCHEDULE_PROGRAM_ID;
/// Sysvar Fees program identifier. ("SysvarFees111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::fees::ID
pub use constants::SYSVAR_FEES_PROGRAM_ID;
/// Sysvar Instructions program identifier. ("Sysvar1nstructions1111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::instructions::ID
pub use constants::SYSVAR_INSTRUCTIONS_PROGRAM_ID;
/// Sysvar Last Restart Slot program identifier. ("SysvarLastRestartS1ot1111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::last_restart_slot::ID
pub use constants::SYSVAR_LAST_RESTART_SLOT_PROGRAM_ID;
/// Sysvar program identifier. ("Sysvar1111111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::ID
pub use constants::SYSVAR_PROGRAM_ID;
/// Sysvar Recent Blockhashes program identifier. ("SysvarRecentB1ockHashes11111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::recent_blockhashes::ID
pub use constants::SYSVAR_RECENT_BLOCKHASHES_PROGRAM_ID;
/// Sysvar Rent program identifier. ("SysvarRent111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::rent::ID
pub use constants::SYSVAR_RENT_PROGRAM_ID;
/// Sysvar Rewards program identifier. ("SysvarRewards111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::rewards::ID
pub use constants::SYSVAR_REWARDS_PROGRAM_ID;
/// Sysvar Slot Hashes program identifier. ("SysvarS1otHashes111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::slot_hashes::ID
pub use constants::SYSVAR_SLOT_HASHES_PROGRAM_ID;
/// Sysvar Slot History program identifier. ("SysvarS1otHistory11111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::slot_history::ID
pub use constants::SYSVAR_SLOT_HISTORY_PROGRAM_ID;
/// Sysvar Stake History program identifier. ("SysvarStakeHistory1111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::sysvar::stake_history::ID
pub use constants::SYSVAR_STAKE_HISTORY_PROGRAM_ID;
/// One Solscan account source collected during manual DEX/program inventory.
pub use constants::SolscanAccountSource;
/// Canonical Solana USDC mint identifier.
pub use constants::USDC_MINT_ID;
/// Canonical Solana USDT mint identifier.
pub use constants::USDT_MINT_ID;
/// Vertigo program id extracted from upstream Git decoder source.
pub use constants::VERTIGO_PROGRAM_ID;
/// Virtuals program id extracted from upstream Git decoder source.
pub use constants::VIRTUALS_PROGRAM_ID;
/// Vote program identifier. ("Vote111111111111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::vote::ID
pub use constants::VOTE_PROGRAM_ID;
/// Wavebreak program id extracted from upstream Git decoder source.
pub use constants::WAVEBREAK_PROGRAM_ID;
/// Woofi program id from Vybe supported DEX/AMM documentation.
pub use constants::WOOFI_PROGRAM_ID;
/// Wrapped SOL mint identifier. ("So11111111111111111111111111111111111111112").
/// @see solana_sdk::pubkey::Pubkey = spl_token_interface::native_mint::ID
pub use constants::WSOL_MINT_ID;
/// ZeroFi program id from Vybe supported DEX/AMM documentation.
pub use constants::ZEROFI_PROGRAM_ID;
/// Zeta program id extracted from upstream Git decoder source.
pub use constants::ZETA_PROGRAM_ID;
/// Zk El Gamal Proof program identifier. ("ZkE1Gama1Proof11111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::zk_elgamal_proof_program::ID
pub use constants::ZK_ELGAMAL_PROOF_PROGRAM_ID;
/// Zk Token Proof program identifier. ("ZkTokenProof1111111111111111111111111111111").
/// @see solana_sdk::pubkey::Pubkey = solana_sdk_ids::zk_token_proof_program::ID
pub use constants::ZK_TOKEN_PROOF_PROGRAM_ID;
/// Zora program id candidate observed on Solscan.
pub use constants::ZORA_PROGRAM_ID;
/// Application-facing analysis signal DTO.
pub use db::AnalysisSignalDto;
/// Persisted analysis signal row.
pub use db::AnalysisSignalEntity;
/// Severity for one analysis signal.
pub use db::AnalysisSignalSeverity;
/// Application-facing normalized chain instruction DTO.
pub use db::ChainInstructionDto;
/// Persisted Solana instruction row.
pub use db::ChainInstructionEntity;
/// Application-facing normalized chain slot DTO.
pub use db::ChainSlotDto;
/// Persisted Solana slot row.
pub use db::ChainSlotEntity;
/// Application-facing normalized chain transaction DTO.
pub use db::ChainTransactionDto;
/// Persisted Solana transaction row.
pub use db::ChainTransactionEntity;
/// Database facade.
pub use db::Database;
/// Supported database backends.
pub use db::DatabaseBackend;
/// Concrete database connection.
pub use db::DatabaseConnection;
/// Metadata DTO used by the application layer.
pub use db::DbMetadataDto;
/// Persisted metadata row.
pub use db::DbMetadataEntity;
/// Application-facing runtime event DTO.
pub use db::DbRuntimeEventDto;
/// Persisted runtime event row.
pub use db::DbRuntimeEventEntity;
/// Runtime event level used by the local database layer.
pub use db::DbRuntimeEventLevel;
/// Application-facing DEX decode replay ledger DTO.
pub use db::DexDecodeReplayLedgerDto;
/// Persisted DEX decode replay ledger row.
pub use db::DexDecodeReplayLedgerEntity;
/// Application-facing decoded DEX event DTO.
pub use db::DexDecodedEventDto;
/// Persisted decoded DEX event row.
pub use db::DexDecodedEventEntity;
/// Application-facing normalized DEX DTO.
pub use db::DexDto;
/// Persisted normalized DEX row.
pub use db::DexEntity;
/// Application-facing DEX event coverage entry DTO.
pub use db::DexEventCoverageEntryDto;
/// Persisted DEX event coverage entry row.
pub use db::DexEventCoverageEntryEntity;
/// Application-facing DEX event coverage summary DTO.
pub use db::DexEventCoverageSummaryDto;
/// Aggregated DEX event coverage summary row.
pub use db::DexEventCoverageSummaryEntity;
/// Application-facing normalized fee event amount leg DTO.
pub use db::FeeEventAmountDto;
/// Persisted normalized fee event amount leg row.
pub use db::FeeEventAmountEntity;
/// Normalized fee event persisted from useful non-trade DEX events.
pub use db::FeeEventDto;
/// Persisted fee event row.
pub use db::FeeEventEntity;
/// Application-facing on-chain observation DTO.
pub use db::InstructionObservationDto;
/// Persisted technical observation for one Solana instruction.
pub use db::InstructionObservationEntity;
/// Raw source row used to rebuild the technical instruction-observation index.
pub use db::InstructionObservationSourceRow;
/// Application-facing known HTTP endpoint DTO.
pub use db::KnownHttpEndpointDto;
/// Application-facing known WebSocket endpoint DTO.
pub use db::KnownHttpEndpointEntity;
/// Application-facing known WebSocket endpoint DTO.
pub use db::KnownWsEndpointDto;
/// Persisted known WebSocket endpoint row.
pub use db::KnownWsEndpointEntity;
/// Application-facing launch attribution DTO.
pub use db::LaunchAttributionDto;
/// Persisted launch attribution row.
pub use db::LaunchAttributionEntity;
/// Input used to upsert one launch event row.
pub use db::LaunchEventUpsertInput;
/// Application-facing launch surface DTO.
pub use db::LaunchSurfaceDto;
/// Persisted launch surface row.
pub use db::LaunchSurfaceEntity;
/// Application-facing launch surface key DTO.
pub use db::LaunchSurfaceKeyDto;
/// Persisted launch surface matching key row.
pub use db::LaunchSurfaceKeyEntity;
/// Application-facing normalized liquidity event DTO.
pub use db::LiquidityEventDto;
/// Persisted normalized liquidity event row.
pub use db::LiquidityEventEntity;
/// Normalized liquidity event kind.
pub use db::LiquidityEventKind;
/// Local decoded-event diagnostics summary.
pub use db::LocalDecodedEventDiagnosticSummaryDto;
/// Local DEX corpus decoded-event sample for Demo3.
pub use db::LocalDexCorpusDecodedEventSampleDto;
/// Local DEX corpus pool/pair sample for Demo3.
pub use db::LocalDexCorpusPoolPairSampleDto;
/// Local DEX corpus search request for Demo3.
pub use db::LocalDexCorpusSearchRequestDto;
/// Local DEX corpus search result for Demo3.
pub use db::LocalDexCorpusSearchResultDto;
/// Local DEX corpus search summary for Demo3.
pub use db::LocalDexCorpusSearchSummaryDto;
/// Local DEX corpus transaction sample for Demo3.
pub use db::LocalDexCorpusTransactionSampleDto;
/// Local DEX diagnostics summary.
pub use db::LocalDexDiagnosticSummaryDto;
/// Sample of duplicated trade rows grouped by decoded event id.
pub use db::LocalDuplicateDecodedEventTradeDiagnosticSampleDto;
/// Local decoded-event classification diagnostics summary.
pub use db::LocalEventClassificationDiagnosticSummaryDto;
/// Sample of a launch-origin attribution.
pub use db::LocalLaunchOriginDiagnosticSampleDto;
/// Sample of a decoded trade candidate without linked trade event.
pub use db::LocalMissingTradeEventDiagnosticSampleDto;
/// Missing trade event diagnostics grouped by reason.
pub use db::LocalMissingTradeEventReasonSummaryDto;
/// Sample of multi-trade groups sharing the same signature and pair id.
pub use db::LocalMultiTradeSignaturePairDiagnosticSampleDto;
/// Local pair diagnostics for pairs whose missing trade events are non-actionable.
pub use db::LocalNonActionablePairDiagnosticSummaryDto;
/// Local pair diagnostics grouped by materialization/actionability class.
pub use db::LocalPairActionabilityDiagnosticSummaryDto;
/// Local pair diagnostics summary.
pub use db::LocalPairDiagnosticSummaryDto;
/// Sample of a pair gap.
pub use db::LocalPairGapDiagnosticSampleDto;
/// Local pair diagnostics grouped by trading readiness class.
pub use db::LocalPairTradingReadinessDiagnosticSummaryDto;
/// Internal flat counter row for local diagnostics.
pub use db::LocalPipelineDiagnosticCountersDto;
/// Local pipeline diagnostics summary.
pub use db::LocalPipelineDiagnosticSummaryDto;
/// Sample of a pool-origin row and optional launch linkage.
pub use db::LocalPoolOriginDiagnosticSampleDto;
/// Projected instruction diagnostics grouped by Raydium program id.
pub use db::LocalRaydiumProgramInstructionDiagnosticSummaryDto;
/// Raydium DEX-first surface diagnostics.
pub use db::LocalRaydiumSurfaceDiagnosticSummaryDto;
/// Prioritized sample of an incomplete token metadata row.
pub use db::LocalTokenMetadataGapDiagnosticSampleDto;
/// Source family for one on-chain observation.
pub use db::ObservationSourceKind;
/// Application-facing observed token DTO.
pub use db::ObservedTokenDto;
/// Persisted observed token row.
pub use db::ObservedTokenEntity;
/// Local status of one observed token.
pub use db::ObservedTokenStatus;
/// Application-facing on-chain observation DTO.
pub use db::OnchainObservationDto;
/// Persisted on-chain observation row.
pub use db::OnchainObservationEntity;
/// Application-facing normalized orderbook or limit-order event DTO.
pub use db::OrderbookEventDto;
pub use db::OrderbookEventEntity;
/// Application-facing pair-analytic-signal DTO.
pub use db::PairAnalyticSignalDto;
/// Persisted pair-analytic-signal row.
pub use db::PairAnalyticSignalEntity;
/// Application-facing pair-candle DTO.
pub use db::PairCandleDto;
/// Persisted pair-candle row.
pub use db::PairCandleEntity;
/// Application-facing normalized pair DTO.
pub use db::PairDto;
/// Persisted normalized pair row.
pub use db::PairEntity;
/// Application-facing pair-metric DTO.
pub use db::PairMetricDto;
/// Persisted pair-metric row.
pub use db::PairMetricEntity;
/// Normalized pool administration event persisted from useful non-trade DEX events.
pub use db::PoolAdminEventDto;
/// Persisted pool administration event row.
pub use db::PoolAdminEventEntity;
/// Application-facing normalized pool DTO.
pub use db::PoolDto;
/// Persisted normalized pool row.
pub use db::PoolEntity;
/// Normalized pool kind.
pub use db::PoolKind;
/// Application-facing normalized pool lifecycle event DTO.
pub use db::PoolLifecycleEventDto;
/// Persisted normalized pool lifecycle event row.
pub use db::PoolLifecycleEventEntity;
/// Application-facing normalized pool listing DTO.
pub use db::PoolListingDto;
/// Persisted normalized pool listing row.
pub use db::PoolListingEntity;
/// Application-facing pool-origin DTO.
pub use db::PoolOriginDto;
/// Persisted pool-origin row.
pub use db::PoolOriginEntity;
/// Normalized pool status.
pub use db::PoolStatus;
/// Application-facing normalized pool token DTO.
pub use db::PoolTokenDto;
/// Persisted normalized pool token composition row.
pub use db::PoolTokenEntity;
/// Role of one token inside a normalized pool.
pub use db::PoolTokenRole;
/// Diagnostic row for instructions of one Solana program.
pub use db::ProgramInstructionDiagnosticDto;
/// Raw diagnostic row for instructions of one Solana program.
pub use db::ProgramInstructionDiagnosticEntity;
/// Raw row used to summarize instruction discriminators for one Solana program.
pub use db::ProgramInstructionDiscriminatorRowEntity;
/// Aggregated instruction discriminator diagnostic row.
pub use db::ProgramInstructionDiscriminatorSummaryDto;
/// Application-facing protocol candidate DTO.
pub use db::ProtocolCandidateDto;
/// Persisted protocol candidate row.
pub use db::ProtocolCandidateEntity;
/// Aggregated protocol candidate diagnostic row.
pub use db::ProtocolCandidateSummaryDto;
/// Aggregated protocol candidate diagnostic row.
pub use db::ProtocolCandidateSummaryEntity;
/// Normalized reward event persisted from useful non-trade DEX events.
pub use db::RewardEventDto;
/// Persisted reward event row.
pub use db::RewardEventEntity;
/// Application-facing normalized swap DTO.
pub use db::SwapDto;
/// Persisted normalized swap row.
pub use db::SwapEntity;
/// Swap side relative to the normalized base token of the pair.
pub use db::SwapTradeSide;
/// Application-facing normalized token-account event DTO.
pub use db::TokenAccountEventDto;
/// Persisted normalized token-account event row.
pub use db::TokenAccountEventEntity;
/// Application-facing normalized token burn event DTO.
pub use db::TokenBurnEventDto;
/// Persisted normalized token burn event row.
pub use db::TokenBurnEventEntity;
/// Application-facing normalized token DTO.
pub use db::TokenDto;
/// Persisted normalized token row.
pub use db::TokenEntity;
/// Application-facing normalized token mint event DTO.
pub use db::TokenMintEventDto;
/// Persisted normalized token mint event row.
pub use db::TokenMintEventEntity;
/// Application-facing trade-event DTO.
pub use db::TradeEventDto;
/// Persisted trade-event row.
pub use db::TradeEventEntity;
/// Application-facing transaction classification DTO.
pub use db::TransactionClassificationDto;
/// Persisted transaction classification row.
pub use db::TransactionClassificationEntity;
/// Application-facing wallet DTO.
pub use db::WalletDto;
/// Persisted wallet row.
pub use db::WalletEntity;
/// Application-facing wallet-holding DTO.
pub use db::WalletHoldingDto;
/// Persisted wallet-holding row.
pub use db::WalletHoldingEntity;
/// Application-facing wallet-participation DTO.
pub use db::WalletParticipationDto;
/// Persisted wallet-participation row.
pub use db::WalletParticipationEntity;
/// Inserts one analysis signal row and returns its numeric id.
pub use db::query_analysis_signals_insert;
/// Lists recent analysis signals ordered from newest to oldest.
pub use db::query_analysis_signals_list;
/// Deletes all instructions for one transaction id.
pub use db::query_chain_instructions_delete_by_transaction_id;
/// Reads one chain instruction by its internal id.
pub use db::query_chain_instructions_get_by_id;
/// Inserts one normalized chain instruction row.
pub use db::query_chain_instructions_insert;
/// Lists instructions for one transaction ordered from outer to inner.
pub use db::query_chain_instructions_list_by_transaction_id;
/// Reads one chain slot row by slot number.
pub use db::query_chain_slots_get;
/// Lists recent chain slots ordered from newest to oldest.
pub use db::query_chain_slots_list_recent;
/// Inserts or updates one normalized chain slot row.
pub use db::query_chain_slots_upsert;
/// Reads one chain transaction row by signature.
pub use db::query_chain_transactions_get_by_signature;
/// Lists recent chain transactions ordered from newest to oldest.
pub use db::query_chain_transactions_list_recent;
/// Lists persisted chain transaction signatures for local pipeline replay.
pub use db::query_chain_transactions_list_signatures_for_replay;
/// Inserts or updates one normalized chain transaction row.
pub use db::query_chain_transactions_upsert;
/// Reads one metadata row by key.
pub use db::query_db_metadatas_get;
/// Lists all metadata rows.
pub use db::query_db_metadatas_list;
/// Inserts or updates one metadata row.
pub use db::query_db_metadatas_upsert;
/// Inserts one runtime event row and returns its numeric id.
pub use db::query_db_runtime_events_insert;
/// Lists recent runtime events ordered from newest to oldest.
pub use db::query_db_runtime_events_list_recent;
/// Reads one DEX decode replay ledger row by signature and decoder identity.
pub use db::query_dex_decode_replay_ledger_get_by_signature;
/// Reads one DEX decode replay ledger row by transaction and decoder identity.
pub use db::query_dex_decode_replay_ledger_get_by_transaction;
/// Inserts or updates one DEX decode replay ledger row.
pub use db::query_dex_decode_replay_ledger_upsert;
/// Cleans Raydium Launchpad self-CPI audit rows replaced by direct decoded rows.
pub use db::query_dex_decoded_events_cleanup_raydium_launchpad_anchor_self_cpi_audits;
/// Deletes one decoded DEX event row by its natural key.
pub use db::query_dex_decoded_events_delete_by_key;
/// Deletes an instruction-audit row by discriminator for one protocol.
pub use db::query_dex_decoded_events_delete_instruction_audit_by_discriminator;
/// Deletes local DEX decoded rows and linked materialization rows for one replayed transaction.
pub use db::query_dex_decoded_events_delete_local_replay_scope_by_transaction_id;
/// Deletes upstream registry instruction-match rows already covered by specialized local decoders.
pub use db::query_dex_decoded_events_delete_locally_covered_upstream_instruction_matches;
/// Deletes Meteora DLMM Anchor self-CPI swap audit rows already covered by decoded swaps.
pub use db::query_dex_decoded_events_delete_meteora_dlmm_anchor_swap_instruction_audits;
/// Deletes one Raydium CLMM instruction-audit row by discriminator.
pub use db::query_dex_decoded_events_delete_raydium_clmm_instruction_audit_by_discriminator;
/// Deletes one Raydium Launchpad self-CPI audit row by discriminator.
pub use db::query_dex_decoded_events_delete_raydium_launchpad_anchor_self_cpi_audit;
/// Deletes decoded DEX instruction audit rows related to one decoded instruction.
pub use db::query_dex_decoded_events_delete_related_instruction_audit;
/// Deletes Raydium CLMM instruction-audit rows for locally mapped CLMM instructions.
pub use db::query_dex_decoded_events_delete_replaced_raydium_clmm_instruction_audits;
/// Deletes Raydium CPMM instruction-audit rows already covered by local named rows.
pub use db::query_dex_decoded_events_delete_replaced_raydium_cpmm_instruction_audits;
/// Reads one decoded DEX event by its natural key.
pub use db::query_dex_decoded_events_get_by_key;
/// Returns the latest Pump.fun create payload associated with a token mint.
pub use db::query_dex_decoded_events_get_latest_pump_fun_create_payload_by_mint;
/// Lists decoded DEX events for one transaction.
pub use db::query_dex_decoded_events_list_by_transaction_id;
/// Updates the persisted payload of one decoded DEX event row.
pub use db::query_dex_decoded_events_update_payload_json_by_id;
/// Inserts or updates one decoded DEX event row.
pub use db::query_dex_decoded_events_upsert;
/// Deletes DEX event coverage entries for one decoder.
pub use db::query_dex_event_coverage_entries_delete_by_decoder;
/// Lists DEX event coverage entries for one decoder.
pub use db::query_dex_event_coverage_entries_list_by_decoder;
/// Lists DEX event coverage summaries grouped by decoder.
pub use db::query_dex_event_coverage_entries_list_summary_by_decoder;
/// Refreshes local DEX event coverage counts for every decoder.
pub use db::query_dex_event_coverage_entries_refresh_local_counts;
/// Refreshes local DEX event coverage counts for one decoder.
pub use db::query_dex_event_coverage_entries_refresh_local_counts_by_decoder;
/// Inserts or updates one DEX event coverage entry.
pub use db::query_dex_event_coverage_entries_upsert;
/// Reads one normalized DEX row by code.
pub use db::query_dexs_get_by_code;
/// Lists normalized DEX rows.
pub use db::query_dexs_list;
/// Inserts or updates one normalized DEX row by code.
pub use db::query_dexs_upsert;
/// Deletes amount legs for one normalized fee event.
pub use db::query_fee_event_amounts_backfill_single_leg_from_fee_events;
/// Deletes fee amount legs for one parent fee event.
pub use db::query_fee_event_amounts_delete_by_fee_event_id;
/// Lists amount legs for one normalized fee event.
pub use db::query_fee_event_amounts_list_by_fee_event_id;
/// Replaces amount legs for one normalized fee event.
pub use db::query_fee_event_amounts_replace_for_fee_event;
/// Returns one fee event by decoded-event id.
pub use db::query_fee_events_get_by_decoded_event_id;
/// Lists recent fee events ordered from newest to oldest.
pub use db::query_fee_events_list_recent;
/// Inserts or updates one normalized fee event row.
pub use db::query_fee_events_upsert;
/// Inserts or updates a fee parent and atomically replaces its amount legs.
pub use db::query_fee_events_upsert_with_amount_legs;
/// Lists instruction-observation source rows for one transaction signature.
pub use db::query_instruction_observation_source_rows_list_by_signature;
/// Lists recent instruction-observation source rows.
pub use db::query_instruction_observation_source_rows_list_recent;
/// Lists instruction-observation source rows for the local replay window.
pub use db::query_instruction_observation_source_rows_list_replay_window;
/// Deletes instruction observations for a set of transaction ids before rebuilding the technical index.
pub use db::query_instruction_observations_delete_by_transaction_ids;
/// Lists instruction observations by optional filters.
pub use db::query_instruction_observations_list_by_filter;
/// Upserts one instruction observation row.
pub use db::query_instruction_observations_upsert;
/// Reads one known HTTP endpoint by name.
pub use db::query_known_http_endpoints_get;
/// Lists all known HTTP endpoints.
pub use db::query_known_http_endpoints_list;
/// Inserts or updates one known HTTP endpoint row.
pub use db::query_known_http_endpoints_upsert;
/// Reads one known WS endpoint by name.
pub use db::query_known_ws_endpoints_get;
/// Lists all known WS endpoints.
pub use db::query_known_ws_endpoints_list;
/// Inserts or updates one known WS endpoint row.
pub use db::query_known_ws_endpoints_upsert;
/// Returns one launch attribution identified by its decoded-event id, if it exists.
pub use db::query_launch_attributions_get_by_decoded_event_id;
/// Lists all launch attributions attached to one pool id.
pub use db::query_launch_attributions_list_by_pool_id;
/// Inserts or updates one launch attribution row and returns its stable internal id.
pub use db::query_launch_attributions_upsert;
/// Inserts or updates one launch event row.
pub use db::query_launch_events_upsert;
/// Returns one launch-surface matching key identified by its kind and value, if it exists.
pub use db::query_launch_surface_keys_get_by_match;
/// Lists all launch-surface matching keys attached to one launch surface id.
pub use db::query_launch_surface_keys_list_by_surface_id;
/// Inserts or updates one launch-surface matching key and returns its stable internal id.
pub use db::query_launch_surface_keys_upsert;
/// Returns one launch surface identified by its stable short code, if it exists.
pub use db::query_launch_surfaces_get_by_code;
/// Lists all persisted launch surfaces ordered by code.
pub use db::query_launch_surfaces_list;
/// Inserts or updates one launch surface row and returns its stable internal id.
pub use db::query_launch_surfaces_upsert;
/// Lists recent liquidity events ordered from newest to oldest.
pub use db::query_liquidity_events_list_recent;
/// Inserts or updates one normalized liquidity event row.
pub use db::query_liquidity_events_upsert;
/// Lists local decoded-event diagnostic summaries.
pub use db::query_local_decoded_event_diagnostic_list_summaries;
/// Returns aggregate counts for a local DEX corpus search.
pub use db::query_local_dex_corpus_search_get_summary;
/// Lists matching decoded-event samples for a local DEX corpus search.
pub use db::query_local_dex_corpus_search_list_decoded_event_samples;
/// Lists matching pool/pair samples for a local DEX corpus search.
pub use db::query_local_dex_corpus_search_list_pool_pair_samples;
/// Lists matching transaction samples for a local DEX corpus search.
pub use db::query_local_dex_corpus_search_list_transaction_samples;
/// Lists samples of duplicated trade rows by decoded event id.
pub use db::query_local_duplicate_decoded_event_trade_diagnostic_list_samples;
/// Lists local decoded-event classification diagnostic summaries.
pub use db::query_local_event_classification_diagnostic_list_summaries;
/// Lists launch-origin diagnostic samples.
pub use db::query_local_launch_origin_diagnostic_list_samples;
/// Lists samples of decoded trade candidates without linked trade event.
pub use db::query_local_missing_trade_event_diagnostic_list_samples;
/// Lists missing trade events grouped by diagnostic reason.
pub use db::query_local_missing_trade_event_reason_list_summaries;
/// Lists samples of multi-trade signature/pair groups.
pub use db::query_local_multi_trade_signature_pair_diagnostic_list_samples;
/// Lists pair summaries for non-actionable missing trade events.
pub use db::query_local_non_actionable_pair_diagnostic_list_summaries;
/// Lists local pair materialization/actionability summaries.
pub use db::query_local_pair_actionability_diagnostic_list_summaries;
/// Lists local pair diagnostic summaries.
pub use db::query_local_pair_diagnostic_list_summaries;
/// Lists local pair trading-readiness summaries.
pub use db::query_local_pair_trading_readiness_diagnostic_list_summaries;
/// Lists samples of pairs without candles.
pub use db::query_local_pair_without_candle_diagnostic_list_samples;
/// Lists samples of pairs without trade events.
pub use db::query_local_pair_without_trade_diagnostic_list_samples;
/// Returns global local-pipeline diagnostic counters.
pub use db::query_local_pipeline_diagnostic_get_counters;
/// Lists local DEX diagnostic summaries.
pub use db::query_local_pipeline_diagnostic_list_summaries;
/// Lists pool-origin diagnostic samples.
pub use db::query_local_pool_origin_diagnostic_list_samples;
/// Lists observed Raydium program instruction diagnostics.
pub use db::query_local_raydium_program_instruction_diagnostic_list_summaries;
/// Lists prioritized token metadata gap diagnostic samples.
pub use db::query_local_token_metadata_gap_diagnostic_list_samples;
/// Reads one observed token by mint.
pub use db::query_observed_tokens_get_by_mint;
/// Lists observed tokens ordered by newest first.
pub use db::query_observed_tokens_list;
/// Inserts or updates one observed token by mint.
pub use db::query_observed_tokens_upsert;
/// Inserts one on-chain observation row and returns its numeric id.
pub use db::query_onchain_observations_insert;
/// Lists recent on-chain observations ordered from newest to oldest.
pub use db::query_onchain_observations_list_recent;
/// Inserts or updates one normalized orderbook event row.
pub use db::query_orderbook_events_upsert;
/// Returns one pair-analytic-signal row identified by its key, if it exists.
pub use db::query_pair_analytic_signals_get_by_key;
/// Lists all pair-analytic signals for one pair ordered by key.
pub use db::query_pair_analytic_signals_list_by_pair_id;
/// Inserts or updates one pair-analytic-signal row and returns its stable internal id.
pub use db::query_pair_analytic_signals_upsert;
/// Returns one pair-candle row identified by `(pair_id, timeframe_seconds, bucket_start_unix)`.
pub use db::query_pair_candles_get_by_key;
/// Lists candles for one pair and one timeframe ordered by bucket start.
pub use db::query_pair_candles_list_by_pair_and_timeframe;
/// Inserts or updates one pair-candle row and returns its stable internal id.
pub use db::query_pair_candles_upsert;
/// Returns one pair-metric row identified by its pair id, if it exists.
pub use db::query_pair_metrics_get_by_pair_id;
/// Lists all pair-metric rows ordered by pair id.
pub use db::query_pair_metrics_list;
/// Inserts or updates one pair-metric row and returns its stable internal id.
pub use db::query_pair_metrics_upsert;
/// Reads one normalized pair row by pool id.
pub use db::query_pairs_get_by_pool_id;
/// Lists normalized pairs ordered by id ascending.
pub use db::query_pairs_list;
/// Updates the display symbol of one normalized pair row.
pub use db::query_pairs_update_symbol;
/// Inserts or updates one normalized pair row by pool id.
pub use db::query_pairs_upsert;
/// Deletes one stale pool administration event by decoded-event id.
pub use db::query_pool_admin_events_delete_by_decoded_event_id;
/// Returns one pool administration event by decoded-event id.
pub use db::query_pool_admin_events_get_by_decoded_event_id;
/// Lists recent pool administration events ordered from newest to oldest.
pub use db::query_pool_admin_events_list_recent;
/// Inserts or updates one normalized pool administration event row.
pub use db::query_pool_admin_events_upsert;
/// Returns one pool lifecycle event by decoded event id.
pub use db::query_pool_lifecycle_events_get_by_decoded_event_id;
/// Lists recent pool lifecycle events ordered from newest to oldest.
pub use db::query_pool_lifecycle_events_list_recent;
/// Inserts or updates one normalized pool lifecycle event row.
pub use db::query_pool_lifecycle_events_upsert;
/// Reads one normalized pool listing row by pool id.
pub use db::query_pool_listings_get_by_pool_id;
/// Lists normalized pool listings ordered by detected date then id.
pub use db::query_pool_listings_list;
/// Inserts or updates one normalized pool listing row by pool id.
pub use db::query_pool_listings_upsert;
/// Reads one normalized token row by internal id.
pub use db::query_pool_origins_get_by_pool_id;
/// Lists all pool-origin rows ordered by creation time then id.
pub use db::query_pool_origins_list;
/// Inserts or updates one pool-origin row and returns its stable internal id.
pub use db::query_pool_origins_upsert;
/// Lists normalized pool token rows by pool id.
pub use db::query_pool_tokens_list_by_pool_id;
/// Inserts or updates one normalized pool token composition row.
pub use db::query_pool_tokens_upsert;
/// Reads one normalized pool row by address.
pub use db::query_pools_get_by_address;
/// Lists normalized pools ordered by id ascending.
pub use db::query_pools_list;
/// Inserts or updates one normalized pool row by address.
pub use db::query_pools_upsert;
/// Lists diagnostic instruction rows for one program id.
pub use db::query_program_instruction_diagnostics_list_by_program_id;
/// Lists instruction discriminator summaries for one program id.
pub use db::query_program_instruction_discriminator_summaries_list_by_program_id;
/// Lists protocol candidate summaries ordered by investigation priority.
pub use db::query_protocol_candidate_summaries_list_by_priority;
/// Deletes protocol candidates for one transaction.
pub use db::query_protocol_candidates_delete_by_transaction_id;
/// Inserts one protocol candidate row.
pub use db::query_protocol_candidates_insert;
/// Lists protocol candidates for one program id.
pub use db::query_protocol_candidates_list_by_program_id;
/// Lists protocol candidates for one transaction.
pub use db::query_protocol_candidates_list_by_transaction_id;
/// Lists recent protocol candidates ordered from newest to oldest.
pub use db::query_protocol_candidates_list_recent;
/// Returns one reward event by decoded-event id.
pub use db::query_reward_events_get_by_decoded_event_id;
/// Lists recent reward events ordered from newest to oldest.
pub use db::query_reward_events_list_recent;
/// Inserts or updates one normalized reward event row.
pub use db::query_reward_events_upsert;
/// Lists recent swaps ordered from newest to oldest.
pub use db::query_swaps_list_recent;
/// Inserts or updates one normalized swap row.
pub use db::query_swaps_upsert;
/// Inserts or updates one normalized token-account event row.
pub use db::query_token_account_events_upsert;
/// Lists recent token burn events ordered from newest to oldest.
pub use db::query_token_burn_events_list_recent;
/// Inserts or updates one normalized token burn event row.
pub use db::query_token_burn_events_upsert;
/// Lists recent token mint events ordered from newest to oldest.
pub use db::query_token_mint_events_list_recent;
/// Inserts or updates one normalized token mint event row.
pub use db::query_token_mint_events_upsert;
/// Reads one normalized token row by internal id.
pub use db::query_tokens_get_by_id;
/// Reads one normalized token row by mint.
pub use db::query_tokens_get_by_mint;
/// Lists all normalized token rows ordered by mint.
pub use db::query_tokens_list;
/// Lists token rows whose display or mint metadata is incomplete.
pub use db::query_tokens_list_missing_metadata;
/// Inserts or updates one normalized token row by mint.
pub use db::query_tokens_upsert;
/// Returns one trade-event row identified by its decoded-event id, if it exists.
pub use db::query_trade_events_get_by_decoded_event_id;
/// Lists trade-event rows for one pair id ordered by creation time then id.
pub use db::query_trade_events_list_by_pair_id;
/// Lists trade-event rows for one transaction id ordered by id.
pub use db::query_trade_events_list_by_transaction_id;
/// Inserts or updates one trade-event row and returns its stable internal id.
pub use db::query_trade_events_upsert;
/// Deletes all local market materialization rows rebuilt from trade events.
pub use db::query_trade_market_materialization_delete_all;
/// Reads one transaction classification by signature.
pub use db::query_transaction_classifications_get_by_signature;
/// Reads one transaction classification by transaction id.
pub use db::query_transaction_classifications_get_by_transaction_id;
/// Lists recent transaction classifications ordered from newest to oldest.
pub use db::query_transaction_classifications_list_recent;
/// Inserts or updates one transaction classification row.
pub use db::query_transaction_classifications_upsert;
/// Returns one wallet-holding row identified by `(wallet_id, token_id)`, if it exists.
pub use db::query_wallet_holdings_get_by_wallet_and_token;
/// Lists wallet-holding rows for one wallet id.
pub use db::query_wallet_holdings_list_by_wallet_id;
/// Inserts or updates one wallet-holding row and returns its stable internal id.
pub use db::query_wallet_holdings_upsert;
/// Returns one wallet-participation identified by its unique key, if it exists.
pub use db::query_wallet_participations_get_by_unique_key;
/// Lists wallet-participation rows for one pool id.
pub use db::query_wallet_participations_list_by_pool_id;
/// Lists wallet-participation rows for one wallet id.
pub use db::query_wallet_participations_list_by_wallet_id;
/// Inserts or updates one wallet-participation row and returns its stable internal id.
pub use db::query_wallet_participations_upsert;
/// Returns one wallet identified by its address, if it exists.
pub use db::query_wallets_get_by_address;
/// Lists all persisted wallets ordered by address.
pub use db::query_wallets_list;
/// Inserts or updates one wallet row and returns its stable internal id.
pub use db::query_wallets_upsert;
/// One normalized observation ready to be persisted.
pub use detect::DetectionObservationInput;
/// Persistence façade between technical detection and database storage.
pub use detect::DetectionPersistenceService;
/// One pool candidate detected from a technical source.
pub use detect::DetectionPoolCandidateInput;
/// Result of one pool candidate persistence operation.
pub use detect::DetectionPoolCandidateResult;
/// One normalized signal ready to be persisted.
pub use detect::DetectionSignalInput;
/// One token candidate detected from a technical source.
pub use detect::DetectionTokenCandidateInput;
/// Result of one token candidate persistence operation.
pub use detect::DetectionTokenCandidateResult;
/// Result of one Solana WebSocket detection pass.
pub use detect::SolanaWsDetectionOutcome;
/// Detection service for Solana WebSocket notifications.
pub use detect::SolanaWsDetectionService;
/// One forwarded WebSocket notification ready for detection.
pub use detect::WsDetectionNotificationEnvelope;
/// Asynchronous relay between `WsClient` notifications and the detection service.
pub use detect::WsDetectionRelay;
/// Runtime statistics for one relay worker.
pub use detect::WsDetectionRelayStats;
/// Decoded DexLab create-pool event.
pub use dex::DexlabCreatePoolDecoded;
/// Decoded DexLab event.
pub use dex::DexlabDecodedEvent;
/// DexLab decoder.
pub use dex::DexlabDecoder;
/// Decoded DexLab swap event.
pub use dex::DexlabSwapDecoded;
/// Decoded FluxBeam create-pool event.
pub use dex::FluxbeamCreatePoolDecoded;
/// Decoded FluxBeam event.
pub use dex::FluxbeamDecodedEvent;
/// FluxBeam decoder.
pub use dex::FluxbeamDecoder;
/// Decoded FluxBeam swap event.
pub use dex::FluxbeamSwapDecoded;
/// Decoded Meteora DAMM v1 create-pool event.
pub use dex::MeteoraDammV1CreatePoolDecoded;
/// Decoded Meteora DAMM v1 event.
pub use dex::MeteoraDammV1DecodedEvent;
/// Meteora DAMM v1 decoder.
pub use dex::MeteoraDammV1Decoder;
/// Decoded Meteora DAMM v1 fee event.
pub use dex::MeteoraDammV1FeeDecoded;
/// Decoded Meteora DAMM v1 liquidity event.
pub use dex::MeteoraDammV1LiquidityDecoded;
/// Decoded Meteora DAMM v1 pool administration event.
pub use dex::MeteoraDammV1PoolAdminDecoded;
/// Decoded Meteora DAMM v1 pool lifecycle event.
pub use dex::MeteoraDammV1PoolLifecycleDecoded;
/// Decoded Meteora DAMM v1 swap event.
pub use dex::MeteoraDammV1SwapDecoded;
/// Decoded Meteora DAMM v2 create-pool event.
pub use dex::MeteoraDammV2CreatePoolDecoded;
/// Decoded Meteora DAMM v2 event.
pub use dex::MeteoraDammV2DecodedEvent;
/// Meteora DAMM v2 decoder.
pub use dex::MeteoraDammV2Decoder;
/// Decoded Meteora DAMM v2 swap event.
pub use dex::MeteoraDammV2SwapDecoded;
/// Decoded Meteora DBC create-pool event.
pub use dex::MeteoraDbcCreatePoolDecoded;
/// Decoded Meteora DBC event.
pub use dex::MeteoraDbcDecodedEvent;
/// Meteora DBC decoder.
pub use dex::MeteoraDbcDecoder;
/// Decoded Meteora DBC instruction or Anchor event.
pub use dex::MeteoraDbcInstructionDecoded;
/// Decoded Meteora DBC swap event.
pub use dex::MeteoraDbcSwapDecoded;
/// Decoded Meteora DLMM create-pool event.
pub use dex::MeteoraDlmmCreatePoolDecoded;
/// Decoded Meteora DLMM event.
pub use dex::MeteoraDlmmDecodedEvent;
/// Meteora DLMM decoder.
pub use dex::MeteoraDlmmDecoder;
/// Decoded Meteora DLMM fee collection event.
pub use dex::MeteoraDlmmFeeDecoded;
/// Decoded Meteora DLMM liquidity lifecycle event.
pub use dex::MeteoraDlmmLiquidityDecoded;
/// Decoded Meteora DLMM pool lifecycle event.
pub use dex::MeteoraDlmmPoolLifecycleDecoded;
/// Decoded Meteora DLMM reward or emission event.
pub use dex::MeteoraDlmmRewardDecoded;
/// Decoded Meteora DLMM swap event.
pub use dex::MeteoraDlmmSwapDecoded;
/// Decoded OpenBook v2 audit event.
pub use dex::OpenBookV2AuditDecoded;
/// Decoded OpenBook v2 event.
pub use dex::OpenBookV2DecodedEvent;
/// OpenBook v2 audit-only decoder.
pub use dex::OpenBookV2Decoder;
/// Decoded Orca Whirlpools create-pool event.
pub use dex::OrcaWhirlpoolsCreatePoolDecoded;
/// Decoded Orca Whirlpools event.
pub use dex::OrcaWhirlpoolsDecodedEvent;
/// Orca Whirlpools decoder.
pub use dex::OrcaWhirlpoolsDecoder;
/// Decoded Orca Whirlpools swap event.
pub use dex::OrcaWhirlpoolsSwapDecoded;
/// Decoded Phoenix v1 audit event.
pub use dex::PhoenixV1AuditDecoded;
/// Decoded Phoenix v1 event.
pub use dex::PhoenixV1DecodedEvent;
/// Phoenix v1 audit-only decoder.
pub use dex::PhoenixV1Decoder;
/// Decoded Pump Fees event.
pub use dex::PumpFeesDecodedEvent;
/// Pump Fees decoder.
pub use dex::PumpFeesDecoder;
/// Decoded Pump Fees instruction or Anchor event.
pub use dex::PumpFeesInstructionDecoded;
/// Decoded Pump.fun `create_v2` token event.
pub use dex::PumpFunCreateV2TokenDecoded;
/// Decoded Pump.fun event.
pub use dex::PumpFunDecodedEvent;
/// Pump.fun decoder.
pub use dex::PumpFunDecoder;
/// Decoded Pump.fun audit-only instruction event.
pub use dex::PumpFunInstructionAuditDecoded;
/// Decoded Pump.fun bonding-curve trade event.
pub use dex::PumpFunTradeDecoded;
/// Decoded PumpSwap event.
pub use dex::PumpSwapDecodedEvent;
/// PumpSwap decoder.
pub use dex::PumpSwapDecoder;
/// Decoded PumpSwap non-trade instruction event.
pub use dex::PumpSwapInstructionDecoded;
/// Decoded PumpSwap trade event.
pub use dex::PumpSwapTradeDecoded;
/// Decoded Raydium AmmV4 event.
pub use dex::RaydiumAmmV4DecodedEvent;
/// Raydium AmmV4 decoder.
pub use dex::RaydiumAmmV4Decoder;
/// Decoded Raydium AmmV4 initialize2 pool event.
pub use dex::RaydiumAmmV4Initialize2PoolDecoded;
/// Decoded Raydium AmmV4 non-swap or decoded-only instruction event.
pub use dex::RaydiumAmmV4InstructionDecoded;
/// Decoded Raydium AMM v4 swap event.
pub use dex::RaydiumAmmV4SwapDecoded;
/// Decoded Raydium CLMM collect_protocol_fee instruction.
pub use dex::RaydiumClmmCollectProtocolFeeDecoded;
/// Decoded Raydium CLMM create_pool instruction.
pub use dex::RaydiumClmmCreatePoolDecoded;
/// Decoded Raydium CLMM event.
pub use dex::RaydiumClmmDecodedEvent;
/// Decoded Raydium CLMM instruction event with projected instruction id.
pub use dex::RaydiumClmmDecodedInstructionEvent;
/// Raydium CLMM transaction decoder.
pub use dex::RaydiumClmmDecoder;
/// Decoded Raydium CLMM Anchor Program data event payload.
pub use dex::RaydiumClmmProgramDataEventDecoded;
/// Decoded Raydium CLMM legacy swap event.
pub use dex::RaydiumClmmSwapLegacyDecoded;
/// Decoded Raydium CLMM swap_v2 instruction.
pub use dex::RaydiumClmmSwapV2Decoded;
/// Raydium CPMM decoded event.
pub use dex::RaydiumCpmmDecodedEvent;
/// Raydium CPMM Anchor CPI liquidity-change event.
pub use dex::RaydiumCpmmLpChangeEventDecoded;
/// Raydium CPMM decoded swap.
pub use dex::RaydiumCpmmSwapDecoded;
/// Raydium CPMM Anchor CPI swap event retained as audit evidence.
pub use dex::RaydiumCpmmSwapEventDecoded;
/// Raydium CPMM swap mode.
pub use dex::RaydiumCpmmSwapMode;
/// Raydium Stable Swap decoded event.
pub use dex::RaydiumStableSwapDecodedEvent;
/// Raydium Stable Swap decoder.
pub use dex::RaydiumStableSwapDecoder;
/// Decoded Raydium Stable Swap instruction.
pub use dex::RaydiumStableSwapInstructionDecoded;
/// Decoded Raydium Stable Swap program-data swap event.
pub use dex::RaydiumStableSwapSwapEventDecoded;
/// Decodes one Raydium CPMM instruction from projected instruction fields.
pub use dex::classify_raydium_cpmm_instruction_data;
/// Classifies one Raydium Stable Swap instruction data payload.
pub use dex::classify_raydium_stable_swap_instruction_data;
/// Decodes a Raydium CLMM instruction.
pub use dex::decode_raydium_clmm_instruction;
/// Decodes one Raydium CLMM Anchor Program data event.
pub use dex::decode_raydium_clmm_program_data_event;
/// Decodes one Raydium CPMM instruction from projected instruction fields.
pub use dex::decode_raydium_cpmm_instruction;
/// Decodes Raydium CPMM Anchor events emitted in `Program data:` logs.
pub use dex::decode_raydium_cpmm_program_data_event;
/// Decodes Raydium Stable Swap `Program data:` event payloads.
pub use dex::decode_raydium_stable_swap_program_data_event;
/// DEX decode service.
pub use dex_decode::DexDecodeService;
/// Business-level DEX detection service.
pub use dex_detect::DexDetectService;
/// Result of one business-level DEX pool detection.
pub use dex_detect::DexPoolDetectionResult;
/// Stable DEX event actionability class.
pub use dex_event_classification::DexEventActionability;
/// Stable DEX event business category.
pub use dex_event_classification::DexEventCategory;
/// Fine-grained DEX event lifecycle kind.
pub use dex_event_classification::DexEventLifecycleKind;
/// Classifies a DEX event into an actionability class.
pub use dex_event_classification::classify_dex_event_actionability;
/// Classifies a DEX event into an actionability class and returns its persisted code.
pub use dex_event_classification::classify_dex_event_actionability_code;
/// Classifies a DEX event kind into a stable category.
pub use dex_event_classification::classify_dex_event_category;
/// Classifies a DEX event kind and returns its persisted category code.
pub use dex_event_classification::classify_dex_event_category_code;
/// Classifies a DEX event kind into a fine-grained lifecycle kind.
pub use dex_event_classification::classify_dex_event_lifecycle_kind;
/// Classifies a DEX event kind into a fine-grained lifecycle kind code.
pub use dex_event_classification::classify_dex_event_lifecycle_kind_code;
/// Enriches and serializes a decoded DEX payload.
pub use dex_event_classification::enrich_and_serialize_dex_decoded_payload;
/// Enriches a decoded DEX payload with classification metadata.
pub use dex_event_classification::enrich_dex_decoded_payload;
/// Parses, enriches and serializes a decoded DEX payload.
pub use dex_event_classification::enrich_serialized_dex_decoded_payload;
/// Returns true when a decoded payload is a candle candidate.
pub use dex_event_classification::is_decoded_event_candle_candidate;
/// Returns true when a decoded payload is a trade candidate.
pub use dex_event_classification::is_decoded_event_trade_candidate;
/// Returns true for admin/config/permission DEX events.
pub use dex_event_classification::is_dex_admin_event_kind;
/// Returns true when a DEX event kind can directly feed candle materialization.
pub use dex_event_classification::is_dex_candle_candidate_event_kind;
/// Returns true for fee collection DEX events.
pub use dex_event_classification::is_dex_fee_event_kind;
/// Returns true for decoded audit-only events retained for corpus analysis.
pub use dex_event_classification::is_dex_informational_event_kind;
/// Returns true for launch or bonding-curve creation DEX events.
pub use dex_event_classification::is_dex_launch_event_kind;
/// Returns true for liquidity add-like DEX events.
pub use dex_event_classification::is_dex_liquidity_add_event_kind;
/// Returns true for liquidity lifecycle DEX events.
pub use dex_event_classification::is_dex_liquidity_event_kind;
/// Returns true for liquidity remove-like DEX events.
pub use dex_event_classification::is_dex_liquidity_remove_event_kind;
/// Returns true for migration DEX events.
pub use dex_event_classification::is_dex_migration_event_kind;
/// Returns true for orderbook or limit-order events that must not become candles.
pub use dex_event_classification::is_dex_orderbook_event_kind;
/// Returns true for pair creation DEX events.
pub use dex_event_classification::is_dex_pair_creation_event_kind;
/// Returns true for pool creation DEX events.
pub use dex_event_classification::is_dex_pool_creation_event_kind;
/// Returns true for pool lifecycle DEX events.
pub use dex_event_classification::is_dex_pool_lifecycle_event_kind;
/// Returns true for position close DEX events.
pub use dex_event_classification::is_dex_position_close_event_kind;
/// Returns true for position open DEX events.
pub use dex_event_classification::is_dex_position_open_event_kind;
/// Returns true for reward or emission DEX events.
pub use dex_event_classification::is_dex_reward_event_kind;
/// Returns true for token-account close events detected by DEX decoders.
pub use dex_event_classification::is_dex_token_account_close_event_kind;
/// Returns true for token-account creation events detected by DEX decoders.
pub use dex_event_classification::is_dex_token_account_create_event_kind;
/// Returns true for token-account lifecycle events detected by DEX decoders.
pub use dex_event_classification::is_dex_token_account_event_kind;
/// Returns true for token burn DEX events.
pub use dex_event_classification::is_dex_token_burn_event_kind;
/// Returns true for token mint DEX events.
pub use dex_event_classification::is_dex_token_mint_event_kind;
/// Returns true for swap-like DEX events.
pub use dex_event_classification::is_dex_trade_event_kind;
/// Service that syncs upstream registry entries into event coverage rows.
pub use dex_event_coverage::DexEventCoverageService;
/// Result of one event coverage sync or refresh pass.
pub use dex_event_coverage::DexEventCoverageSyncResult;
/// Static DEX support matrix entry.
pub use dex_support_matrix::DexSupportMatrixEntry;
/// Owned DEX support matrix entry DTO.
pub use dex_support_matrix::DexSupportMatrixEntryDto;
/// Returns all static DEX support matrix entries.
pub use dex_support_matrix::dex_support_matrix_entries;
/// Looks up one DEX support matrix entry by internal code.
pub use dex_support_matrix::dex_support_matrix_entry_by_code;
/// Looks up one DEX support matrix entry by primary or router program id.
pub use dex_support_matrix::dex_support_matrix_entry_by_program_id;
/// Returns all DEX support matrix entries as owned DTOs.
pub use dex_support_matrix::dex_support_matrix_entry_dtos;
/// Global error type used by the `kb_lib` crate.
pub use error::Error;
/// Generic asynchronous HTTP client.
pub use http_client::HttpClient;
/// Local endpoint status.
pub use http_client::HttpEndpointStatus;
/// Local HTTP method class used for independent limit buckets.
pub use http_client::HttpMethodClass;
/// JSON-RPC 2.0 error object.
pub use http_client::JsonRpcHttpErrorObject;
/// JSON-RPC 2.0 error response.
pub use http_client::JsonRpcHttpErrorResponse;
/// JSON-RPC 2.0 request envelope for HTTP.
pub use http_client::JsonRpcHttpRequest;
/// Parsed HTTP JSON-RPC response envelope.
pub use http_client::JsonRpcHttpResponse;
/// JSON-RPC 2.0 success response.
pub use http_client::JsonRpcHttpSuccessResponse;
/// Parses one JSON-RPC HTTP response text.
pub use http_client::parse_json_rpc_http_response_text;
/// Parses one JSON-RPC HTTP response value.
pub use http_client::parse_json_rpc_http_response_value;
/// Pool of HTTP endpoints.
pub use http_pool::HttpEndpointPool;
/// Snapshot of one pooled HTTP endpoint.
pub use http_pool::HttpPoolClientSnapshot;
/// Instruction-observation index refresh result.
pub use instruction_observation_index::InstructionObservationIndexRefreshResult;
/// Technical service that indexes observed Solana instructions.
pub use instruction_observation_index::InstructionObservationIndexService;
/// JSON-RPC 2.0 error object.
pub use json_rpc_ws::JsonRpcWsErrorObject;
/// JSON-RPC 2.0 error response.
pub use json_rpc_ws::JsonRpcWsErrorResponse;
/// Parsed incoming JSON-RPC WebSocket message.
pub use json_rpc_ws::JsonRpcWsIncomingMessage;
/// JSON-RPC 2.0 notification message.
pub use json_rpc_ws::JsonRpcWsNotification;
/// JSON-RPC 2.0 notification parameter object.
pub use json_rpc_ws::JsonRpcWsNotificationParams;
/// Generic JSON-RPC 2.0 request sent over WebSocket.
pub use json_rpc_ws::JsonRpcWsRequest;
/// JSON-RPC 2.0 success response.
pub use json_rpc_ws::JsonRpcWsSuccessResponse;
/// Parses a JSON value into a JSON-RPC incoming message.
pub use json_rpc_ws::is_probable_json_rpc_object_text;
/// Parses a raw text message into a JSON-RPC incoming message.
pub use json_rpc_ws::parse_json_rpc_ws_incoming_text;
/// Parses a JSON value into a JSON-RPC incoming message.
pub use json_rpc_ws::parse_json_rpc_ws_incoming_value;
/// Result of one launch surface attribution.
pub use launch_origin::LaunchAttributionResult;
/// Launch surface attribution service.
pub use launch_origin::LaunchOriginService;
/// Local DEX corpus search service used by Demo3.
pub use local_dex_corpus_search::LocalDexCorpusSearchService;
/// Local pipeline diagnostics service.
pub use local_pipeline_diagnostics::LocalPipelineDiagnosticsService;
/// Configuration for a local pipeline replay pass.
pub use local_pipeline_replay::LocalPipelineReplayConfig;
/// Summary of a local pipeline replay pass.
pub use local_pipeline_replay::LocalPipelineReplayResult;
/// Local pipeline replay service.
pub use local_pipeline_replay::LocalPipelineReplayService;
/// Replays the local pipeline from persisted raw chain transaction rows.
pub use local_pipeline_replay::replay_local_pipeline;
/// Configuration for a local pipeline validation pass.
pub use local_pipeline_validation::LocalPipelineValidationConfig;
/// A single local pipeline validation issue.
pub use local_pipeline_validation::LocalPipelineValidationIssueDto;
/// Result of a local pipeline validation pass.
pub use local_pipeline_validation::LocalPipelineValidationReportDto;
/// Complete local pipeline validation run result.
pub use local_pipeline_validation::LocalPipelineValidationRunDto;
/// Local pipeline validation service.
pub use local_pipeline_validation::LocalPipelineValidationService;
/// Validates a diagnostics summary without performing database access.
pub use local_pipeline_validation::validate_local_pipeline_diagnostics_summary;
/// Result of non-trade event materialization for one transaction.
pub use non_trade_event_materialization::NonTradeEventMaterializationResult;
/// Materializes useful non-trade decoded DEX events.
pub use non_trade_event_materialization::NonTradeEventMaterializationService;
/// Backfill signatures grouped by candidate kind.
pub use onchain_dex_pair_discovery::OnchainDexBackfillSignaturesByKindDto;
/// Candidate account inferred from generic transaction evidence.
pub use onchain_dex_pair_discovery::OnchainDexCandidateAccountDto;
/// Candidate summary grouped by kind and transaction success state.
pub use onchain_dex_pair_discovery::OnchainDexCandidateKindSummaryDto;
/// Cursor hint for one on-chain DEX discovery source address.
pub use onchain_dex_pair_discovery::OnchainDexPaginationCursorDto;
/// Candidate transaction/instruction observed on-chain for one DEX program id.
pub use onchain_dex_pair_discovery::OnchainDexPairCandidateDto;
/// Request for on-chain DEX pair/pool discovery.
pub use onchain_dex_pair_discovery::OnchainDexPairDiscoveryRequestDto;
/// Result of one on-chain DEX pair/pool discovery run.
pub use onchain_dex_pair_discovery::OnchainDexPairDiscoveryResultDto;
/// On-chain pair/pool discovery service.
pub use onchain_dex_pair_discovery::OnchainDexPairDiscoveryService;
/// Rejected on-chain DEX candidate summary DTO.
pub use onchain_dex_pair_discovery::OnchainDexRejectedCandidateSummaryDto;
/// Token-balance delta observed in one transaction through Solana transaction metadata.
pub use onchain_dex_pair_discovery::OnchainDexTokenBalanceDeltaDto;
/// One pair-analytic-signal recording result.
pub use pair_analytic_signal::PairAnalyticSignalResult;
/// Pair analytic signal service.
pub use pair_analytic_signal::PairAnalyticSignalService;
/// One pair-candle aggregation result.
pub use pair_candle_aggregation::PairCandleAggregationResult;
/// Pair-candle aggregation service.
pub use pair_candle_aggregation::PairCandleAggregationService;
/// Pair-candle query service.
pub use pair_candle_query::PairCandleQueryService;
/// Summary produced by a pair-symbol refresh pass.
pub use pair_symbol::PairSymbolRefreshResult;
/// Service that refreshes `k_sol_pairs.symbol` from base and quote token metadata.
pub use pair_symbol::PairSymbolRefreshService;
/// Builds a readable pair symbol from token symbols with mint fallback.
pub use pair_symbol::build_pair_symbol;
/// Refreshes all persisted pair display symbols.
pub use pair_symbol::refresh_pair_symbols;
/// One recorded pool-origin result.
pub use pool_origin::PoolOriginResult;
/// Pool-origin consolidation service.
pub use pool_origin::PoolOriginService;
/// Typed Solana PubSub notification payload.
pub use solana_pubsub_ws::SolanaWsTypedNotification;
/// Parses a Solana JSON-RPC notification into an official typed payload.
pub use solana_pubsub_ws::parse_solana_ws_typed_notification;
/// Parses a typed Solana PubSub notification from a generic websocket event.
pub use solana_pubsub_ws::parse_solana_ws_typed_notification_from_event;
/// One pool-backfill result summary.
pub use token_backfill::PoolBackfillResult;
/// One signature-backfill result summary.
pub use token_backfill::SignatureBackfillResult;
/// One item produced by a batch signature backfill.
pub use token_backfill::SignatureBatchBackfillItemResult;
/// Batch signature-backfill result summary.
pub use token_backfill::SignatureBatchBackfillResult;
/// One token-backfill result summary.
pub use token_backfill::TokenBackfillResult;
/// Historical token backfill service.
pub use token_backfill::TokenBackfillService;
/// Summary produced by a token metadata backfill pass.
pub use token_metadata::TokenMetadataBackfillResult;
/// Service that enriches persisted token rows with mint and display metadata.
pub use token_metadata::TokenMetadataBackfillService;
/// Guard keeping non-blocking tracing workers alive.
pub use tracing::TracingGuard;
/// Initializes the global tracing subscriber.
pub use tracing::init_tracing;
/// One trade-aggregation result.
pub use trade_aggregation::TradeAggregationResult;
/// Trade-aggregation service.
pub use trade_aggregation::TradeAggregationService;
/// Service used to classify projected Solana transactions.
pub use transaction_classification::TransactionClassificationService;
/// Service projecting resolved transaction JSON into internal chain tables.
pub use tx_model::TransactionModelService;
/// Result of one transaction resolution pass.
pub use tx_resolution::TransactionResolutionOutcome;
/// One transaction resolution request built from a WebSocket notification.
pub use tx_resolution::TransactionResolutionRequest;
/// Transaction resolution service.
pub use tx_resolution::TransactionResolutionService;
/// One forwarded WebSocket notification envelope for transaction resolution.
pub use tx_resolution::WsTransactionResolutionEnvelope;
/// Relay that consumes forwarded WS notifications and resolves matching signatures through HTTP `getTransaction`.
pub use tx_resolution::WsTransactionResolutionRelay;
/// Runtime statistics for one transaction resolution relay worker.
pub use tx_resolution::WsTransactionResolutionRelayStats;
/// Generic connection state used by transport clients.
pub use types::ConnectionState;
/// Read-only upstream registry service.
pub use upstream_registry::UpstreamRegistryService;
/// Static upstream registry entry kind for account layouts.
pub use upstream_registry_types::ENTRY_KIND_ACCOUNT;
/// Static upstream registry entry kind for events.
pub use upstream_registry_types::ENTRY_KIND_EVENT;
/// Static upstream registry entry kind for instructions.
pub use upstream_registry_types::ENTRY_KIND_INSTRUCTION;
/// Static upstream registry entry kind for programs.
pub use upstream_registry_types::ENTRY_KIND_PROGRAM;
/// Generic upstream Git proof status for layout-only unverified entries.
pub use upstream_registry_types::PROOF_STATUS_UPSTREAM_GIT_LAYOUT_UNVERIFIED;
/// Generic upstream Git proof status for locally materialized entries.
pub use upstream_registry_types::PROOF_STATUS_UPSTREAM_GIT_LOCAL_CORPUS_MATERIALIZED;
/// Generic upstream Git proof status for locally observed entries.
pub use upstream_registry_types::PROOF_STATUS_UPSTREAM_GIT_LOCAL_CORPUS_OBSERVED;
/// Generic upstream Git proof status for decoder-mapped unverified entries.
pub use upstream_registry_types::PROOF_STATUS_UPSTREAM_GIT_MAPPED_UNVERIFIED;
/// Generic upstream Git proof status for unverified entries.
pub use upstream_registry_types::PROOF_STATUS_UPSTREAM_GIT_UNVERIFIED;
/// Generic event kind used for instruction-level upstream registry matches.
pub use upstream_registry_types::UPSTREAM_REGISTRY_INSTRUCTION_MATCH_EVENT_KIND;
/// Generic protocol name used for upstream registry matches that are not business-materialized.
pub use upstream_registry_types::UPSTREAM_REGISTRY_PROTOCOL_NAME;
/// Static upstream registry entry.
pub use upstream_registry_types::UpstreamRegistryEntry;
/// Owned upstream registry entry DTO.
pub use upstream_registry_types::UpstreamRegistryEntryDto;
/// Upstream registry search request DTO.
pub use upstream_registry_types::UpstreamRegistrySearchRequestDto;
/// Upstream registry search result DTO.
pub use upstream_registry_types::UpstreamRegistrySearchResultDto;
/// Upstream registry summary DTO.
pub use upstream_registry_types::UpstreamRegistrySummaryDto;
/// One wallet-holding observation result.
pub use wallet_holding_observation::WalletHoldingObservationResult;
/// Wallet-holding observation service.
pub use wallet_holding_observation::WalletHoldingObservationService;
/// One wallet-observation result.
pub use wallet_observation::WalletObservationResult;
/// Wallet-observation service.
pub use wallet_observation::WalletObservationService;
/// Generic asynchronous WebSocket client.
pub use ws_client::WsClient;
/// Incoming WebSocket transport event emitted by [`crate::WsClient`].
pub use ws_client::WsEvent;
/// Outgoing transport-level WebSocket message.
pub use ws_client::WsOutgoingMessage;
/// Active subscription metadata tracked by the client runtime.
pub use ws_client::WsSubscriptionInfo;
/// One hybrid WebSocket observation result.
pub use ws_hybrid_observation::WsHybridObservationResult;
/// Hybrid WebSocket technical observation service.
pub use ws_hybrid_observation::WsHybridObservationService;
/// hybrid technical observation recording.
pub use ws_hybrid_runtime::WsHybridRuntimeService;
/// Snapshot of hybrid WebSocket watch targets.
pub use ws_hybrid_watch::WsHybridWatchService;
/// Snapshot of hybrid WebSocket watch targets.
pub use ws_hybrid_watch::WsHybridWatchSnapshot;
/// One hybrid WebSocket watch target.
pub use ws_hybrid_watch::WsWatchTarget;
/// Kind of hybrid WebSocket watch target.
pub use ws_hybrid_watch::WsWatchTargetKind;
/// Snapshot of one managed endpoint.
pub use ws_manager::WsManagedEndpointSnapshot;
/// Multi-client WebSocket orchestrator.
pub use ws_manager::WsManager;
/// Snapshot of the whole manager state.
pub use ws_manager::WsManagerSnapshot;
