This commit is contained in:
2026-05-30 01:14:30 +02:00
parent ffa4acbccb
commit 7bd6593015
20 changed files with 4359 additions and 456 deletions

View File

@@ -564,7 +564,7 @@ impl DexDecodeService {
None,
event.token_a_mint.clone(),
event.token_b_mint.clone(),
event.config_account.clone(),
event.lp_mint.clone(),
event.payload_json.clone(),
)
.await;
@@ -589,6 +589,78 @@ impl DexDecodeService {
)
.await;
},
crate::MeteoraDammV1DecodedEvent::Liquidity(event) => {
return self
.materialize_named_dex_event(
transaction,
event.transaction_id,
event.instruction_id,
"meteora_damm_v1",
event.program_id.clone(),
event.event_kind.as_str(),
event.pool_account.clone(),
None,
event.token_a_mint.clone(),
event.token_b_mint.clone(),
event.lp_mint.clone(),
event.payload_json.clone(),
)
.await;
},
crate::MeteoraDammV1DecodedEvent::Fee(event) => {
return self
.materialize_named_dex_event(
transaction,
event.transaction_id,
event.instruction_id,
"meteora_damm_v1",
event.program_id.clone(),
event.event_kind.as_str(),
event.pool_account.clone(),
None,
None,
None,
event.lp_mint.clone(),
event.payload_json.clone(),
)
.await;
},
crate::MeteoraDammV1DecodedEvent::PoolLifecycle(event) => {
return self
.materialize_named_dex_event(
transaction,
event.transaction_id,
event.instruction_id,
"meteora_damm_v1",
event.program_id.clone(),
event.event_kind.as_str(),
event.pool_account.clone(),
None,
event.token_a_mint.clone(),
event.token_b_mint.clone(),
event.lp_mint.clone(),
event.payload_json.clone(),
)
.await;
},
crate::MeteoraDammV1DecodedEvent::PoolAdmin(event) => {
return self
.materialize_named_dex_event(
transaction,
event.transaction_id,
event.instruction_id,
"meteora_damm_v1",
event.program_id.clone(),
event.event_kind.as_str(),
event.pool_account.clone(),
None,
None,
None,
None,
event.payload_json.clone(),
)
.await;
},
}
}
@@ -1927,6 +1999,9 @@ fn instruction_audit_event_kind_by_protocol(
"raydium_clmm" => return Some("raydium_clmm.instruction_audit"),
"raydium_cpmm" => return Some("raydium_cpmm.instruction_audit"),
"meteora_dlmm" => return Some("meteora_dlmm.instruction_audit"),
"meteora_damm_v1" => return Some("meteora_damm_v1.instruction_audit"),
"meteora_damm_v2" => return Some("meteora_damm_v2.instruction_audit"),
"meteora_dbc" => return Some("meteora_dbc.instruction_audit"),
_ => return None,
}
}
@@ -3134,6 +3209,18 @@ mod tests {
super::instruction_audit_event_kind_by_protocol("meteora_dlmm"),
Some("meteora_dlmm.instruction_audit")
);
assert_eq!(
super::instruction_audit_event_kind_by_protocol("meteora_damm_v1"),
Some("meteora_damm_v1.instruction_audit")
);
assert_eq!(
super::instruction_audit_event_kind_by_protocol("meteora_damm_v2"),
Some("meteora_damm_v2.instruction_audit")
);
assert_eq!(
super::instruction_audit_event_kind_by_protocol("meteora_dbc"),
Some("meteora_dbc.instruction_audit")
);
assert_eq!(super::instruction_audit_event_kind_by_protocol("unknown"), None);
}
}