solana_central/protocol_idls/
raydium.rs1use borsh::BorshDeserialize;
7use solana_sdk::pubkey::Pubkey;
8
9#[derive(BorshDeserialize)]
10pub struct AmmV4PoolInfoIdl {
11 status: u64,
12 nonce: u64,
13 max_order: u64,
14 depth: u64,
15 pub base_decimal: u64,
16 pub quote_decimal: u64,
17 state: u64,
18 reset_flag: u64,
19 min_size: u64,
20 vol_max_cut_ratio: u64,
21 amount_wave_ratio: u64,
22 base_lot_size: u64,
23 quote_lot_size: u64,
24 min_price_multiplier: u64,
25 max_price_multiplier: u64,
26 system_decimal_value: u64,
27 min_separate_numerator: u64,
28 min_separate_denominator: u64,
29 trade_fee_numerator: u64,
30 trade_fee_denominator: u64,
31 pnl_numerator: u64,
32 pnl_denominator: u64,
33 pub swap_fee_numerator: u64,
34 pub swap_fee_denominator: u64,
35 base_need_take_pnl: u64,
36 quote_need_take_pnl: u64,
37 quote_total_pnl: u64,
38 base_total_pnl: u64,
39 pool_open_time: u64,
40 punish_pc_amount: u64,
41 punish_coin_amount: u64,
42 orderbook_to_init_time: u64,
43 swap_base_in_amount: u128,
44 swap_quote_out_amount: u128,
45 swap_base2quote_fee: u64,
46 swap_quote_in_amount: u128,
47 swap_base_out_amount: u128,
48 swap_quote2base_fee: u64,
49 pub base_vault: Pubkey,
51 pub quote_vault: Pubkey,
52 pub base_mint: Pubkey,
54 pub quote_mint: Pubkey,
55 lp_mint: Pubkey,
56 open_orders: Pubkey,
58 market_id: Pubkey,
59 market_program_id: Pubkey,
60 target_orders: Pubkey,
61 withdraw_queue: Pubkey,
62 lp_vault: Pubkey,
63 owner: Pubkey,
64 lp_reserve: u64,
65 padding: [u64; 3],
66}
67
68#[derive(BorshDeserialize)]
74pub struct CpmmPoolConfigIdl {
75 pub discriminator: [u8; 8],
77 pub bump: u8,
79 pub disable_create_pool: bool,
81 pub index: u16,
83 pub trade_fee_rate: u64,
85 pub protocol_fee_rate: u64,
87 pub fund_fee_rate: u64,
89 pub create_pool_fee: u64,
91 pub protocol_owner: Pubkey,
93 pub fund_owner: Pubkey,
95 pub extra: [u64; 16],
97}
98
99#[derive(BorshDeserialize)]
105pub struct CpmmPoolInfoIdl {
106 pub discriminator: [u8; 8],
107 pub amm_config: Pubkey,
109 pub pool_creator: Pubkey,
111 pub token_0_vault: Pubkey,
113 pub token_1_vault: Pubkey,
115
116 pub lp_mint: Pubkey,
119 pub token_0_mint: Pubkey,
121 pub token_1_mint: Pubkey,
123
124 pub token_0_program: Pubkey,
126 pub token_1_program: Pubkey,
128
129 pub observation_key: Pubkey,
131
132 pub auth_bump: u8,
133 pub status: u8,
138
139 pub lp_mint_decimals: u8,
140 pub mint_0_decimals: u8,
142 pub mint_1_decimals: u8,
143
144 pub lp_supply: u64,
146 pub protocol_fees_token_0: u64,
148 pub protocol_fees_token_1: u64,
149
150 pub fund_fees_token_0: u64,
151 pub fund_fees_token_1: u64,
152
153 pub open_time: u64,
155 pub recent_epoch: u64,
157
158 pub creator_fee_on: u8,
163 pub enable_creator_fee: bool,
164 pub padding1: [u8; 6],
165 pub creator_fees_token_0: u64,
166 pub creator_fees_token_1: u64,
167 pub padding: [u64; 28],
169}
170
171#[derive(BorshDeserialize)]
172pub struct LaunchpadPoolIdl {
173 discriminator: [u8; 8],
174 pub epoch: u64,
175 pub auth_bump: u8,
176 pub status: u8,
177 pub base_decimals: u8,
178 pub quote_decimals: u8,
179 pub migrate_type: u8,
180 pub supply: u64,
181 pub total_base_sell: u64,
182 pub virtual_base: u64,
183 pub virtual_quote: u64,
184 pub real_base: u64,
185 pub real_quote: u64,
186 pub total_quote_fund_raising: u64,
187 pub quote_protocol_fee: u64,
188 pub platform_fee: u64,
190 pub migrate_fee: u64,
191 pub vesting_schedule: [u64; 5],
192 pub global_config: Pubkey,
193 pub platform_config: Pubkey,
194 pub base_mint: Pubkey,
195 pub quote_mint: Pubkey,
196 pub base_vault: Pubkey,
197 pub quote_vault: Pubkey,
198 pub creator: Pubkey,
199 padding: [u8; 64],
200}
201
202#[derive(BorshDeserialize)]
203pub struct LaunchpadTradeEventIdl {
204 discriminator: [u8; 16],
205 pub pool_state: Pubkey,
206 pub total_base_sell: u64,
207 pub virtual_base: u64,
208 pub virtual_quote: u64,
209 pub real_base_before: u64,
210 pub real_quote_before: u64,
211 pub real_base_after: u64,
212 pub real_quote_after: u64,
213 pub amount_in: u64,
214 pub amount_out: u64,
215 pub protocol_fee: u64,
216 pub platform_fee: u64,
217 pub creator_fee: u64,
218 pub share_fee: u64,
219 pub trade_direction: u8,
221 pub pool_status: u8,
222 pub exact_in: bool,
223}
224
225
226#[derive(BorshDeserialize)]
227pub struct CpmmInitializeInstructionDataIdl {
228 discriminator: [u8; 8],
229 pub init_amount_0: u64,
230 pub init_amount_1: u64,
231 pub open_time: u64,
232}
233
234#[derive(BorshDeserialize)]
235pub struct AmmV4Initialize2InstructionDataIdl {
236 pub discriminator: u8,
237 pub nonce: u8,
238 pub open_time: u64,
239 pub init_pc_amount: u64,
240 pub init_coin_amount: u64,
241}