@@ -22,7 +22,6 @@ use crate::c_oracle_header::{
2222use crate :: deserialize:: {
2323 initialize_pyth_account_checked,
2424 load,
25- load_account_as_mut,
2625 load_checked,
2726} ;
2827use crate :: instruction:: {
@@ -37,7 +36,6 @@ use crate::instruction::{
3736use crate :: time_machine_types:: PriceAccountWrapper ;
3837use crate :: utils:: {
3938 check_exponent_range,
40- check_valid_fresh_account,
4139 check_valid_funding_account,
4240 check_valid_signable_account,
4341 check_valid_writable_account,
@@ -115,7 +113,7 @@ pub fn resize_price_account(
115113 } ?;
116114
117115 check_valid_funding_account ( funding_account_info) ?;
118- check_valid_signable_account ( program_id, price_account_info, size_of :: < PriceAccount > ( ) ) ?;
116+ check_valid_signable_account ( program_id, price_account_info) ?;
119117 pyth_assert (
120118 check_id ( system_program. key ) ,
121119 OracleError :: InvalidSystemAccount . into ( ) ,
@@ -145,11 +143,7 @@ pub fn resize_price_account(
145143 price_account_info. realloc ( size_of :: < PriceAccountWrapper > ( ) , false ) ?;
146144
147145 // Check that everything is ok
148- check_valid_signable_account (
149- program_id,
150- price_account_info,
151- size_of :: < PriceAccountWrapper > ( ) ,
152- ) ?;
146+ check_valid_signable_account ( program_id, price_account_info) ?;
153147 let mut price_account =
154148 load_checked :: < PriceAccountWrapper > ( price_account_info, PC_VERSION ) ?;
155149 // Initialize Time Machine
@@ -176,12 +170,7 @@ pub fn init_mapping(
176170 } ?;
177171
178172 check_valid_funding_account ( funding_account) ?;
179- check_valid_signable_account (
180- program_id,
181- fresh_mapping_account,
182- size_of :: < MappingAccount > ( ) ,
183- ) ?;
184- check_valid_fresh_account ( fresh_mapping_account) ?;
173+ check_valid_signable_account ( program_id, fresh_mapping_account) ?;
185174
186175 // Initialize by setting to zero again (just in case) and populating the account header
187176 let hdr = load :: < CommandHeader > ( instruction_data) ?;
@@ -201,9 +190,8 @@ pub fn add_mapping(
201190 } ?;
202191
203192 check_valid_funding_account ( funding_account) ?;
204- check_valid_signable_account ( program_id, cur_mapping, size_of :: < MappingAccount > ( ) ) ?;
205- check_valid_signable_account ( program_id, next_mapping, size_of :: < MappingAccount > ( ) ) ?;
206- check_valid_fresh_account ( next_mapping) ?;
193+ check_valid_signable_account ( program_id, cur_mapping) ?;
194+ check_valid_signable_account ( program_id, next_mapping) ?;
207195
208196 let hdr = load :: < CommandHeader > ( instruction_data) ?;
209197 let mut cur_mapping = load_checked :: < MappingAccount > ( cur_mapping, hdr. version ) ?;
@@ -240,7 +228,7 @@ pub fn upd_price(
240228 } ?;
241229
242230 check_valid_funding_account ( funding_account) ?;
243- check_valid_writable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
231+ check_valid_writable_account ( program_id, price_account) ?;
244232 // Check clock
245233 let clock = Clock :: from_account_info ( clock_account) ?;
246234
@@ -291,7 +279,8 @@ pub fn upd_price(
291279
292280 let account_len = price_account. try_data_len ( ) ?;
293281 if aggregate_updated && account_len == PRICE_ACCOUNT_SIZE {
294- let mut price_account = load_account_as_mut :: < PriceAccountWrapper > ( price_account) ?;
282+ let mut price_account =
283+ load_checked :: < PriceAccountWrapper > ( price_account, cmd_args. header . version ) ?;
295284 price_account. add_price_to_time_machine ( ) ?;
296285 }
297286
@@ -358,9 +347,8 @@ pub fn add_price(
358347 } ?;
359348
360349 check_valid_funding_account ( funding_account) ?;
361- check_valid_signable_account ( program_id, product_account, PC_PROD_ACC_SIZE as usize ) ?;
362- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
363- check_valid_fresh_account ( price_account) ?;
350+ check_valid_signable_account ( program_id, product_account) ?;
351+ check_valid_signable_account ( program_id, price_account) ?;
364352
365353 let mut product_data =
366354 load_checked :: < ProductAccount > ( product_account, cmd_args. header . version ) ?;
@@ -403,8 +391,8 @@ pub fn del_price(
403391 } ?;
404392
405393 check_valid_funding_account ( funding_account) ?;
406- check_valid_signable_account ( program_id, product_account, PC_PROD_ACC_SIZE as usize ) ?;
407- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
394+ check_valid_signable_account ( program_id, product_account) ?;
395+ check_valid_signable_account ( program_id, price_account) ?;
408396
409397 {
410398 let cmd_args = load :: < CommandHeader > ( instruction_data) ?;
@@ -454,7 +442,7 @@ pub fn init_price(
454442 } ?;
455443
456444 check_valid_funding_account ( funding_account) ?;
457- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
445+ check_valid_signable_account ( program_id, price_account) ?;
458446
459447 let mut price_data = load_checked :: < PriceAccount > ( price_account, cmd_args. header . version ) ?;
460448 pyth_assert (
@@ -524,7 +512,7 @@ pub fn add_publisher(
524512 } ?;
525513
526514 check_valid_funding_account ( funding_account) ?;
527- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
515+ check_valid_signable_account ( program_id, price_account) ?;
528516
529517 let mut price_data = load_checked :: < PriceAccount > ( price_account, cmd_args. header . version ) ?;
530518
@@ -577,7 +565,7 @@ pub fn del_publisher(
577565 } ?;
578566
579567 check_valid_funding_account ( funding_account) ?;
580- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
568+ check_valid_signable_account ( program_id, price_account) ?;
581569
582570 let mut price_data = load_checked :: < PriceAccount > ( price_account, cmd_args. header . version ) ?;
583571
@@ -613,13 +601,8 @@ pub fn add_product(
613601 } ?;
614602
615603 check_valid_funding_account ( funding_account) ?;
616- check_valid_signable_account (
617- program_id,
618- tail_mapping_account,
619- size_of :: < MappingAccount > ( ) ,
620- ) ?;
621- check_valid_signable_account ( program_id, new_product_account, PC_PROD_ACC_SIZE as usize ) ?;
622- check_valid_fresh_account ( new_product_account) ?;
604+ check_valid_signable_account ( program_id, tail_mapping_account) ?;
605+ check_valid_signable_account ( program_id, new_product_account) ?;
623606
624607 let hdr = load :: < CommandHeader > ( instruction_data) ?;
625608 let mut mapping_data = load_checked :: < MappingAccount > ( tail_mapping_account, hdr. version ) ?;
@@ -658,7 +641,7 @@ pub fn upd_product(
658641 } ?;
659642
660643 check_valid_funding_account ( funding_account) ?;
661- check_valid_signable_account ( program_id, product_account, try_convert ( PC_PROD_ACC_SIZE ) ? ) ?;
644+ check_valid_signable_account ( program_id, product_account) ?;
662645
663646 let hdr = load :: < CommandHeader > ( instruction_data) ?;
664647 {
@@ -723,7 +706,7 @@ pub fn set_min_pub(
723706 } ?;
724707
725708 check_valid_funding_account ( funding_account) ?;
726- check_valid_signable_account ( program_id, price_account, size_of :: < PriceAccount > ( ) ) ?;
709+ check_valid_signable_account ( program_id, price_account) ?;
727710
728711 let mut price_account_data = load_checked :: < PriceAccount > ( price_account, cmd. header . version ) ?;
729712 price_account_data. min_pub_ = cmd. minimum_publishers ;
@@ -749,8 +732,8 @@ pub fn del_product(
749732 } ?;
750733
751734 check_valid_funding_account ( funding_account) ?;
752- check_valid_signable_account ( program_id, mapping_account, size_of :: < MappingAccount > ( ) ) ?;
753- check_valid_signable_account ( program_id, product_account, PC_PROD_ACC_SIZE as usize ) ?;
735+ check_valid_signable_account ( program_id, mapping_account) ?;
736+ check_valid_signable_account ( program_id, product_account) ?;
754737
755738 {
756739 let cmd_args = load :: < CommandHeader > ( instruction_data) ?;
0 commit comments