carbon_pumpfun_decoder/instructions/
admin_set_creator.rs1use carbon_core::{account_utils::next_account, borsh, CarbonDeserialize};
2
3#[derive(
4 CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
5)]
6#[carbon(discriminator = "0x4519ab8e39ef0d04")]
7pub struct AdminSetCreator {
8 pub creator: solana_pubkey::Pubkey,
9}
10
11#[derive(Debug, PartialEq, Eq, Clone, Hash, serde::Serialize, serde::Deserialize)]
12pub struct AdminSetCreatorInstructionAccounts {
13 pub admin_set_creator_authority: solana_pubkey::Pubkey,
14 pub global: solana_pubkey::Pubkey,
15 pub mint: solana_pubkey::Pubkey,
16 pub bonding_curve: solana_pubkey::Pubkey,
17 pub event_authority: solana_pubkey::Pubkey,
18 pub program: solana_pubkey::Pubkey,
19}
20
21impl carbon_core::deserialize::ArrangeAccounts for AdminSetCreator {
22 type ArrangedAccounts = AdminSetCreatorInstructionAccounts;
23
24 fn arrange_accounts(
25 accounts: &[solana_instruction::AccountMeta],
26 ) -> Option<Self::ArrangedAccounts> {
27 let mut iter = accounts.iter();
28 let admin_set_creator_authority = next_account(&mut iter)?;
29 let global = next_account(&mut iter)?;
30 let mint = next_account(&mut iter)?;
31 let bonding_curve = next_account(&mut iter)?;
32 let event_authority = next_account(&mut iter)?;
33 let program = next_account(&mut iter)?;
34
35 Some(AdminSetCreatorInstructionAccounts {
36 admin_set_creator_authority,
37 global,
38 mint,
39 bonding_curve,
40 event_authority,
41 program,
42 })
43 }
44}