Skip to content

Commit 43bf766

Browse files
authored
fix(apps/hermes): filter coming soon feeds from v2/price_feeds (#1818)
* fix hermes latest price feeds * revert filter null byte change
1 parent 71d0323 commit 43bf766

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

apps/hermes/server/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/hermes/server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "hermes"
3-
version = "0.5.15"
3+
version = "0.5.16"
44
description = "Hermes is an agent that provides Verified Prices from the Pythnet Pyth Oracle."
55
edition = "2021"
66

apps/hermes/server/src/network/pythnet.rs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ use {
3333
},
3434
borsh::BorshDeserialize,
3535
futures::stream::StreamExt,
36+
pyth_sdk::PriceIdentifier,
3637
pyth_sdk_solana::state::{
3738
load_mapping_account,
3839
load_product_account,
@@ -384,13 +385,20 @@ pub async fn fetch_and_store_price_feeds_metadata<S>(
384385
rpc_client: &RpcClient,
385386
) -> Result<Vec<PriceFeedMetadata>>
386387
where
387-
S: PriceFeedMeta,
388+
S: PriceFeedMeta + Aggregates,
388389
{
389390
let price_feeds_metadata = fetch_price_feeds_metadata(mapping_address, rpc_client).await?;
390-
state
391-
.store_price_feeds_metadata(&price_feeds_metadata)
392-
.await?;
393-
Ok(price_feeds_metadata)
391+
let all_ids = Aggregates::get_price_feed_ids(state).await;
392+
393+
// Filter price_feeds_metadata to only include entries with IDs in all_ids
394+
let filtered_metadata: Vec<PriceFeedMetadata> = price_feeds_metadata
395+
.into_iter()
396+
.filter(|metadata| all_ids.contains(&PriceIdentifier::from(metadata.id)))
397+
.collect();
398+
399+
400+
state.store_price_feeds_metadata(&filtered_metadata).await?;
401+
Ok(filtered_metadata)
394402
}
395403

396404
async fn fetch_price_feeds_metadata(

0 commit comments

Comments
 (0)