pyth_solana_receiver_sdk/cpi/
accounts.rs1#![allow(clippy::vec_init_then_push)]
2
3pub struct PostUpdateAtomic<'info> {
6 pub payer: anchor_lang::solana_program::account_info::AccountInfo<'info>,
7 pub guardian_set: anchor_lang::solana_program::account_info::AccountInfo<'info>,
9 pub config: anchor_lang::solana_program::account_info::AccountInfo<'info>,
10 pub treasury: anchor_lang::solana_program::account_info::AccountInfo<'info>,
11 pub price_update_account: anchor_lang::solana_program::account_info::AccountInfo<'info>,
14 pub system_program: anchor_lang::solana_program::account_info::AccountInfo<'info>,
15 pub write_authority: anchor_lang::solana_program::account_info::AccountInfo<'info>,
16}
17#[automatically_derived]
18impl<'info> anchor_lang::ToAccountMetas for PostUpdateAtomic<'info> {
19 fn to_account_metas(
20 &self,
21 is_signer: Option<bool>,
22 ) -> Vec<anchor_lang::solana_program::instruction::AccountMeta> {
23 let mut account_metas = vec![];
24 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
25 anchor_lang::Key::key(&self.payer),
26 true,
27 ));
28 account_metas.push(
29 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
30 anchor_lang::Key::key(&self.guardian_set),
31 false,
32 ),
33 );
34 account_metas.push(
35 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
36 anchor_lang::Key::key(&self.config),
37 false,
38 ),
39 );
40 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
41 anchor_lang::Key::key(&self.treasury),
42 false,
43 ));
44 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
45 anchor_lang::Key::key(&self.price_update_account),
46 true,
47 ));
48 account_metas.push(
49 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
50 anchor_lang::Key::key(&self.system_program),
51 false,
52 ),
53 );
54 account_metas.push(
55 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
56 anchor_lang::Key::key(&self.write_authority),
57 true,
58 ),
59 );
60 account_metas
61 }
62}
63#[automatically_derived]
64impl<'info> anchor_lang::ToAccountInfos<'info> for PostUpdateAtomic<'info> {
65 fn to_account_infos(
66 &self,
67 ) -> Vec<anchor_lang::solana_program::account_info::AccountInfo<'info>> {
68 let mut account_infos = vec![];
69 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.payer));
70 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
71 &self.guardian_set,
72 ));
73 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.config));
74 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
75 &self.treasury,
76 ));
77 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
78 &self.price_update_account,
79 ));
80 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
81 &self.system_program,
82 ));
83 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
84 &self.write_authority,
85 ));
86 account_infos
87 }
88}
89
90pub struct PostUpdate<'info> {
91 pub payer: anchor_lang::solana_program::account_info::AccountInfo<'info>,
92 pub encoded_vaa: anchor_lang::solana_program::account_info::AccountInfo<'info>,
93 pub config: anchor_lang::solana_program::account_info::AccountInfo<'info>,
94 pub treasury: anchor_lang::solana_program::account_info::AccountInfo<'info>,
95 pub price_update_account: anchor_lang::solana_program::account_info::AccountInfo<'info>,
98 pub system_program: anchor_lang::solana_program::account_info::AccountInfo<'info>,
99 pub write_authority: anchor_lang::solana_program::account_info::AccountInfo<'info>,
100}
101#[automatically_derived]
102impl<'info> anchor_lang::ToAccountMetas for PostUpdate<'info> {
103 fn to_account_metas(
104 &self,
105 is_signer: Option<bool>,
106 ) -> Vec<anchor_lang::solana_program::instruction::AccountMeta> {
107 let mut account_metas = vec![];
108 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
109 anchor_lang::Key::key(&self.payer),
110 true,
111 ));
112 account_metas.push(
113 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
114 anchor_lang::Key::key(&self.encoded_vaa),
115 false,
116 ),
117 );
118 account_metas.push(
119 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
120 anchor_lang::Key::key(&self.config),
121 false,
122 ),
123 );
124 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
125 anchor_lang::Key::key(&self.treasury),
126 false,
127 ));
128 account_metas.push(anchor_lang::solana_program::instruction::AccountMeta::new(
129 anchor_lang::Key::key(&self.price_update_account),
130 true,
131 ));
132 account_metas.push(
133 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
134 anchor_lang::Key::key(&self.system_program),
135 false,
136 ),
137 );
138 account_metas.push(
139 anchor_lang::solana_program::instruction::AccountMeta::new_readonly(
140 anchor_lang::Key::key(&self.write_authority),
141 true,
142 ),
143 );
144 account_metas
145 }
146}
147#[automatically_derived]
148impl<'info> anchor_lang::ToAccountInfos<'info> for PostUpdate<'info> {
149 fn to_account_infos(
150 &self,
151 ) -> Vec<anchor_lang::solana_program::account_info::AccountInfo<'info>> {
152 let mut account_infos = vec![];
153 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.payer));
154 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
155 &self.encoded_vaa,
156 ));
157 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(&self.config));
158 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
159 &self.treasury,
160 ));
161 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
162 &self.price_update_account,
163 ));
164 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
165 &self.system_program,
166 ));
167 account_infos.extend(anchor_lang::ToAccountInfos::to_account_infos(
168 &self.write_authority,
169 ));
170 account_infos
171 }
172}