1use anchor_lang::prelude::*;
4use crate::{ParameterAction, ParameterList};
5
6#[event]
9pub struct AmmPoolCreated {
10 pub pool_address: Pubkey,
11 pub token_a_mint: Pubkey,
12 pub token_b_mint: Pubkey,
13 pub lp_mint: Pubkey,
14 pub fee_rate: u16,
15}
16
17#[event]
18pub struct AmmFeesUpdated {
19 pub pool_address: Pubkey,
20 pub new_fee_rate: u16,
21}
22
23#[event]
24pub struct AmmLiquidityAdded {
25 pub pool_address: Pubkey,
26 pub user: Pubkey,
27 pub lp_tokens_minted: u64,
28 pub amount_a_deposited: u64,
29 pub amount_b_deposited: u64,
30}
31
32#[event]
33pub struct AmmLiquidityRemoved {
34 pub pool_address: Pubkey,
35 pub user: Pubkey,
36 pub lp_tokens_burned: u64,
37 pub amount_a_received: u64,
38 pub amount_b_received: u64,
39}
40
41#[event]
42pub struct AmmSwap {
43 pub pool_address: Pubkey,
44 pub trader: Pubkey,
45 pub input_mint: Pubkey,
46 pub output_mint: Pubkey,
47 pub amount_in: u64,
48 pub amount_out: u64,
49 pub protocol_fee: u64,
50 pub lp_fee: u64,
51 pub referrer: Option<Pubkey>,
52}
53
54#[event]
55pub struct AmmFeesClaimed {
56 pub pool_address: Pubkey,
57 pub user: Pubkey,
58 pub fees_claimed_a: u64,
59 pub fees_claimed_b: u64,
60}
61
62
63#[event]
66pub struct DlmmPoolCreated {
67 pub pool_address: Pubkey,
68 pub token_a_mint: Pubkey,
69 pub token_b_mint: Pubkey,
70 pub bin_step: u16,
71 pub fee_rate: u16,
72}
73
74#[event]
75pub struct DlmmFeesUpdated {
76 pub pool_address: Pubkey,
77 pub new_fee_rate: u16,
78}
79
80#[event]
81pub struct DlmmPositionOpened {
82 pub pool_address: Pubkey,
83 pub owner: Pubkey,
84 pub position_address: Pubkey,
85 pub position_mint: Pubkey,
86 pub lower_bin_id: i32,
87 pub upper_bin_id: i32,
88}
89
90#[event]
91pub struct DlmmLiquidityUpdate {
92 pub position_address: Pubkey,
93 pub liquidity_added: i128, pub amount_a: u64,
95 pub amount_b: u64,
96}
97
98#[event]
99pub struct DlmmSwapResult {
100 pub pool_address: Pubkey,
101 pub trader: Pubkey,
102 pub input_mint: Pubkey,
103 pub output_mint: Pubkey,
104 pub amount_in: u64,
105 pub amount_out: u64,
106 pub protocol_fee: u64,
107 pub final_active_bin_id: i32,
109 pub referrer: Option<Pubkey>,
110}
111
112#[event]
113pub struct DlmmPositionBurned {
114 pub position_address: Pubkey,
115 pub owner: Pubkey,
116}
117
118#[event]
119pub struct DlmmParametersUpdated {
120 pub list: ParameterList,
121 pub action: ParameterAction,
122 pub bin_step: u16,
123 pub fee_rate: u16,
124}
125
126#[event]
127pub struct DlmmLiquidityModified {
128 pub owner: Pubkey,
129 pub pool_address: Pubkey,
130 pub old_position_address: Pubkey,
131 pub new_position_address: Pubkey,
132 pub liquidity_to_move: u128,
133 pub surplus_a_out: u64,
134 pub surplus_b_out: u64,
135}