pyth_solana_receiver_sdk/cpi/
accounts.rs#![allow(clippy::vec_init_then_push)]
pub struct PostUpdateAtomic<'info> {
pub payer: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub guardian_set: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub config: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub treasury: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub price_update_account: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub system_program: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub write_authority: anchor_lang::solana_program::account_info::AccountInfo<'info>,
}
#[automatically_derived]
impl<'info> anchor_lang::ToAccountMetas for PostUpdateAtomic<'info> {
fn to_account_metas(
&self,
is_signer: Option<bool>,
) -> Vec<anchor_lang::solana_program::instruction::AccountMeta> {
let mut account_metas = vec![];
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.payer),
true,
));
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.guardian_set),
false,
),
);
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.config),
false,
),
);
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.treasury),
false,
));
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.price_update_account),
true,
));
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.system_program),
false,
),
);
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.write_authority),
true,
),
);
account_metas
}
}
#[automatically_derived]
impl<'info> anchor_lang::ToAccountInfos<'info> for PostUpdateAtomic<'info> {
fn to_account_infos(
&self,
) -> Vec<anchor_lang::solana_program::account_info::AccountInfo<'info>> {
let mut account_infos = vec![];
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.payer));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.guardian_set,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.config));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.treasury,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.price_update_account,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.system_program,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.write_authority,
));
account_infos
}
}
pub struct PostUpdate<'info> {
pub payer: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub encoded_vaa: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub config: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub treasury: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub price_update_account: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub system_program: anchor_lang::solana_program::account_info::AccountInfo<'info>,
pub write_authority: anchor_lang::solana_program::account_info::AccountInfo<'info>,
}
#[automatically_derived]
impl<'info> anchor_lang::ToAccountMetas for PostUpdate<'info> {
fn to_account_metas(
&self,
is_signer: Option<bool>,
) -> Vec<anchor_lang::solana_program::instruction::AccountMeta> {
let mut account_metas = vec![];
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.payer),
true,
));
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.encoded_vaa),
false,
),
);
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.config),
false,
),
);
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.treasury),
false,
));
account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
anchor_lang::Key::key(&self.price_update_account),
true,
));
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.system_program),
false,
),
);
account_metas.push(
anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
anchor_lang::Key::key(&self.write_authority),
true,
),
);
account_metas
}
}
#[automatically_derived]
impl<'info> anchor_lang::ToAccountInfos<'info> for PostUpdate<'info> {
fn to_account_infos(
&self,
) -> Vec<anchor_lang::solana_program::account_info::AccountInfo<'info>> {
let mut account_infos = vec![];
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.payer));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.encoded_vaa,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.config));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.treasury,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.price_update_account,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.system_program,
));
account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
&self.write_authority,
));
account_infos
}
}