2026-05-16 06:45:35 +08:00
|
|
|
use crate::streaming::event_parser::{
|
|
|
|
|
common::EventMetadata, core::EventDispatcher, DexEvent, Protocol,
|
|
|
|
|
};
|
2025-08-28 14:49:56 +08:00
|
|
|
use solana_sdk::pubkey::Pubkey;
|
2025-08-11 01:04:16 +08:00
|
|
|
|
2026-05-16 06:45:35 +08:00
|
|
|
pub use sol_parser_sdk::instr::program_ids::BONK_PROGRAM_ID;
|
2025-07-19 23:46:42 +08:00
|
|
|
|
2025-11-03 23:58:19 +08:00
|
|
|
pub fn parse_bonk_instruction_data(
|
|
|
|
|
discriminator: &[u8],
|
|
|
|
|
data: &[u8],
|
|
|
|
|
accounts: &[Pubkey],
|
|
|
|
|
metadata: EventMetadata,
|
|
|
|
|
) -> Option<DexEvent> {
|
2026-05-16 06:45:35 +08:00
|
|
|
EventDispatcher::dispatch_instruction(Protocol::Bonk, discriminator, data, accounts, metadata)
|
2025-11-03 23:58:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn parse_bonk_inner_instruction_data(
|
|
|
|
|
discriminator: &[u8],
|
|
|
|
|
data: &[u8],
|
|
|
|
|
metadata: EventMetadata,
|
|
|
|
|
) -> Option<DexEvent> {
|
2026-05-16 06:45:35 +08:00
|
|
|
EventDispatcher::dispatch_inner_instruction(Protocol::Bonk, discriminator, data, metadata)
|
2025-11-03 23:58:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn parse_bonk_account_data(
|
|
|
|
|
discriminator: &[u8],
|
|
|
|
|
account: &crate::streaming::grpc::AccountPretty,
|
2026-05-16 06:45:35 +08:00
|
|
|
metadata: EventMetadata,
|
2025-10-12 22:00:15 +08:00
|
|
|
) -> Option<DexEvent> {
|
2026-05-16 06:45:35 +08:00
|
|
|
EventDispatcher::dispatch_account(Protocol::Bonk, discriminator, account, metadata)
|
2025-09-14 01:13:11 +08:00
|
|
|
}
|