#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_variables)]
pub mod discriminator_lut;
pub mod meteora_amm;
pub mod meteora_damm;
pub mod meteora_dlmm;
pub mod optimized_matcher;
pub mod orca_whirlpool;
pub mod perf_hints;
pub mod pump;
pub mod pump_amm;
pub mod raydium_amm;
pub mod raydium_clmm;
pub mod raydium_cpmm;
pub mod raydium_launchpad;
pub mod utils;
pub mod zero_copy_parser;
pub use discriminator_lut::{
discriminator_to_name, discriminator_to_protocol, lookup_discriminator,
parse_with_discriminator,
};
pub use utils::extract_discriminator_fast;
pub use zero_copy_parser::parse_pumpfun_trade;
pub use meteora_amm::parse_log as parse_meteora_amm_log;
pub use meteora_damm::parse_log as parse_meteora_damm_log;
pub use meteora_dlmm::parse_log as parse_meteora_dlmm_log;
pub use orca_whirlpool::parse_log as parse_orca_whirlpool_log;
pub use pump::parse_log as parse_pumpfun_log;
pub use pump_amm::parse_log as parse_pump_amm_log;
pub use raydium_amm::parse_log as parse_raydium_amm_log;
pub use raydium_clmm::parse_log as parse_raydium_clmm_log;
pub use raydium_cpmm::parse_log as parse_raydium_cpmm_log;
pub use raydium_launchpad::parse_log as parse_raydium_launchpad_log;
pub use utils::*;
use crate::core::clock::now_us;
use crate::core::events::DexEvent;
use solana_sdk::signature::Signature;
#[inline(always)] pub fn parse_log(
log: &str,
signature: Signature,
slot: u64,
tx_index: u64,
block_time_us: Option<i64>,
grpc_recv_us: i64,
event_type_filter: Option<&crate::grpc::types::EventTypeFilter>,
is_created_buy: bool,
recent_blockhash: Option<&[u8]>,
) -> Option<DexEvent> {
optimized_matcher::parse_log_optimized(
log,
signature,
slot,
tx_index,
block_time_us,
grpc_recv_us,
event_type_filter,
is_created_buy,
recent_blockhash,
)
}
#[inline(always)] pub fn parse_log_unified(
log: &str,
signature: Signature,
slot: u64,
block_time_us: Option<i64>,
) -> Option<DexEvent> {
let grpc_recv_us = now_us();
optimized_matcher::parse_log_optimized(
log,
signature,
slot,
0,
block_time_us,
grpc_recv_us,
None,
false,
None,
)
}