carbon_virtual_curve_decoder/instructions/
initialize_virtual_pool_with_token2022.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 = "0xa976334e916edc9b")]
9pub struct InitializeVirtualPoolWithToken2022 {
10 pub params: InitializePoolParameters,
11}
12
13#[derive(Debug, PartialEq, Eq, Clone, Hash, serde::Serialize, serde::Deserialize)]
14pub struct InitializeVirtualPoolWithToken2022InstructionAccounts {
15 pub config: solana_pubkey::Pubkey,
16 pub pool_authority: solana_pubkey::Pubkey,
17 pub creator: solana_pubkey::Pubkey,
18 pub base_mint: solana_pubkey::Pubkey,
19 pub quote_mint: solana_pubkey::Pubkey,
20 pub pool: solana_pubkey::Pubkey,
21 pub base_vault: solana_pubkey::Pubkey,
22 pub quote_vault: solana_pubkey::Pubkey,
23 pub payer: solana_pubkey::Pubkey,
24 pub token_quote_program: solana_pubkey::Pubkey,
25 pub token_program: solana_pubkey::Pubkey,
26 pub system_program: solana_pubkey::Pubkey,
27 pub event_authority: solana_pubkey::Pubkey,
28 pub program: solana_pubkey::Pubkey,
29}
30
31impl carbon_core::deserialize::ArrangeAccounts for InitializeVirtualPoolWithToken2022 {
32 type ArrangedAccounts = InitializeVirtualPoolWithToken2022InstructionAccounts;
33
34 fn arrange_accounts(
35 accounts: &[solana_instruction::AccountMeta],
36 ) -> Option<Self::ArrangedAccounts> {
37 let [config, pool_authority, creator, base_mint, quote_mint, pool, base_vault, quote_vault, payer, token_quote_program, token_program, system_program, event_authority, program, _remaining @ ..] =
38 accounts
39 else {
40 return None;
41 };
42
43 Some(InitializeVirtualPoolWithToken2022InstructionAccounts {
44 config: config.pubkey,
45 pool_authority: pool_authority.pubkey,
46 creator: creator.pubkey,
47 base_mint: base_mint.pubkey,
48 quote_mint: quote_mint.pubkey,
49 pool: pool.pubkey,
50 base_vault: base_vault.pubkey,
51 quote_vault: quote_vault.pubkey,
52 payer: payer.pubkey,
53 token_quote_program: token_quote_program.pubkey,
54 token_program: token_program.pubkey,
55 system_program: system_program.pubkey,
56 event_authority: event_authority.pubkey,
57 program: program.pubkey,
58 })
59 }
60}