Skip to content

Commit cac1a8e

Browse files
feat(hermes): fix publisher cap schema (#1890)
* feat(hermes): fix publisher cap schema * update version * go
1 parent 8e6c518 commit cac1a8e

File tree

6 files changed

+21
-25
lines changed

6 files changed

+21
-25
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.6.0"
3+
version = "0.6.1"
44
description = "Hermes is an agent that provides Verified Prices from the Pythnet Pyth Oracle."
55
edition = "2021"
66

apps/hermes/server/src/api.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,10 @@ where
132132
types::ParsedPriceUpdate,
133133
types::RpcPriceFeedMetadataV2,
134134
types::PriceFeedMetadata,
135-
types::AssetType
135+
types::LatestPublisherStakeCapsUpdateDataResponse,
136+
types::ParsedPublisherStakeCapsUpdate,
137+
types::ParsedPublisherStakeCap,
138+
types::AssetType,
136139
)
137140
),
138141
tags(

apps/hermes/server/src/api/rest/v2/latest_publisher_stake_caps.rs

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use {
55
types::{
66
BinaryUpdate,
77
EncodingType,
8+
LatestPublisherStakeCapsUpdateDataResponse,
89
ParsedPublisherStakeCapsUpdate,
910
},
1011
ApiState,
@@ -20,15 +21,9 @@ use {
2021
engine::general_purpose::STANDARD as base64_standard_engine,
2122
Engine as _,
2223
},
23-
serde::{
24-
Deserialize,
25-
Serialize,
26-
},
24+
serde::Deserialize,
2725
serde_qs::axum::QsQuery,
28-
utoipa::{
29-
IntoParams,
30-
ToSchema,
31-
},
26+
utoipa::IntoParams,
3227
};
3328

3429

@@ -50,19 +45,12 @@ fn default_true() -> bool {
5045
true
5146
}
5247

53-
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
54-
pub struct LatestPublisherStakeCapsUpdateDataResponse {
55-
pub binary: BinaryUpdate,
56-
#[serde(skip_serializing_if = "Option::is_none")]
57-
pub parsed: Option<Vec<ParsedPublisherStakeCapsUpdate>>,
58-
}
59-
6048
/// Get the most recent publisher stake caps update data.
6149
#[utoipa::path(
6250
get,
6351
path = "/v2/updates/publisher_stake_caps/latest",
6452
responses(
65-
(status = 200, description = "Publisher stake caps update data retrieved succesfully", body = Vec<PriceFeedMetadata>)
53+
(status = 200, description = "Publisher stake caps update data retrieved successfully", body = LatestPublisherStakeCapsUpdateDataResponse)
6654
),
6755
params(
6856
LatestPublisherStakeCapsUpdateData

apps/hermes/server/src/api/types.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ use {
2828
Deserialize,
2929
Serialize,
3030
},
31-
solana_sdk::pubkey::Pubkey,
3231
std::{
3332
collections::BTreeMap,
3433
fmt::{
@@ -273,18 +272,24 @@ impl From<PriceFeedUpdate> for ParsedPriceUpdate {
273272
}
274273
}
275274

276-
#[derive(Debug, PartialEq, serde::Serialize, serde::Deserialize, Clone)]
275+
#[derive(Debug, PartialEq, serde::Serialize, serde::Deserialize, Clone, ToSchema)]
277276
pub struct ParsedPublisherStakeCapsUpdate {
278277
pub publisher_stake_caps: Vec<ParsedPublisherStakeCap>,
279278
}
280279

281-
#[derive(Debug, PartialEq, serde::Serialize, serde::Deserialize, Clone)]
280+
#[derive(Debug, PartialEq, serde::Serialize, serde::Deserialize, Clone, ToSchema)]
282281
pub struct ParsedPublisherStakeCap {
283-
#[serde(with = "pyth_sdk::utils::as_string")]
284-
pub publisher: Pubkey,
282+
pub publisher: String,
285283
pub cap: u64,
286284
}
287285

286+
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
287+
pub struct LatestPublisherStakeCapsUpdateDataResponse {
288+
pub binary: BinaryUpdate,
289+
#[serde(skip_serializing_if = "Option::is_none")]
290+
pub parsed: Option<Vec<ParsedPublisherStakeCapsUpdate>>,
291+
}
292+
288293
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
289294
pub struct PriceUpdate {
290295
pub binary: BinaryUpdate,

apps/hermes/server/src/state/aggregate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ where
436436
.caps
437437
.iter()
438438
.map(|cap| ParsedPublisherStakeCap {
439-
publisher: Pubkey::from(cap.publisher),
439+
publisher: Pubkey::from(cap.publisher).to_string(),
440440
cap: cap.cap,
441441
})
442442
.collect(),

0 commit comments

Comments
 (0)