carbon_wavebreak_decoder/instructions/
mint_config_update.rs1use super::super::types::*;
2
3use carbon_core::{account_utils::next_account, borsh, CarbonDeserialize};
4
5#[derive(
6 CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
7)]
8#[carbon(discriminator = "0x1a")]
9pub struct MintConfigUpdate {
10 pub update: MintConfigUpdateType,
11}
12
13#[derive(Debug, PartialEq, Eq, Clone, Hash, serde::Serialize, serde::Deserialize)]
14pub struct MintConfigUpdateInstructionAccounts {
15 pub authority: solana_pubkey::Pubkey,
16 pub mint_config: solana_pubkey::Pubkey,
17 pub authority_config: solana_pubkey::Pubkey,
18}
19
20impl carbon_core::deserialize::ArrangeAccounts for MintConfigUpdate {
21 type ArrangedAccounts = MintConfigUpdateInstructionAccounts;
22
23 fn arrange_accounts(
24 accounts: &[solana_instruction::AccountMeta],
25 ) -> Option<Self::ArrangedAccounts> {
26 let mut iter = accounts.iter();
27 let authority = next_account(&mut iter)?;
28 let mint_config = next_account(&mut iter)?;
29 let authority_config = next_account(&mut iter)?;
30
31 Some(MintConfigUpdateInstructionAccounts {
32 authority,
33 mint_config,
34 authority_config,
35 })
36 }
37}