carbon_pumpfun_decoder/instructions/
admin_update_token_incentives.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 = "0xd10b7357d5177ccc")]
7pub struct AdminUpdateTokenIncentives {
8 pub start_time: i64,
9 pub end_time: i64,
10 pub seconds_in_a_day: i64,
11 pub day_number: u64,
12 pub pump_token_supply_per_day: u64,
13}
14
15#[derive(Debug, PartialEq, Eq, Clone, Hash, serde::Serialize, serde::Deserialize)]
16pub struct AdminUpdateTokenIncentivesInstructionAccounts {
17 pub authority: solana_pubkey::Pubkey,
18 pub global: solana_pubkey::Pubkey,
19 pub global_volume_accumulator: solana_pubkey::Pubkey,
20 pub mint: solana_pubkey::Pubkey,
21 pub global_incentive_token_account: solana_pubkey::Pubkey,
22 pub associated_token_program: solana_pubkey::Pubkey,
23 pub system_program: solana_pubkey::Pubkey,
24 pub token_program: solana_pubkey::Pubkey,
25 pub event_authority: solana_pubkey::Pubkey,
26 pub program: solana_pubkey::Pubkey,
27}
28
29impl carbon_core::deserialize::ArrangeAccounts for AdminUpdateTokenIncentives {
30 type ArrangedAccounts = AdminUpdateTokenIncentivesInstructionAccounts;
31
32 fn arrange_accounts(
33 accounts: &[solana_instruction::AccountMeta],
34 ) -> Option<Self::ArrangedAccounts> {
35 let mut iter = accounts.iter();
36 let authority = next_account(&mut iter)?;
37 let global = next_account(&mut iter)?;
38 let global_volume_accumulator = next_account(&mut iter)?;
39 let mint = next_account(&mut iter)?;
40 let global_incentive_token_account = next_account(&mut iter)?;
41 let associated_token_program = next_account(&mut iter)?;
42 let system_program = next_account(&mut iter)?;
43 let token_program = next_account(&mut iter)?;
44 let event_authority = next_account(&mut iter)?;
45 let program = next_account(&mut iter)?;
46
47 Some(AdminUpdateTokenIncentivesInstructionAccounts {
48 authority,
49 global,
50 global_volume_accumulator,
51 mint,
52 global_incentive_token_account,
53 associated_token_program,
54 system_program,
55 token_program,
56 event_authority,
57 program,
58 })
59 }
60}