carbon_token_program_decoder/instructions/
initialize_immutable_owner.rs

1use carbon_core::{borsh, CarbonDeserialize};
2#[derive(
3    CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
4)]
5#[carbon(discriminator = "0x16")]
6pub struct InitializeImmutableOwner {}
7
8pub struct InitializeImmutableOwnerAccounts {
9    pub account: solana_pubkey::Pubkey,
10}
11
12impl carbon_core::deserialize::ArrangeAccounts for InitializeImmutableOwner {
13    type ArrangedAccounts = InitializeImmutableOwnerAccounts;
14
15    fn arrange_accounts(
16        accounts: &[solana_instruction::AccountMeta],
17    ) -> Option<Self::ArrangedAccounts> {
18        let account = accounts.first()?;
19
20        Some(InitializeImmutableOwnerAccounts {
21            account: account.pubkey,
22        })
23    }
24}