feat: support Pump.fun V2 (Mayhem Mode) and update protocol structures for Nov 11 breaking changes

This commit is contained in:
ysq
2025-11-09 23:30:48 +08:00
parent 3a9fed4a9c
commit 9e4f71dbb2
10 changed files with 154 additions and 16 deletions
@@ -38,6 +38,22 @@ pub fn merge(instruction_event: &mut DexEvent, cpi_log_event: DexEvent) {
}
_ => {}
},
DexEvent::PumpFunCreateV2TokenEvent(e) => match cpi_log_event {
DexEvent::PumpFunCreateV2TokenEvent(cpie) => {
e.mint = cpie.mint;
e.bonding_curve = cpie.bonding_curve;
e.user = cpie.user;
e.creator = cpie.creator;
e.timestamp = cpie.timestamp;
e.virtual_token_reserves = cpie.virtual_token_reserves;
e.virtual_sol_reserves = cpie.virtual_sol_reserves;
e.real_token_reserves = cpie.real_token_reserves;
e.token_total_supply = cpie.token_total_supply;
e.token_program = cpie.token_program;
e.is_mayhem_mode = cpie.is_mayhem_mode;
}
_ => {}
},
DexEvent::PumpFunMigrateEvent(e) => match cpi_log_event {
DexEvent::PumpFunMigrateEvent(cpie) => {
e.user = cpie.user;
@@ -26,6 +26,7 @@ pub enum DexEvent {
// PumpFun events
PumpFunCreateTokenEvent(PumpFunCreateTokenEvent),
PumpFunCreateV2TokenEvent(PumpFunCreateV2TokenEvent),
PumpFunTradeEvent(PumpFunTradeEvent),
PumpFunMigrateEvent(PumpFunMigrateEvent),
PumpFunBondingCurveAccountEvent(PumpFunBondingCurveAccountEvent),
@@ -87,6 +88,7 @@ impl DexEvent {
DexEvent::BonkGlobalConfigAccountEvent(e) => &e.metadata,
DexEvent::BonkPlatformConfigAccountEvent(e) => &e.metadata,
DexEvent::PumpFunCreateTokenEvent(e) => &e.metadata,
DexEvent::PumpFunCreateV2TokenEvent(e) => &e.metadata,
DexEvent::PumpFunTradeEvent(e) => &e.metadata,
DexEvent::PumpFunMigrateEvent(e) => &e.metadata,
DexEvent::PumpFunBondingCurveAccountEvent(e) => &e.metadata,
@@ -138,6 +140,7 @@ impl DexEvent {
DexEvent::BonkGlobalConfigAccountEvent(e) => &mut e.metadata,
DexEvent::BonkPlatformConfigAccountEvent(e) => &mut e.metadata,
DexEvent::PumpFunCreateTokenEvent(e) => &mut e.metadata,
DexEvent::PumpFunCreateV2TokenEvent(e) => &mut e.metadata,
DexEvent::PumpFunTradeEvent(e) => &mut e.metadata,
DexEvent::PumpFunMigrateEvent(e) => &mut e.metadata,
DexEvent::PumpFunBondingCurveAccountEvent(e) => &mut e.metadata,