fix(mock_oracle): claim initialized price accounts

This commit is contained in:
Ricardo Guilherme Schmidt 2026-05-14 02:44:50 -03:00
parent f012e66776
commit ccf821abfd
No known key found for this signature in database
GPG Key ID: 1396EA17DE132FFE
2 changed files with 12 additions and 5 deletions

View File

@ -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,
)]
}

View File

@ -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);