296 lines
14 KiB
Rust
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;
|