Skip to main content

carbon_meteora_pools_decoder/instructions/
mod.rs

1//! This code was AUTOGENERATED using the Codama library.
2use crate::{MeteoraPoolsDecoder, PROGRAM_ID};
3
4#[cfg(feature = "postgres")]
5pub mod postgres;
6
7#[cfg(feature = "graphql")]
8pub mod graphql;
9
10pub mod add_balance_liquidity;
11pub mod add_imbalance_liquidity;
12pub mod bootstrap_liquidity;
13pub mod claim_fee;
14pub mod close_config;
15pub mod cpi_event;
16pub mod create_config;
17pub mod create_lock_escrow;
18pub mod create_mint_metadata;
19pub mod enable_or_disable_pool;
20pub mod get_pool_info;
21pub mod initialize_customizable_permissionless_constant_product_pool;
22pub mod initialize_permissioned_pool;
23pub mod initialize_permissionless_constant_product_pool_with_config;
24pub mod initialize_permissionless_constant_product_pool_with_config2;
25pub mod initialize_permissionless_pool;
26pub mod initialize_permissionless_pool_with_fee_tier;
27pub mod lock;
28pub mod override_curve_param;
29pub mod partner_claim_fee;
30pub mod remove_balance_liquidity;
31pub mod remove_liquidity_single_side;
32pub mod set_pool_fees;
33pub mod set_whitelisted_vault;
34pub mod swap;
35pub mod update_activation_point;
36pub mod withdraw_protocol_fees;
37
38pub use self::{
39    add_balance_liquidity::*, add_imbalance_liquidity::*, bootstrap_liquidity::*, claim_fee::*,
40    close_config::*, cpi_event::*, create_config::*, create_lock_escrow::*,
41    create_mint_metadata::*, enable_or_disable_pool::*, get_pool_info::*,
42    initialize_customizable_permissionless_constant_product_pool::*,
43    initialize_permissioned_pool::*,
44    initialize_permissionless_constant_product_pool_with_config::*,
45    initialize_permissionless_constant_product_pool_with_config2::*,
46    initialize_permissionless_pool::*, initialize_permissionless_pool_with_fee_tier::*, lock::*,
47    override_curve_param::*, partner_claim_fee::*, remove_balance_liquidity::*,
48    remove_liquidity_single_side::*, set_pool_fees::*, set_whitelisted_vault::*, swap::*,
49    update_activation_point::*, withdraw_protocol_fees::*,
50};
51
52#[derive(Debug, Clone, PartialEq)]
53#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
54#[cfg_attr(feature = "serde", serde(tag = "type", content = "data"))]
55pub enum MeteoraPoolsInstruction {
56    AddBalanceLiquidity {
57        program_id: solana_pubkey::Pubkey,
58        data: AddBalanceLiquidity,
59        accounts: AddBalanceLiquidityInstructionAccounts,
60    },
61    AddImbalanceLiquidity {
62        program_id: solana_pubkey::Pubkey,
63        data: AddImbalanceLiquidity,
64        accounts: AddImbalanceLiquidityInstructionAccounts,
65    },
66    BootstrapLiquidity {
67        program_id: solana_pubkey::Pubkey,
68        data: BootstrapLiquidity,
69        accounts: BootstrapLiquidityInstructionAccounts,
70    },
71    ClaimFee {
72        program_id: solana_pubkey::Pubkey,
73        data: ClaimFee,
74        accounts: ClaimFeeInstructionAccounts,
75    },
76    CloseConfig {
77        program_id: solana_pubkey::Pubkey,
78        data: CloseConfig,
79        accounts: CloseConfigInstructionAccounts,
80    },
81    CreateConfig {
82        program_id: solana_pubkey::Pubkey,
83        data: CreateConfig,
84        accounts: CreateConfigInstructionAccounts,
85    },
86    CreateLockEscrow {
87        program_id: solana_pubkey::Pubkey,
88        data: CreateLockEscrow,
89        accounts: CreateLockEscrowInstructionAccounts,
90    },
91    CreateMintMetadata {
92        program_id: solana_pubkey::Pubkey,
93        data: CreateMintMetadata,
94        accounts: CreateMintMetadataInstructionAccounts,
95    },
96    EnableOrDisablePool {
97        program_id: solana_pubkey::Pubkey,
98        data: EnableOrDisablePool,
99        accounts: EnableOrDisablePoolInstructionAccounts,
100    },
101    GetPoolInfo {
102        program_id: solana_pubkey::Pubkey,
103        data: GetPoolInfo,
104        accounts: GetPoolInfoInstructionAccounts,
105    },
106    InitializeCustomizablePermissionlessConstantProductPool {
107        program_id: solana_pubkey::Pubkey,
108        data: InitializeCustomizablePermissionlessConstantProductPool,
109        accounts: InitializeCustomizablePermissionlessConstantProductPoolInstructionAccounts,
110    },
111    InitializePermissionedPool {
112        program_id: solana_pubkey::Pubkey,
113        data: InitializePermissionedPool,
114        accounts: InitializePermissionedPoolInstructionAccounts,
115    },
116    InitializePermissionlessConstantProductPoolWithConfig {
117        program_id: solana_pubkey::Pubkey,
118        data: InitializePermissionlessConstantProductPoolWithConfig,
119        accounts: InitializePermissionlessConstantProductPoolWithConfigInstructionAccounts,
120    },
121    InitializePermissionlessConstantProductPoolWithConfig2 {
122        program_id: solana_pubkey::Pubkey,
123        data: InitializePermissionlessConstantProductPoolWithConfig2,
124        accounts: InitializePermissionlessConstantProductPoolWithConfig2InstructionAccounts,
125    },
126    InitializePermissionlessPool {
127        program_id: solana_pubkey::Pubkey,
128        data: InitializePermissionlessPool,
129        accounts: InitializePermissionlessPoolInstructionAccounts,
130    },
131    InitializePermissionlessPoolWithFeeTier {
132        program_id: solana_pubkey::Pubkey,
133        data: InitializePermissionlessPoolWithFeeTier,
134        accounts: InitializePermissionlessPoolWithFeeTierInstructionAccounts,
135    },
136    Lock {
137        program_id: solana_pubkey::Pubkey,
138        data: Lock,
139        accounts: LockInstructionAccounts,
140    },
141    OverrideCurveParam {
142        program_id: solana_pubkey::Pubkey,
143        data: OverrideCurveParam,
144        accounts: OverrideCurveParamInstructionAccounts,
145    },
146    PartnerClaimFee {
147        program_id: solana_pubkey::Pubkey,
148        data: PartnerClaimFee,
149        accounts: PartnerClaimFeeInstructionAccounts,
150    },
151    RemoveBalanceLiquidity {
152        program_id: solana_pubkey::Pubkey,
153        data: RemoveBalanceLiquidity,
154        accounts: RemoveBalanceLiquidityInstructionAccounts,
155    },
156    RemoveLiquiditySingleSide {
157        program_id: solana_pubkey::Pubkey,
158        data: RemoveLiquiditySingleSide,
159        accounts: RemoveLiquiditySingleSideInstructionAccounts,
160    },
161    SetPoolFees {
162        program_id: solana_pubkey::Pubkey,
163        data: SetPoolFees,
164        accounts: SetPoolFeesInstructionAccounts,
165    },
166    SetWhitelistedVault {
167        program_id: solana_pubkey::Pubkey,
168        data: SetWhitelistedVault,
169        accounts: SetWhitelistedVaultInstructionAccounts,
170    },
171    Swap {
172        program_id: solana_pubkey::Pubkey,
173        data: Swap,
174        accounts: SwapInstructionAccounts,
175    },
176    UpdateActivationPoint {
177        program_id: solana_pubkey::Pubkey,
178        data: UpdateActivationPoint,
179        accounts: UpdateActivationPointInstructionAccounts,
180    },
181    WithdrawProtocolFees {
182        program_id: solana_pubkey::Pubkey,
183        data: WithdrawProtocolFees,
184        accounts: WithdrawProtocolFeesInstructionAccounts,
185    },
186    CpiEvent {
187        program_id: solana_pubkey::Pubkey,
188        data: CpiEvent,
189        accounts: CpiEventInstructionAccounts,
190    },
191}
192
193impl carbon_core::instruction::InstructionDecoder<'_> for MeteoraPoolsDecoder {
194    type InstructionType = MeteoraPoolsInstruction;
195
196    fn decode_instruction(
197        &self,
198        instruction: &solana_instruction::Instruction,
199    ) -> Option<Self::InstructionType> {
200        if instruction.program_id != PROGRAM_ID {
201            return None;
202        }
203
204        carbon_core::try_decode_instructions!(
205            instruction,
206            PROGRAM_ID,
207            MeteoraPoolsInstruction::AddBalanceLiquidity => AddBalanceLiquidity,
208            MeteoraPoolsInstruction::AddImbalanceLiquidity => AddImbalanceLiquidity,
209            MeteoraPoolsInstruction::BootstrapLiquidity => BootstrapLiquidity,
210            MeteoraPoolsInstruction::ClaimFee => ClaimFee,
211            MeteoraPoolsInstruction::CloseConfig => CloseConfig,
212            MeteoraPoolsInstruction::CreateConfig => CreateConfig,
213            MeteoraPoolsInstruction::CreateLockEscrow => CreateLockEscrow,
214            MeteoraPoolsInstruction::CreateMintMetadata => CreateMintMetadata,
215            MeteoraPoolsInstruction::EnableOrDisablePool => EnableOrDisablePool,
216            MeteoraPoolsInstruction::GetPoolInfo => GetPoolInfo,
217            MeteoraPoolsInstruction::InitializeCustomizablePermissionlessConstantProductPool => InitializeCustomizablePermissionlessConstantProductPool,
218            MeteoraPoolsInstruction::InitializePermissionedPool => InitializePermissionedPool,
219            MeteoraPoolsInstruction::InitializePermissionlessConstantProductPoolWithConfig => InitializePermissionlessConstantProductPoolWithConfig,
220            MeteoraPoolsInstruction::InitializePermissionlessConstantProductPoolWithConfig2 => InitializePermissionlessConstantProductPoolWithConfig2,
221            MeteoraPoolsInstruction::InitializePermissionlessPool => InitializePermissionlessPool,
222            MeteoraPoolsInstruction::InitializePermissionlessPoolWithFeeTier => InitializePermissionlessPoolWithFeeTier,
223            MeteoraPoolsInstruction::Lock => Lock,
224            MeteoraPoolsInstruction::OverrideCurveParam => OverrideCurveParam,
225            MeteoraPoolsInstruction::PartnerClaimFee => PartnerClaimFee,
226            MeteoraPoolsInstruction::RemoveBalanceLiquidity => RemoveBalanceLiquidity,
227            MeteoraPoolsInstruction::RemoveLiquiditySingleSide => RemoveLiquiditySingleSide,
228            MeteoraPoolsInstruction::SetPoolFees => SetPoolFees,
229            MeteoraPoolsInstruction::SetWhitelistedVault => SetWhitelistedVault,
230            MeteoraPoolsInstruction::Swap => Swap,
231            MeteoraPoolsInstruction::UpdateActivationPoint => UpdateActivationPoint,
232            MeteoraPoolsInstruction::WithdrawProtocolFees => WithdrawProtocolFees,
233            MeteoraPoolsInstruction::CpiEvent => CpiEvent,
234        )
235    }
236}