@pythnetwork/hermes-client 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +5 -2
- package/lib/HermesClient.d.ts +1 -0
- package/lib/HermesClient.d.ts.map +1 -1
- package/lib/HermesClient.js +12 -6
- package/package.json +2 -2
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -32,7 +32,10 @@ const priceIds = [
|
|
|
32
32
|
];
|
|
33
33
|
|
|
34
34
|
// Get price feeds
|
|
35
|
-
const priceFeeds = await connection.getPriceFeeds(
|
|
35
|
+
const priceFeeds = await connection.getPriceFeeds({
|
|
36
|
+
query: "btc",
|
|
37
|
+
filter: "crypto",
|
|
38
|
+
});
|
|
36
39
|
console.log(priceFeeds);
|
|
37
40
|
|
|
38
41
|
// Latest price updates
|
|
@@ -44,7 +47,7 @@ console.log(priceUpdates);
|
|
|
44
47
|
|
|
45
48
|
```typescript
|
|
46
49
|
// Streaming price updates
|
|
47
|
-
const eventSource = await connection.
|
|
50
|
+
const eventSource = await connection.getPriceUpdatesStream(priceIds);
|
|
48
51
|
|
|
49
52
|
eventSource.onmessage = (event) => {
|
|
50
53
|
console.log("Received price update:", event.data);
|
package/lib/HermesClient.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HermesClient.d.ts","sourceRoot":"","sources":["../src/HermesClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HermesClient.d.ts","sourceRoot":"","sources":["../src/HermesClient.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAChE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC;AAChE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CACjC,OAAO,OAAO,CAAC,0CAA0C,CAC1D,CAAC;AAKF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AACnC,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAc;IAE7B;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;YAO3C,WAAW;IA8CzB;;;;;;;;;;OAUG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAWhC;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,OAAO,CAAC,EAAE;QACrC,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,aAAa,CAAC;IAW1B;;;;;;;;;;;;OAYG;IACG,qBAAqB,CACzB,GAAG,EAAE,SAAS,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GACA,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;;;;;;;;;;OAaG;IACG,0BAA0B,CAC9B,WAAW,EAAE,aAAa,EAC1B,GAAG,EAAE,SAAS,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GACA,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;;;;;;;;;;;;;OAgBG;IACG,qBAAqB,CACzB,GAAG,EAAE,SAAS,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GACA,OAAO,CAAC,WAAW,CAAC;IAcvB;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAClB,GAAG,EAAE,SAAS,EAAE,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,GACA,OAAO,CAAC,aAAa,CAAC;IAczB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,QAAQ;CAQjB"}
|
package/lib/HermesClient.js
CHANGED
|
@@ -70,7 +70,7 @@ class HermesClient {
|
|
|
70
70
|
* @returns Array of PriceFeedMetadata objects.
|
|
71
71
|
*/
|
|
72
72
|
async getPriceFeeds(options) {
|
|
73
|
-
const url =
|
|
73
|
+
const url = this.buildURL("price_feeds");
|
|
74
74
|
if (options) {
|
|
75
75
|
this.appendUrlSearchParams(url, options);
|
|
76
76
|
}
|
|
@@ -88,7 +88,7 @@ class HermesClient {
|
|
|
88
88
|
* @returns PublisherCaps object containing the latest publisher stake caps.
|
|
89
89
|
*/
|
|
90
90
|
async getLatestPublisherCaps(options) {
|
|
91
|
-
const url =
|
|
91
|
+
const url = this.buildURL("updates/publisher_stake_caps/latest");
|
|
92
92
|
if (options) {
|
|
93
93
|
this.appendUrlSearchParams(url, options);
|
|
94
94
|
}
|
|
@@ -108,7 +108,7 @@ class HermesClient {
|
|
|
108
108
|
* @returns PriceUpdate object containing the latest updates.
|
|
109
109
|
*/
|
|
110
110
|
async getLatestPriceUpdates(ids, options) {
|
|
111
|
-
const url =
|
|
111
|
+
const url = this.buildURL("updates/price/latest");
|
|
112
112
|
for (const id of ids) {
|
|
113
113
|
url.searchParams.append("ids[]", id);
|
|
114
114
|
}
|
|
@@ -133,7 +133,7 @@ class HermesClient {
|
|
|
133
133
|
* @returns PriceUpdate object containing the updates at the specified timestamp.
|
|
134
134
|
*/
|
|
135
135
|
async getPriceUpdatesAtTimestamp(publishTime, ids, options) {
|
|
136
|
-
const url =
|
|
136
|
+
const url = this.buildURL(`updates/price/${publishTime}`);
|
|
137
137
|
for (const id of ids) {
|
|
138
138
|
url.searchParams.append("ids[]", id);
|
|
139
139
|
}
|
|
@@ -161,7 +161,7 @@ class HermesClient {
|
|
|
161
161
|
* @returns An EventSource instance for receiving streaming updates.
|
|
162
162
|
*/
|
|
163
163
|
async getPriceUpdatesStream(ids, options) {
|
|
164
|
-
const url =
|
|
164
|
+
const url = this.buildURL("updates/price/stream");
|
|
165
165
|
ids.forEach((id) => {
|
|
166
166
|
url.searchParams.append("ids[]", id);
|
|
167
167
|
});
|
|
@@ -187,7 +187,7 @@ class HermesClient {
|
|
|
187
187
|
* @returns TwapsResponse object containing the latest TWAPs.
|
|
188
188
|
*/
|
|
189
189
|
async getLatestTwaps(ids, window_seconds, options) {
|
|
190
|
-
const url =
|
|
190
|
+
const url = this.buildURL(`updates/twap/${window_seconds}/latest`);
|
|
191
191
|
for (const id of ids) {
|
|
192
192
|
url.searchParams.append("ids[]", id);
|
|
193
193
|
}
|
|
@@ -204,5 +204,11 @@ class HermesClient {
|
|
|
204
204
|
}
|
|
205
205
|
});
|
|
206
206
|
}
|
|
207
|
+
buildURL(endpoint) {
|
|
208
|
+
return new URL(`./v2/${endpoint}`,
|
|
209
|
+
// We ensure the `baseURL` ends with a `/` so that URL doesn't resolve the
|
|
210
|
+
// path relative to the parent.
|
|
211
|
+
`${this.baseURL}${this.baseURL.endsWith("/") ? "" : "/"}`);
|
|
212
|
+
}
|
|
207
213
|
}
|
|
208
214
|
exports.HermesClient = HermesClient;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pythnetwork/hermes-client",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Pyth Hermes Client",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Pyth Data Association"
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"eventsource": "^2.0.2",
|
|
56
56
|
"zod": "^3.23.8"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "cdaf99e8629cd6af655a5f1c2c5750de9bc485dd"
|
|
59
59
|
}
|