UNPKG

@kamino-finance/kamino-db

Version:
288 lines (282 loc) 14.8 kB
export * from './BorrowOrderEventTypeEntity'; export * from './BorrowOrderAlertEntity'; export * from './ClusterEntity'; export * from './OwnerEntity'; export * from './TokenEntity'; export * from './StrategyEntity'; export * from './ShareMintEntity'; export * from './ShareHolderEntity'; export * from './StrategyStateEntity'; export * from './WhirlpoolEntity'; export * from './WhirlpoolStateEntity'; export * from './DexTypeEntity'; export * from './VaultEntity'; export * from './PriceEntity'; export * from './TokenHistoryEntity'; export * from './TokenHistorySourceEntity'; export * from './TokenHistoryFieldEntity'; export * from './ProgramAccountEntity'; export * from './TokenMintEntity'; export * from './TradeAggregatorEntity'; export * from './TradeEntity'; export * from './TradeSourceEntity'; export * from './StrategyMetricsEntity'; export * from './TradePoolEntity'; export * from './SimulatorPoolEntity'; export * from './MetricsSourceEntity'; export * from './KlendMarketEntity'; export * from './KlendMarketStateEntity'; export * from './KlendObligationEntity'; export * from './KLendObligationStateEntity'; export * from './KlendReserveEntity'; export * from './KlendReserveStateEntity'; export * from './KaminoInstructionEntity'; export * from './InstructionEntity'; export * from './UserMetricsEntity'; export * from './PriceTypeEntity'; export * from './FarmEntity'; export * from './FarmStateEntity'; export * from './FarmUserEntity'; export * from './FarmUserStateEntity'; export * from './FarmRewardEntity'; export * from './FarmInstructionEntity'; export * from './FarmManagementInstructionEntity'; export * from './kdex'; export * from './KlendLeverageMetricsEntity'; export * from './PointsTotalEntity'; export * from './PointsKlendEntity'; export * from './PointsStrategiesEntity'; export * from './PointsSourceEntity'; export * from './KlendObligationTypeEntity'; export * from './StakedSolTokenEntity'; export * from './StablecoinTokenEntity'; export * from './PointsLeaderboardBlacklistEntity'; export * from './KlendBorrowOrderInstructionEntity'; export * from './KlendInstructionEntity'; export * from './KlendWithdrawQueueInstructionEntity'; export * from './KlendWithdrawTicketEntity'; export * from './RawInstructionEntity'; export * from './YieldEntity'; export * from './StakingRateEntity'; export * from './PointsTotalHistoryEntity'; export * from './AirdropMetricsEntity'; export * from './AirdropSourceEntity'; export * from './AirdropEntity'; export * from './PointsSourceBoostEntity'; export * from './PointsOwnerBoostEntity'; export * from './PointsOwnerBoostSourceEntity'; export * from './StakingBoostEntity'; export * from './PointsStakingEntity'; export * from './OwnerScreeningEntity'; export * from './accounting'; export * from './RecentSlotEntity'; export * from './EpochEntity'; export * from './StakingYieldEntity'; export * from './kvault'; export * from './portfolio'; export * from './limo'; export * from './KlendNotificationEntity'; export * from './KlendWalletNotificationEntity'; export * from './NotificationTypeEntity'; export * from './OwnerNetValueEntity'; export * from './kswap'; export * from './referral'; export * from './LookupTableEntity'; export * from './LookupTableAccountEntity'; export * from './OwnerScreeningAuditLogEntity'; export * from './OwnerScreeningConfigEntity'; export * from './ReplaySampleEntity'; export * from './reward'; export * from './TelegramInviteLinkEntity'; export * from './ScopeFeedEntity'; export * from './OracleMappingsEntity'; export * from './ScopeFeedStateEntity'; export * from './ScopeFeedStateMetadataEntity'; export * from './KlendRewardStateEntity'; export * from './LutProductEntity'; export * from './LutEntryEntity'; export * from './LutAccountFrequencyEntity'; export * from './LutMissingGroupEntity'; export * from './LutMissingGroupAccountEntity'; export const CLUSTER_TABLE: string = 'cluster'; export const DEX_TYPE: string = 'dex_type'; export const OWNER_TABLE: string = 'owner'; export const VAULT_TABLE: string = 'vault'; export const TOKEN_TABLE: string = 'token'; export const STRATEGY_TABLE: string = 'strategy'; export const SHARE_MINT_TABLE: string = 'share_mint'; export const STRATEGY_STATE_TABLE: string = 'strategy_state'; export const SHARE_HOLDER_TABLE: string = 'share_holder'; export const WHIRLPOOL_TABLE: string = 'whirlpool'; export const WHIRLPOOL_STATE_TABLE: string = 'whirlpool_state'; export const REWARD_TABLE = 'reward'; export const REWARD_EARNED_TABLE = 'reward_earned'; export const PRICE_TABLE = 'price'; export const TOKEN_HISTORY_TABLE = 'token_history'; export const TOKEN_HISTORY_FIELD_TABLE = 'token_history_field'; export const TOKEN_HISTORY_SOURCE_TABLE = 'token_history_source'; export const TRADE_TABLE = 'trade'; export const TOKEN_MINT_TABLE = 'token_mint'; export const PROGRAM_ACCOUNT_TABLE = 'program_account'; export const TRADE_AGGREGATOR_TABLE = 'trade_aggregator'; export const TRADE_SOURCE_TABLE = 'trade_source'; export const TRADE_POOL_TABLE = 'trade_pool'; export const STRATEGY_METRICS_TABLE = 'strategy_metrics'; export const SIMULATOR_POOL_TABLE = 'simulator_pool'; export const METRICS_SOURCE_TABLE = 'metrics_source'; export const KLEND_MARKET_TABLE = 'klend_market'; export const KLEND_RESERVE_TABLE = 'klend_reserve'; export const KLEND_OBLIGATION_TABLE = 'klend_obligation'; export const KLEND_MARKET_STATE_TABLE = 'klend_market_state'; export const KLEND_RESERVE_STATE_TABLE = 'klend_reserve_state'; export const KLEND_OBLIGATION_STATE_TABLE = 'klend_obligation_state'; export const INSTRUCTION_TABLE = 'instruction'; export const USER_METRICS_TABLE = 'user_metrics'; export const PRICE_TYPE_TABLE = 'price_type'; export const FARM_TABLE = 'farm'; export const FARM_STATE_TABLE = 'farm_state'; export const FARM_USER_TABLE = 'farm_user'; export const FARM_USER_STATE_TABLE = 'farm_user_state'; export const FARM_REWARD_TABLE = 'farm_reward_state'; export const FARM_INSTRUCTION_TABLE = 'farm_instruction'; export const FARM_MANAGEMENT_INSTRUCTION_TABLE = 'farm_management_instruction'; export const KDEX_CURVE_TYPE_TABLE = 'kdex_curve_type'; export const KDEX_POOL_TABLE = 'kdex_pool'; export const KDEX_INSTRUCTION_TABLE = 'kdex_instruction'; export const KLEND_LEVERAGE_METRICS_TABLE = 'klend_leverage_metrics'; export const POINTS_SOURCE_TABLE = 'points_source'; export const KLEND_OBLIGATION_TYPE_TABLE = 'klend_obligation_type'; export const POINTS_STRATEGIES_TABLE = 'points_strategies'; export const POINTS_KLEND_TABLE = 'points_klend'; export const POINTS_TOTAL_TABLE = 'points_total'; export const POINTS_LEADERBOARD_TABLE = 'points_leaderboard'; export const STAKED_SOL_TOKEN_TABLE = 'staked_sol_token'; export const POINTS_LEADERBOARD_BLACKLIST_TABLE = 'points_leaderboard_blacklist'; export const STABLECOIN_TOKEN_TABLE = 'stablecoin_token'; export const RAW_INSTRUCTION_TABLE = 'raw_instruction'; export const KAMINO_INSTRUCTION_TABLE = 'kamino_instruction'; export const BORROW_ORDER_EVENT_TYPE_TABLE = 'borrow_order_event_type'; export const BORROW_ORDER_ALERT_TABLE = 'borrow_order_alert'; export const KLEND_BORROW_ORDER_INSTRUCTION_TABLE = 'klend_borrow_order_instruction'; export const KLEND_INSTRUCTION_TABLE = 'klend_instruction'; export const KLEND_WITHDRAW_QUEUE_INSTRUCTION_TABLE = 'klend_withdraw_queue_instruction'; export const KLEND_WITHDRAW_TICKET_TABLE = 'klend_withdraw_ticket'; export const YIELD_TABLE = 'yield'; export const STAKING_RATE_TABLE = 'staking_rate'; export const POINTS_TOTAL_HISTORY_TABLE = 'points_total_history'; export const AIRDROP_TABLE = 'airdrop'; export const AIRDROP_METRICS_TABLE = 'airdrop_metrics'; export const AIRDROP_SOURCE_TABLE = 'airdrop_source'; export const POINTS_SOURCE_BOOST_TABLE = 'points_source_boost'; export const POINTS_OWNER_BOOST_SOURCE_TABLE = 'points_owner_boost_source'; export const POINTS_OWNER_BOOST_TABLE = 'points_owner_boost'; export const STAKING_BOOST_TABLE = 'staking_boost'; export const POINTS_STAKING_TABLE = 'points_staking'; export const OWNER_SCREENING_TABLE = 'owner_screening'; export const ACCOUNTING_CONFIG_TABLE = 'accounting_config'; export const ACCOUNTING_TRANSACTION_TABLE = 'accounting_transaction'; export const ACCOUNTING_BALANCE_TABLE = 'accounting_balance'; export const RECENT_SLOT_TABLE = 'recent_slot'; export const STAKING_YIELD_TABLE = 'staking_yield'; export const EPOCH_TABLE = 'epoch'; export const KVAULT_TABLE = 'kvault'; export const KVAULT_HOLDER_TABLE = 'kvault_holder'; export const KVAULT_HOLDER_TOTAL_TABLE = 'kvault_holder_total'; export const KVAULT_INSTRUCTION_TABLE = 'kvault_instruction'; export const KVAULT_STATE_TABLE = 'kvault_state'; export const KVAULT_RESERVE_STATE_TABLE = 'kvault_reserve_state'; export const KVAULT_ALLOCATION_STATE_TABLE = 'kvault_allocation_state'; export const KVAULT_FARM_REWARD_STATE_TABLE = 'kvault_farm_reward_state'; export const KVAULT_RESERVE_REWARD_STATE_TABLE = 'kvault_reserve_reward_state'; export const KVAULT_REWARD_STATE_TABLE = 'kvault_reward_state'; export const KVAULT_METRICS_TABLE = 'kvault_metrics'; export const PRIVATE_CREDIT_LOAN_TABLE = 'private_credit_loan'; export const PRIVATE_CREDIT_LOAN_STATE_TABLE = 'private_credit_loan_state'; export const PRIVATE_CREDIT_METRICS_TABLE = 'private_credit_metrics'; export const PRIVATE_CREDIT_LIQUIDATION_STATUS_TABLE = 'private_credit_liquidation_status'; export const PRIVATE_CREDIT_STATUS_METRICS_TABLE = 'private_credit_status_metrics'; export const LIMO_ORDER_TABLE = 'limo_order'; export const LIMO_ORDER_STATUS_TABLE = 'limo_order_status'; export const LIMO_ORDER_TYPE_TABLE = 'limo_order_type'; export const LIMO_INSTRUCTION_TABLE = 'limo_instruction'; export const LIMO_METRICS_TABLE = 'limo_metrics'; export const LIMO_WEEKLY_LEADERBOARD_TABLE = 'limo_weekly_leaderboard'; export const KLEND_NOTIFICATION_TABLE = 'klend_notification'; export const KLEND_WALLET_NOTIFICATION_TABLE = 'klend_wallet_notification'; export const NOTIFICATION_TYPE_TABLE = 'notification_type'; export const OWNER_NET_VALUE_TABLE = 'owner_net_value'; export const KSWAP_TOKEN_TABLE = 'kswap_token'; export const REFERRAL_CODE_TABLE = 'referral_code'; export const REFERRED_OWNER_TABLE = 'referred_owner'; export const REFERRAL_LEADERBOARD_TABLE = 'referral_leaderboard'; export const KSWAP_INSTRUCTION_TABLE = 'kswap_instruction'; export const KSWAP_LEADERBOARD_TABLE = 'kswap_leaderboard'; export const KSWAP_AGGREGATOR_TABLE = 'kswap_aggregator'; export const LOOKUP_TABLE = 'lookup_table'; export const LOOKUP_TABLE_ACCOUNT = 'lookup_table_account'; export const OWNER_SCREENING_AUDIT_LOG_TABLE = 'owner_screening_audit_log'; export const OWNER_SCREENING_CONFIG_TABLE = 'owner_screening_config'; export const REPLAY_SAMPLE_TABLE = 'replay_sample'; export const REWARD_KVAULT_TABLE = 'reward_kvault'; export const REWARD_KVAULT_METRICS_TABLE = 'reward_kvault_metrics'; export const REWARD_KLEND_TABLE = 'reward_klend'; export const REWARD_KLEND_METRICS_TABLE = 'reward_klend_metrics'; export const TELEGRAM_INVITE_LINKS_TABLE = 'telegram_invite_links'; export const SCOPE_FEED_TABLE = 'scope_feed'; export const SCOPE_FEED_STATE_TABLE = 'scope_feed_state'; export const SCOPE_FEED_STATE_METADATA_TABLE = 'scope_feed_state_metadata'; export const ORACLE_MAPPINGS_TABLE = 'oracle_mappings'; export const KLEND_REWARD_STATE_TABLE = 'klend_reward_state'; export const LUT_PRODUCT_TABLE = 'lut_product'; export const LUT_ENTRY_TABLE = 'lut_entry'; export const LUT_ACCOUNT_FREQUENCY_TABLE = 'lut_account_frequency'; export const LUT_MISSING_GROUP_TABLE = 'lut_missing_group'; export const LUT_MISSING_GROUP_ACCOUNT_TABLE = 'lut_missing_group_account'; export const PORTFOLIO_PRICE_SOURCE_TABLE = 'portfolio_price_source'; export const PORTFOLIO_PRODUCT_TABLE = 'portfolio_product'; export const PORTFOLIO_SECTION_TABLE = 'portfolio_section'; export const PORTFOLIO_ACCOUNT_KIND_TABLE = 'portfolio_account_kind'; export const PORTFOLIO_STREAM_STATUS_TABLE = 'portfolio_stream_status'; export const PORTFOLIO_RECONCILIATION_STATUS_TABLE = 'portfolio_reconciliation_status'; export const PORTFOLIO_POSITION_KIND_TABLE = 'portfolio_position_kind'; export const PORTFOLIO_VAULT_KIND_TABLE = 'portfolio_vault_kind'; export const PORTFOLIO_PRICE_TABLE = 'portfolio_price'; export const PORTFOLIO_SECTION_REFRESH_TABLE = 'portfolio_section_refresh'; export const PORTFOLIO_STREAM_ERROR_TABLE = 'portfolio_stream_error'; export const PORTFOLIO_RECONCILIATION_RUN_TABLE = 'portfolio_reconciliation_run'; export const PORTFOLIO_SHARE_MINT_MAPPING_TABLE = 'portfolio_share_mint_mapping'; export const PORTFOLIO_SHARE_TOKEN_ACCOUNT_TABLE = 'portfolio_share_token_account'; export const PORTFOLIO_KLEND_OBLIGATION_TABLE = 'portfolio_klend_obligation'; export const PORTFOLIO_KLEND_OBLIGATION_POSITION_TABLE = 'portfolio_klend_obligation_position'; export const PORTFOLIO_KLEND_RESERVE_TABLE = 'portfolio_klend_reserve'; export const PORTFOLIO_KLEND_RESERVE_BORROW_RATE_CURVE_POINT_TABLE = 'portfolio_klend_reserve_borrow_rate_curve_point'; export const PORTFOLIO_KLEND_RESERVE_ELEVATION_GROUP_TABLE = 'portfolio_klend_reserve_elevation_group'; export const PORTFOLIO_KLEND_MARKET_TABLE = 'portfolio_klend_market'; export const PORTFOLIO_KLEND_MARKET_ELEVATION_GROUP_TABLE = 'portfolio_klend_market_elevation_group'; export const PORTFOLIO_LIQUIDITY_POSITION_TABLE = 'portfolio_liquidity_position'; export const PORTFOLIO_LIQUIDITY_STRATEGY_TABLE = 'portfolio_liquidity_strategy'; export const PORTFOLIO_VAULT_POSITION_TABLE = 'portfolio_vault_position'; export const PORTFOLIO_KVAULT_TABLE = 'portfolio_kvault'; export const PORTFOLIO_FARM_USER_REWARD_TABLE = 'portfolio_farm_user_reward'; export const PORTFOLIO_FARM_USER_STATE_TABLE = 'portfolio_farm_user_state'; export const PORTFOLIO_FARM_REWARD_CURVE_POINT_TABLE = 'portfolio_farm_reward_curve_point'; export const PORTFOLIO_FARM_REWARD_TABLE = 'portfolio_farm_reward'; export const PORTFOLIO_FARM_TABLE = 'portfolio_farm'; export const PORTFOLIO_STAKING_POSITION_TABLE = 'portfolio_staking_position'; export type RESAMPLE_FREQUENCY = 'hour' | 'day'; export const HOURLY_FREQUENCY = 'hour'; export const DAILY_FREQUENCY = 'day'; function validateFrequency(frequency: RESAMPLE_FREQUENCY) { if (frequency !== HOURLY_FREQUENCY && frequency !== DAILY_FREQUENCY) { throw Error(`Frequency ${frequency} not supported`); } } export const GET_OBLIGATION_STATE_RESAMPLED_TABLE = (frequency: RESAMPLE_FREQUENCY) => { validateFrequency(frequency); return `klend_obligation_state_resampled_${frequency}`; }; export const GET_RESAMPLED_TABLE = (tableName: string, frequency: RESAMPLE_FREQUENCY) => { validateFrequency(frequency); return `${tableName}_${frequency}`; }; export const API_SCHEMA: string = 'api';