carbon_token_program_decoder/instructions/
sync_native.rs

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