carbon_virtual_curve_decoder/instructions/
create_claim_fee_operator.rs1use carbon_core::{borsh, CarbonDeserialize};
2
3#[derive(
4 CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
5)]
6#[carbon(discriminator = "0xa93ecf6b3abba26d")]
7pub struct CreateClaimFeeOperator {}
8
9#[derive(Debug, PartialEq, Eq, Clone, Hash, serde::Serialize, serde::Deserialize)]
10pub struct CreateClaimFeeOperatorInstructionAccounts {
11 pub claim_fee_operator: solana_pubkey::Pubkey,
12 pub operator: solana_pubkey::Pubkey,
13 pub admin: solana_pubkey::Pubkey,
14 pub system_program: solana_pubkey::Pubkey,
15 pub event_authority: solana_pubkey::Pubkey,
16 pub program: solana_pubkey::Pubkey,
17}
18
19impl carbon_core::deserialize::ArrangeAccounts for CreateClaimFeeOperator {
20 type ArrangedAccounts = CreateClaimFeeOperatorInstructionAccounts;
21
22 fn arrange_accounts(
23 accounts: &[solana_instruction::AccountMeta],
24 ) -> Option<Self::ArrangedAccounts> {
25 let [claim_fee_operator, operator, admin, system_program, event_authority, program, _remaining @ ..] =
26 accounts
27 else {
28 return None;
29 };
30
31 Some(CreateClaimFeeOperatorInstructionAccounts {
32 claim_fee_operator: claim_fee_operator.pubkey,
33 operator: operator.pubkey,
34 admin: admin.pubkey,
35 system_program: system_program.pubkey,
36 event_authority: event_authority.pubkey,
37 program: program.pubkey,
38 })
39 }
40}