carbon_meteora_pools_decoder/instructions/
create_config.rs1use super::super::types::*;
2
3use carbon_core::{borsh, CarbonDeserialize};
4
5#[derive(
6 CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
7)]
8#[carbon(discriminator = "0xc9cff3724b6f2fbd")]
9pub struct CreateConfig {
10 pub config_parameters: ConfigParameters,
11}
12
13pub struct CreateConfigInstructionAccounts {
14 pub config: solana_pubkey::Pubkey,
15 pub admin: solana_pubkey::Pubkey,
16 pub system_program: solana_pubkey::Pubkey,
17}
18
19impl carbon_core::deserialize::ArrangeAccounts for CreateConfig {
20 type ArrangedAccounts = CreateConfigInstructionAccounts;
21
22 fn arrange_accounts(
23 accounts: &[solana_instruction::AccountMeta],
24 ) -> Option<Self::ArrangedAccounts> {
25 let [config, admin, system_program, _remaining @ ..] = accounts else {
26 return None;
27 };
28
29 Some(CreateConfigInstructionAccounts {
30 config: config.pubkey,
31 admin: admin.pubkey,
32 system_program: system_program.pubkey,
33 })
34 }
35}