Skip to main content

carbon_boop_decoder/instructions/
mod.rs

1//! This code was AUTOGENERATED using the Codama library.
2use crate::{BoopDecoder, PROGRAM_ID};
3
4#[cfg(feature = "postgres")]
5pub mod postgres;
6
7#[cfg(feature = "graphql")]
8pub mod graphql;
9
10pub mod add_operators;
11pub mod buy_token;
12pub mod cancel_authority_transfer;
13pub mod close_bonding_curve_vault;
14pub mod collect_meteora_trading_fees;
15pub mod collect_meteora_trading_fees_v2;
16pub mod collect_trading_fees;
17pub mod collect_trading_fees_v2;
18pub mod complete_authority_transfer;
19pub mod cpi_event;
20pub mod create_meteora_pool;
21pub mod create_raydium_pool;
22pub mod create_raydium_random_pool;
23pub mod create_token;
24pub mod create_token_fallback;
25pub mod deploy_bonding_curve;
26pub mod deploy_bonding_curve_fallback;
27pub mod deposit_into_raydium;
28pub mod graduate;
29pub mod initialize;
30pub mod initiate_authority_transfer;
31pub mod lock_raydium_liquidity;
32pub mod remove_operators;
33pub mod sell_token;
34pub mod split_post_graduation_trading_fees;
35pub mod split_trading_fees;
36pub mod swap_sol_for_tokens_on_raydium;
37pub mod swap_tokens_for_sol_on_raydium;
38pub mod toggle_paused;
39pub mod update_config;
40
41pub use self::{
42    add_operators::*, buy_token::*, cancel_authority_transfer::*, close_bonding_curve_vault::*,
43    collect_meteora_trading_fees::*, collect_meteora_trading_fees_v2::*, collect_trading_fees::*,
44    collect_trading_fees_v2::*, complete_authority_transfer::*, cpi_event::*,
45    create_meteora_pool::*, create_raydium_pool::*, create_raydium_random_pool::*, create_token::*,
46    create_token_fallback::*, deploy_bonding_curve::*, deploy_bonding_curve_fallback::*,
47    deposit_into_raydium::*, graduate::*, initialize::*, initiate_authority_transfer::*,
48    lock_raydium_liquidity::*, remove_operators::*, sell_token::*,
49    split_post_graduation_trading_fees::*, split_trading_fees::*,
50    swap_sol_for_tokens_on_raydium::*, swap_tokens_for_sol_on_raydium::*, toggle_paused::*,
51    update_config::*,
52};
53
54#[derive(Debug, Clone, PartialEq)]
55#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
56#[cfg_attr(feature = "serde", serde(tag = "type", content = "data"))]
57pub enum BoopInstruction {
58    AddOperators {
59        program_id: solana_pubkey::Pubkey,
60        data: AddOperators,
61        accounts: AddOperatorsInstructionAccounts,
62    },
63    BuyToken {
64        program_id: solana_pubkey::Pubkey,
65        data: BuyToken,
66        accounts: BuyTokenInstructionAccounts,
67    },
68    CancelAuthorityTransfer {
69        program_id: solana_pubkey::Pubkey,
70        data: CancelAuthorityTransfer,
71        accounts: CancelAuthorityTransferInstructionAccounts,
72    },
73    CloseBondingCurveVault {
74        program_id: solana_pubkey::Pubkey,
75        data: CloseBondingCurveVault,
76        accounts: CloseBondingCurveVaultInstructionAccounts,
77    },
78    CollectMeteoraTradingFees {
79        program_id: solana_pubkey::Pubkey,
80        data: CollectMeteoraTradingFees,
81        accounts: CollectMeteoraTradingFeesInstructionAccounts,
82    },
83    CollectMeteoraTradingFeesV2 {
84        program_id: solana_pubkey::Pubkey,
85        data: CollectMeteoraTradingFeesV2,
86        accounts: CollectMeteoraTradingFeesV2InstructionAccounts,
87    },
88    CollectTradingFees {
89        program_id: solana_pubkey::Pubkey,
90        data: CollectTradingFees,
91        accounts: CollectTradingFeesInstructionAccounts,
92    },
93    CollectTradingFeesV2 {
94        program_id: solana_pubkey::Pubkey,
95        data: CollectTradingFeesV2,
96        accounts: CollectTradingFeesV2InstructionAccounts,
97    },
98    CompleteAuthorityTransfer {
99        program_id: solana_pubkey::Pubkey,
100        data: CompleteAuthorityTransfer,
101        accounts: CompleteAuthorityTransferInstructionAccounts,
102    },
103    CreateMeteoraPool {
104        program_id: solana_pubkey::Pubkey,
105        data: CreateMeteoraPool,
106        accounts: CreateMeteoraPoolInstructionAccounts,
107    },
108    CreateRaydiumPool {
109        program_id: solana_pubkey::Pubkey,
110        data: CreateRaydiumPool,
111        accounts: CreateRaydiumPoolInstructionAccounts,
112    },
113    CreateRaydiumRandomPool {
114        program_id: solana_pubkey::Pubkey,
115        data: CreateRaydiumRandomPool,
116        accounts: CreateRaydiumRandomPoolInstructionAccounts,
117    },
118    CreateToken {
119        program_id: solana_pubkey::Pubkey,
120        data: CreateToken,
121        accounts: CreateTokenInstructionAccounts,
122    },
123    CreateTokenFallback {
124        program_id: solana_pubkey::Pubkey,
125        data: CreateTokenFallback,
126        accounts: CreateTokenFallbackInstructionAccounts,
127    },
128    DeployBondingCurve {
129        program_id: solana_pubkey::Pubkey,
130        data: DeployBondingCurve,
131        accounts: DeployBondingCurveInstructionAccounts,
132    },
133    DeployBondingCurveFallback {
134        program_id: solana_pubkey::Pubkey,
135        data: DeployBondingCurveFallback,
136        accounts: DeployBondingCurveFallbackInstructionAccounts,
137    },
138    DepositIntoRaydium {
139        program_id: solana_pubkey::Pubkey,
140        data: DepositIntoRaydium,
141        accounts: DepositIntoRaydiumInstructionAccounts,
142    },
143    Graduate {
144        program_id: solana_pubkey::Pubkey,
145        data: Graduate,
146        accounts: GraduateInstructionAccounts,
147    },
148    Initialize {
149        program_id: solana_pubkey::Pubkey,
150        data: Initialize,
151        accounts: InitializeInstructionAccounts,
152    },
153    InitiateAuthorityTransfer {
154        program_id: solana_pubkey::Pubkey,
155        data: InitiateAuthorityTransfer,
156        accounts: InitiateAuthorityTransferInstructionAccounts,
157    },
158    LockRaydiumLiquidity {
159        program_id: solana_pubkey::Pubkey,
160        data: LockRaydiumLiquidity,
161        accounts: LockRaydiumLiquidityInstructionAccounts,
162    },
163    RemoveOperators {
164        program_id: solana_pubkey::Pubkey,
165        data: RemoveOperators,
166        accounts: RemoveOperatorsInstructionAccounts,
167    },
168    SellToken {
169        program_id: solana_pubkey::Pubkey,
170        data: SellToken,
171        accounts: SellTokenInstructionAccounts,
172    },
173    SplitPostGraduationTradingFees {
174        program_id: solana_pubkey::Pubkey,
175        data: SplitPostGraduationTradingFees,
176        accounts: SplitPostGraduationTradingFeesInstructionAccounts,
177    },
178    SplitTradingFees {
179        program_id: solana_pubkey::Pubkey,
180        data: SplitTradingFees,
181        accounts: SplitTradingFeesInstructionAccounts,
182    },
183    SwapSolForTokensOnRaydium {
184        program_id: solana_pubkey::Pubkey,
185        data: SwapSolForTokensOnRaydium,
186        accounts: SwapSolForTokensOnRaydiumInstructionAccounts,
187    },
188    SwapTokensForSolOnRaydium {
189        program_id: solana_pubkey::Pubkey,
190        data: SwapTokensForSolOnRaydium,
191        accounts: SwapTokensForSolOnRaydiumInstructionAccounts,
192    },
193    TogglePaused {
194        program_id: solana_pubkey::Pubkey,
195        data: TogglePaused,
196        accounts: TogglePausedInstructionAccounts,
197    },
198    UpdateConfig {
199        program_id: solana_pubkey::Pubkey,
200        data: UpdateConfig,
201        accounts: UpdateConfigInstructionAccounts,
202    },
203    CpiEvent {
204        program_id: solana_pubkey::Pubkey,
205        data: CpiEvent,
206        accounts: CpiEventInstructionAccounts,
207    },
208}
209
210impl carbon_core::instruction::InstructionDecoder<'_> for BoopDecoder {
211    type InstructionType = BoopInstruction;
212
213    fn decode_instruction(
214        &self,
215        instruction: &solana_instruction::Instruction,
216    ) -> Option<Self::InstructionType> {
217        if instruction.program_id != PROGRAM_ID {
218            return None;
219        }
220
221        carbon_core::try_decode_instructions!(
222            instruction,
223            PROGRAM_ID,
224            BoopInstruction::AddOperators => AddOperators,
225            BoopInstruction::BuyToken => BuyToken,
226            BoopInstruction::CancelAuthorityTransfer => CancelAuthorityTransfer,
227            BoopInstruction::CloseBondingCurveVault => CloseBondingCurveVault,
228            BoopInstruction::CollectMeteoraTradingFees => CollectMeteoraTradingFees,
229            BoopInstruction::CollectMeteoraTradingFeesV2 => CollectMeteoraTradingFeesV2,
230            BoopInstruction::CollectTradingFees => CollectTradingFees,
231            BoopInstruction::CollectTradingFeesV2 => CollectTradingFeesV2,
232            BoopInstruction::CompleteAuthorityTransfer => CompleteAuthorityTransfer,
233            BoopInstruction::CreateMeteoraPool => CreateMeteoraPool,
234            BoopInstruction::CreateRaydiumPool => CreateRaydiumPool,
235            BoopInstruction::CreateRaydiumRandomPool => CreateRaydiumRandomPool,
236            BoopInstruction::CreateToken => CreateToken,
237            BoopInstruction::CreateTokenFallback => CreateTokenFallback,
238            BoopInstruction::DeployBondingCurve => DeployBondingCurve,
239            BoopInstruction::DeployBondingCurveFallback => DeployBondingCurveFallback,
240            BoopInstruction::DepositIntoRaydium => DepositIntoRaydium,
241            BoopInstruction::Graduate => Graduate,
242            BoopInstruction::Initialize => Initialize,
243            BoopInstruction::InitiateAuthorityTransfer => InitiateAuthorityTransfer,
244            BoopInstruction::LockRaydiumLiquidity => LockRaydiumLiquidity,
245            BoopInstruction::RemoveOperators => RemoveOperators,
246            BoopInstruction::SellToken => SellToken,
247            BoopInstruction::SplitPostGraduationTradingFees => SplitPostGraduationTradingFees,
248            BoopInstruction::SplitTradingFees => SplitTradingFees,
249            BoopInstruction::SwapSolForTokensOnRaydium => SwapSolForTokensOnRaydium,
250            BoopInstruction::SwapTokensForSolOnRaydium => SwapTokensForSolOnRaydium,
251            BoopInstruction::TogglePaused => TogglePaused,
252            BoopInstruction::UpdateConfig => UpdateConfig,
253            BoopInstruction::CpiEvent => CpiEvent,
254        )
255    }
256}