Files
khadhroony-bobobot/kb_lib/src/db.rs
2026-05-31 19:23:46 +02:00

296 lines
14 KiB
Rust

// file: kb_lib/src/db.rs
//! Database facade.
//!
//! This module centralizes the database layer and exposes a storage API that is
//! intentionally structured to remain evolutive across backends.
mod connection;
mod dtos;
mod entities;
mod queries;
mod schema;
mod sqlite;
mod types;
pub use connection::Database;
pub use connection::DatabaseConnection;
pub use dtos::AnalysisSignalDto;
pub use dtos::ChainInstructionDto;
pub use dtos::ChainSlotDto;
pub use dtos::ChainTransactionDto;
pub use dtos::DbMetadataDto;
pub use dtos::DbRuntimeEventDto;
pub use dtos::DexDecodeReplayLedgerDto;
pub use dtos::DexDecodedEventDto;
pub use dtos::DexDto;
pub use dtos::DexEventCoverageEntryDto;
pub use dtos::DexEventCoverageSummaryDto;
pub use dtos::FeeEventDto;
pub use dtos::KnownHttpEndpointDto;
pub use dtos::KnownWsEndpointDto;
pub use dtos::LaunchAttributionDto;
pub use dtos::LaunchSurfaceDto;
pub use dtos::LaunchSurfaceKeyDto;
pub use dtos::LiquidityEventDto;
pub use dtos::LocalDecodedEventDiagnosticSummaryDto;
pub use dtos::LocalDexCorpusDecodedEventSampleDto;
pub use dtos::LocalDexCorpusPoolPairSampleDto;
pub use dtos::LocalDexCorpusSearchRequestDto;
pub use dtos::LocalDexCorpusSearchResultDto;
pub use dtos::LocalDexCorpusSearchSummaryDto;
pub use dtos::LocalDexCorpusTransactionSampleDto;
pub use dtos::LocalDexDiagnosticSummaryDto;
pub use dtos::LocalDuplicateDecodedEventTradeDiagnosticSampleDto;
pub use dtos::LocalEventClassificationDiagnosticSummaryDto;
pub use dtos::LocalLaunchOriginDiagnosticSampleDto;
pub use dtos::LocalMissingTradeEventDiagnosticSampleDto;
pub use dtos::LocalMissingTradeEventReasonSummaryDto;
pub use dtos::LocalMultiTradeSignaturePairDiagnosticSampleDto;
pub use dtos::LocalNonActionablePairDiagnosticSummaryDto;
pub use dtos::LocalPairActionabilityDiagnosticSummaryDto;
pub use dtos::LocalPairDiagnosticSummaryDto;
pub use dtos::LocalPairGapDiagnosticSampleDto;
pub use dtos::LocalPairTradingReadinessDiagnosticSummaryDto;
pub use dtos::LocalPipelineDiagnosticCountersDto;
pub use dtos::LocalPipelineDiagnosticSummaryDto;
pub use dtos::LocalPoolOriginDiagnosticSampleDto;
pub use dtos::LocalRaydiumProgramInstructionDiagnosticSummaryDto;
pub use dtos::LocalRaydiumSurfaceDiagnosticSummaryDto;
pub use dtos::LocalTokenMetadataGapDiagnosticSampleDto;
pub use dtos::ObservedTokenDto;
pub use dtos::OnchainObservationDto;
pub use dtos::PairAnalyticSignalDto;
pub use dtos::PairCandleDto;
pub use dtos::PairDto;
pub use dtos::PairMetricDto;
pub use dtos::PoolAdminEventDto;
pub use dtos::PoolDto;
pub use dtos::PoolLifecycleEventDto;
pub use dtos::PoolListingDto;
pub use dtos::PoolOriginDto;
pub use dtos::PoolTokenDto;
pub use dtos::ProgramInstructionDiagnosticDto;
pub use dtos::ProgramInstructionDiscriminatorSummaryDto;
pub use dtos::ProtocolCandidateDto;
pub use dtos::ProtocolCandidateSummaryDto;
pub use dtos::RewardEventDto;
pub use dtos::SwapDto;
pub use dtos::TokenBurnEventDto;
pub use dtos::TokenDto;
pub use dtos::TokenMintEventDto;
pub use dtos::TradeEventDto;
pub use dtos::TransactionClassificationDto;
pub use dtos::WalletDto;
pub use dtos::WalletHoldingDto;
pub use dtos::WalletParticipationDto;
pub use entities::AnalysisSignalEntity;
pub use entities::ChainInstructionEntity;
pub use entities::ChainSlotEntity;
pub use entities::ChainTransactionEntity;
pub use entities::DbMetadataEntity;
pub use entities::DbRuntimeEventEntity;
pub use entities::DexDecodeReplayLedgerEntity;
pub use entities::DexDecodedEventEntity;
pub use entities::DexEntity;
pub use entities::DexEventCoverageEntryEntity;
pub use entities::DexEventCoverageSummaryEntity;
pub use entities::FeeEventEntity;
pub use entities::KnownHttpEndpointEntity;
pub use entities::KnownWsEndpointEntity;
pub use entities::LaunchAttributionEntity;
pub use entities::LaunchSurfaceEntity;
pub use entities::LaunchSurfaceKeyEntity;
pub use entities::LiquidityEventEntity;
pub use entities::ObservedTokenEntity;
pub use entities::OnchainObservationEntity;
pub use entities::PairAnalyticSignalEntity;
pub use entities::PairCandleEntity;
pub use entities::PairEntity;
pub use entities::PairMetricEntity;
pub use entities::PoolAdminEventEntity;
pub use entities::PoolEntity;
pub use entities::PoolLifecycleEventEntity;
pub use entities::PoolListingEntity;
pub use entities::PoolOriginEntity;
pub use entities::PoolTokenEntity;
pub use entities::ProgramInstructionDiagnosticEntity;
pub use entities::ProgramInstructionDiscriminatorRowEntity;
pub use entities::ProtocolCandidateEntity;
pub use entities::ProtocolCandidateSummaryEntity;
pub use entities::RewardEventEntity;
pub use entities::SwapEntity;
pub use entities::TokenBurnEventEntity;
pub use entities::TokenEntity;
pub use entities::TokenMintEventEntity;
pub use entities::TradeEventEntity;
pub use entities::TransactionClassificationEntity;
pub use entities::WalletEntity;
pub use entities::WalletHoldingEntity;
pub use entities::WalletParticipationEntity;
pub use queries::query_analysis_signals_insert;
pub use queries::query_analysis_signals_list;
pub use queries::query_chain_instructions_delete_by_transaction_id;
pub use queries::query_chain_instructions_get_by_id;
pub use queries::query_chain_instructions_insert;
pub use queries::query_chain_instructions_list_by_transaction_id;
pub use queries::query_chain_slots_get;
pub use queries::query_chain_slots_list_recent;
pub use queries::query_chain_slots_upsert;
pub use queries::query_chain_transactions_get_by_signature;
pub use queries::query_chain_transactions_list_recent;
pub use queries::query_chain_transactions_list_signatures_for_replay;
pub use queries::query_chain_transactions_upsert;
pub use queries::query_db_metadatas_get;
pub use queries::query_db_metadatas_list;
pub use queries::query_db_metadatas_upsert;
pub use queries::query_db_runtime_events_insert;
pub use queries::query_db_runtime_events_list_recent;
pub use queries::query_dex_decode_replay_ledger_get_by_signature;
pub use queries::query_dex_decode_replay_ledger_get_by_transaction;
pub use queries::query_dex_decode_replay_ledger_upsert;
pub use queries::query_dex_decoded_events_delete_by_key;
pub use queries::query_dex_decoded_events_delete_meteora_dlmm_anchor_swap_instruction_audits;
pub use queries::query_dex_decoded_events_delete_related_instruction_audit;
pub use queries::query_dex_decoded_events_get_by_key;
pub use queries::query_dex_decoded_events_get_latest_pump_fun_create_payload_by_mint;
pub use queries::query_dex_decoded_events_list_by_transaction_id;
pub use queries::query_dex_decoded_events_upsert;
pub use queries::query_dex_event_coverage_entries_delete_by_decoder;
pub use queries::query_dex_event_coverage_entries_list_by_decoder;
pub use queries::query_dex_event_coverage_entries_list_summary_by_decoder;
pub use queries::query_dex_event_coverage_entries_refresh_local_counts;
pub use queries::query_dex_event_coverage_entries_refresh_local_counts_by_decoder;
pub use queries::query_dex_event_coverage_entries_upsert;
pub use queries::query_dexs_get_by_code;
pub use queries::query_dexs_list;
pub use queries::query_dexs_upsert;
pub use queries::query_fee_events_get_by_decoded_event_id;
pub use queries::query_fee_events_list_recent;
pub use queries::query_fee_events_upsert;
pub use queries::query_known_http_endpoints_get;
pub use queries::query_known_http_endpoints_list;
pub use queries::query_known_http_endpoints_upsert;
pub use queries::query_known_ws_endpoints_get;
pub use queries::query_known_ws_endpoints_list;
pub use queries::query_known_ws_endpoints_upsert;
pub use queries::query_launch_attributions_get_by_decoded_event_id;
pub use queries::query_launch_attributions_list_by_pool_id;
pub use queries::query_launch_attributions_upsert;
pub use queries::query_launch_surface_keys_get_by_match;
pub use queries::query_launch_surface_keys_list_by_surface_id;
pub use queries::query_launch_surface_keys_upsert;
pub use queries::query_launch_surfaces_get_by_code;
pub use queries::query_launch_surfaces_list;
pub use queries::query_launch_surfaces_upsert;
pub use queries::query_liquidity_events_list_recent;
pub use queries::query_liquidity_events_upsert;
pub use queries::query_local_decoded_event_diagnostic_list_summaries;
pub use queries::query_local_dex_corpus_search_get_summary;
pub use queries::query_local_dex_corpus_search_list_decoded_event_samples;
pub use queries::query_local_dex_corpus_search_list_pool_pair_samples;
pub use queries::query_local_dex_corpus_search_list_transaction_samples;
pub use queries::query_local_duplicate_decoded_event_trade_diagnostic_list_samples;
pub use queries::query_local_event_classification_diagnostic_list_summaries;
pub use queries::query_local_launch_origin_diagnostic_list_samples;
pub use queries::query_local_missing_trade_event_diagnostic_list_samples;
pub use queries::query_local_missing_trade_event_reason_list_summaries;
pub use queries::query_local_multi_trade_signature_pair_diagnostic_list_samples;
pub use queries::query_local_non_actionable_pair_diagnostic_list_summaries;
pub use queries::query_local_pair_actionability_diagnostic_list_summaries;
pub use queries::query_local_pair_diagnostic_list_summaries;
pub use queries::query_local_pair_trading_readiness_diagnostic_list_summaries;
pub use queries::query_local_pair_without_candle_diagnostic_list_samples;
pub use queries::query_local_pair_without_trade_diagnostic_list_samples;
pub use queries::query_local_pipeline_diagnostic_get_counters;
pub use queries::query_local_pipeline_diagnostic_list_summaries;
pub use queries::query_local_pool_origin_diagnostic_list_samples;
pub use queries::query_local_raydium_program_instruction_diagnostic_list_summaries;
pub use queries::query_local_token_metadata_gap_diagnostic_list_samples;
pub use queries::query_observed_tokens_get_by_mint;
pub use queries::query_observed_tokens_list;
pub use queries::query_observed_tokens_upsert;
pub use queries::query_onchain_observations_insert;
pub use queries::query_onchain_observations_list_recent;
pub use queries::query_pair_analytic_signals_get_by_key;
pub use queries::query_pair_analytic_signals_list_by_pair_id;
pub use queries::query_pair_analytic_signals_upsert;
pub use queries::query_pair_candles_get_by_key;
pub use queries::query_pair_candles_list_by_pair_and_timeframe;
pub use queries::query_pair_candles_upsert;
pub use queries::query_pair_metrics_get_by_pair_id;
pub use queries::query_pair_metrics_list;
pub use queries::query_pair_metrics_upsert;
pub use queries::query_pairs_get_by_pool_id;
pub use queries::query_pairs_list;
pub use queries::query_pairs_update_symbol;
pub use queries::query_pairs_upsert;
pub use queries::query_pool_admin_events_get_by_decoded_event_id;
pub use queries::query_pool_admin_events_list_recent;
pub use queries::query_pool_admin_events_upsert;
pub use queries::query_pool_lifecycle_events_get_by_decoded_event_id;
pub use queries::query_pool_lifecycle_events_list_recent;
pub use queries::query_pool_lifecycle_events_upsert;
pub use queries::query_pool_listings_get_by_pool_id;
pub use queries::query_pool_listings_list;
pub use queries::query_pool_listings_upsert;
pub use queries::query_pool_origins_get_by_pool_id;
pub use queries::query_pool_origins_list;
pub use queries::query_pool_origins_upsert;
pub use queries::query_pool_tokens_list_by_pool_id;
pub use queries::query_pool_tokens_upsert;
pub use queries::query_pools_get_by_address;
pub use queries::query_pools_list;
pub use queries::query_pools_upsert;
pub use queries::query_program_instruction_diagnostics_list_by_program_id;
pub use queries::query_program_instruction_discriminator_summaries_list_by_program_id;
pub use queries::query_protocol_candidate_summaries_list_by_priority;
pub use queries::query_protocol_candidates_delete_by_transaction_id;
pub use queries::query_protocol_candidates_insert;
pub use queries::query_protocol_candidates_list_by_program_id;
pub use queries::query_protocol_candidates_list_by_transaction_id;
pub use queries::query_protocol_candidates_list_recent;
pub use queries::query_reward_events_get_by_decoded_event_id;
pub use queries::query_reward_events_list_recent;
pub use queries::query_reward_events_upsert;
pub use queries::query_swaps_list_recent;
pub use queries::query_swaps_upsert;
pub use queries::query_token_burn_events_list_recent;
pub use queries::query_token_burn_events_upsert;
pub use queries::query_token_mint_events_list_recent;
pub use queries::query_token_mint_events_upsert;
pub use queries::query_tokens_get_by_id;
pub use queries::query_tokens_get_by_mint;
pub use queries::query_tokens_list;
pub use queries::query_tokens_list_missing_metadata;
pub use queries::query_tokens_upsert;
pub use queries::query_trade_events_get_by_decoded_event_id;
pub use queries::query_trade_events_list_by_pair_id;
pub use queries::query_trade_events_list_by_transaction_id;
pub use queries::query_trade_events_upsert;
pub use queries::query_trade_market_materialization_delete_all;
pub use queries::query_transaction_classifications_get_by_signature;
pub use queries::query_transaction_classifications_get_by_transaction_id;
pub use queries::query_transaction_classifications_list_recent;
pub use queries::query_transaction_classifications_upsert;
pub use queries::query_wallet_holdings_get_by_wallet_and_token;
pub use queries::query_wallet_holdings_list_by_wallet_id;
pub use queries::query_wallet_holdings_upsert;
pub use queries::query_wallet_participations_get_by_unique_key;
pub use queries::query_wallet_participations_list_by_pool_id;
pub use queries::query_wallet_participations_list_by_wallet_id;
pub use queries::query_wallet_participations_upsert;
pub use queries::query_wallets_get_by_address;
pub use queries::query_wallets_list;
pub use queries::query_wallets_upsert;
pub use types::AnalysisSignalSeverity;
pub use types::DatabaseBackend;
pub use types::DbRuntimeEventLevel;
pub use types::LiquidityEventKind;
pub use types::ObservationSourceKind;
pub use types::ObservedTokenStatus;
pub use types::PoolKind;
pub use types::PoolStatus;
pub use types::PoolTokenRole;
pub use types::SwapTradeSide;