From fe8207c0cccb21701a9a08e0e5e6f6ee25ccb14b Mon Sep 17 00:00:00 2001 From: Ricardo Guilherme Schmidt <3esmit@gmail.com> Date: Thu, 14 May 2026 02:44:50 -0300 Subject: [PATCH] fix(mock_oracle): claim initialized price accounts --- mock_oracle/src/set_price.rs | 8 +++++--- mock_oracle/src/tests.rs | 9 +++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/mock_oracle/src/set_price.rs b/mock_oracle/src/set_price.rs index 1dfff7c..5a4806d 100644 --- a/mock_oracle/src/set_price.rs +++ b/mock_oracle/src/set_price.rs @@ -1,7 +1,7 @@ use mock_oracle_core::PriceUpdate; use nssa_core::{ account::{Account, AccountWithMetadata, Data}, - program::{AccountPostState, ProgramId}, + program::{AccountPostState, Claim, ProgramId}, }; use oracle_core::OraclePriceAccount; @@ -37,8 +37,10 @@ pub fn set_price( ); let mut price_post = price_account.account; - price_post.program_owner = mock_oracle_program_id; price_post.data = Data::from(&OraclePriceAccount::from(update)); - vec![AccountPostState::new(price_post)] + vec![AccountPostState::new_claimed_if_default( + price_post, + Claim::Authorized, + )] } diff --git a/mock_oracle/src/tests.rs b/mock_oracle/src/tests.rs index b5975db..6368fda 100644 --- a/mock_oracle/src/tests.rs +++ b/mock_oracle/src/tests.rs @@ -7,7 +7,7 @@ use mock_oracle_core::{PriceUpdate, MOCK_ORACLE_SOURCE_IDENTIFIER}; use nssa_core::{ account::{Account, AccountId, AccountWithMetadata, Data, Nonce}, - program::ProgramId, + program::{Claim, ProgramId}, }; use oracle_core::OraclePriceAccount; @@ -69,8 +69,8 @@ fn set_price_initializes_authorized_price_account() { ); assert_eq!(post_states.len(), 1); + assert_eq!(post_states[0].required_claim(), Some(Claim::Authorized)); let post_account = post_states[0].account(); - assert_eq!(post_account.program_owner, MOCK_ORACLE_PROGRAM_ID); let price_account = OraclePriceAccount::try_from(&post_account.data).expect("valid oracle price account"); @@ -87,6 +87,11 @@ fn set_price_updates_existing_mock_oracle_account() { &price_update, ); + assert_eq!(post_states[0].required_claim(), None); + assert_eq!( + post_states[0].account().program_owner, + MOCK_ORACLE_PROGRAM_ID + ); let price_account = OraclePriceAccount::try_from(&post_states[0].account().data) .expect("valid oracle price account"); assert_eq!(price_account.price, 1_100_000);