mirror of
https://github.com/0xfnzero/solana-streamer.git
synced 2026-08-16 18:38:05 +00:00
feat: Add account event parser and protocol type definitions
- Add account event parser (account_event_parser.rs) for account-level event handling - Introduce type definitions for pumpfun, pumpswap, raydium_amm_v4, raydium_clmm, raydium_cpmm protocols - Enhance event processor to support account event processing alongside transactions - Improve subscription system with separate transaction and account filters - Optimize parser configuration using Option types for cleaner code structure - Update examples and documentation to reflect new capabilities Changes include: - 6 new types.rs files for protocol-specific data structures - Updated event processor for account, transaction, and block meta events - Refactored subscription manager with account filtering support - Enhanced metrics and batch processing logic
This commit is contained in:
@@ -159,6 +159,22 @@ pub enum EventType {
|
||||
RaydiumAmmV4Withdraw,
|
||||
RaydiumAmmV4WithdrawPnl,
|
||||
|
||||
// Account events
|
||||
AccountRaydiumAmmV4AmmInfo,
|
||||
AccountPumpSwapGlobalConfig,
|
||||
AccountPumpSwapPool,
|
||||
AccountBonkPoolState,
|
||||
AccountBonkGlobalConfig,
|
||||
AccountBonkPlatformConfig,
|
||||
AccountBonkVestingRecord,
|
||||
AccountPumpFunBondingCurve,
|
||||
AccountPumpFunGlobal,
|
||||
AccountRaydiumClmmAmmConfig,
|
||||
AccountRaydiumClmmPoolState,
|
||||
AccountRaydiumClmmTickArrayState,
|
||||
AccountRaydiumCpmmAmmConfig,
|
||||
AccountRaydiumCpmmPoolState,
|
||||
|
||||
// Common events
|
||||
BlockMeta,
|
||||
Unknown,
|
||||
@@ -184,6 +200,14 @@ impl EventType {
|
||||
EventType::BonkInitialize => "BonkInitialize".to_string(),
|
||||
EventType::BonkMigrateToAmm => "BonkMigrateToAmm".to_string(),
|
||||
EventType::BonkMigrateToCpswap => "BonkMigrateToCpswap".to_string(),
|
||||
EventType::AccountPumpFunBondingCurve => "AccountPumpFunBondingCurve".to_string(),
|
||||
EventType::AccountPumpFunGlobal => "AccountPumpFunGlobal".to_string(),
|
||||
EventType::AccountPumpSwapGlobalConfig => "AccountPumpSwapGlobalConfig".to_string(),
|
||||
EventType::AccountPumpSwapPool => "AccountPumpSwapPool".to_string(),
|
||||
EventType::AccountBonkPoolState => "AccountBonkPoolState".to_string(),
|
||||
EventType::AccountBonkGlobalConfig => "AccountBonkGlobalConfig".to_string(),
|
||||
EventType::AccountBonkPlatformConfig => "AccountBonkPlatformConfig".to_string(),
|
||||
EventType::AccountBonkVestingRecord => "AccountBonkVestingRecord".to_string(),
|
||||
EventType::RaydiumCpmmSwapBaseInput => "RaydiumCpmmSwapBaseInput".to_string(),
|
||||
EventType::RaydiumCpmmSwapBaseOutput => "RaydiumCpmmSwapBaseOutput".to_string(),
|
||||
EventType::RaydiumCpmmDeposit => "RaydiumCpmmDeposit".to_string(),
|
||||
@@ -209,6 +233,14 @@ impl EventType {
|
||||
EventType::RaydiumAmmV4Initialize2 => "RaydiumAmmV4Initialize2".to_string(),
|
||||
EventType::RaydiumAmmV4Withdraw => "RaydiumAmmV4Withdraw".to_string(),
|
||||
EventType::RaydiumAmmV4WithdrawPnl => "RaydiumAmmV4WithdrawPnl".to_string(),
|
||||
EventType::AccountRaydiumAmmV4AmmInfo => "AccountRaydiumAmmV4AmmInfo".to_string(),
|
||||
EventType::AccountRaydiumClmmAmmConfig => "AccountRaydiumClmmAmmConfig".to_string(),
|
||||
EventType::AccountRaydiumClmmPoolState => "AccountRaydiumClmmPoolState".to_string(),
|
||||
EventType::AccountRaydiumClmmTickArrayState => {
|
||||
"AccountRaydiumClmmTickArrayState".to_string()
|
||||
}
|
||||
EventType::AccountRaydiumCpmmAmmConfig => "AccountRaydiumCpmmAmmConfig".to_string(),
|
||||
EventType::AccountRaydiumCpmmPoolState => "AccountRaydiumCpmmPoolState".to_string(),
|
||||
EventType::BlockMeta => "BlockMeta".to_string(),
|
||||
EventType::Unknown => "Unknown".to_string(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user