@zofai/zo-sdk 0.2.16 → 0.2.18

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.
@@ -205,4 +205,231 @@ export async function fetchStorkUpdateDataFromKronos(baseUrl, assets, assetIdByA
205
205
  }
206
206
  return updates;
207
207
  }
208
+ /** Derive ws(s):// stream URL from kronos http(s) base URL. */
209
+ export function apiBaseUrlToStorkWsUrl(baseUrl, signatureType = 'evm') {
210
+ const url = new URL(baseUrl);
211
+ url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
212
+ url.pathname = `/stork/stream/${signatureType}`;
213
+ url.search = '';
214
+ url.hash = '';
215
+ return url.toString();
216
+ }
217
+ /**
218
+ * WebSocket client for kronos `/stork/stream/{evm|stark}`.
219
+ * Multiplexes asset subscriptions and re-subscribes after reconnect.
220
+ */
221
+ export class StorkStreamClient {
222
+ constructor(baseUrl, options) {
223
+ this.ws = null;
224
+ this.connectPromise = null;
225
+ this.reconnectTimer = null;
226
+ this.pingTimer = null;
227
+ this.closedByUser = false;
228
+ this.assetRefCount = new Map();
229
+ this.updateHandlers = new Set();
230
+ this.messageHandlers = new Set();
231
+ const signatureType = options?.signatureType ?? 'evm';
232
+ this.wsUrl = options?.wsUrl ?? apiBaseUrlToStorkWsUrl(baseUrl, signatureType);
233
+ this.autoReconnect = options?.autoReconnect ?? true;
234
+ this.reconnectDelayMs = options?.reconnectDelayMs ?? 1000;
235
+ this.pingIntervalMs = options?.pingIntervalMs ?? 30000;
236
+ this.WebSocketImpl = options?.WebSocketImpl ?? WebSocket;
237
+ }
238
+ /** Open the WebSocket and wait for socket open. */
239
+ connect() {
240
+ if (this.ws?.readyState === WebSocket.OPEN) {
241
+ return Promise.resolve();
242
+ }
243
+ if (this.connectPromise) {
244
+ return this.connectPromise;
245
+ }
246
+ this.closedByUser = false;
247
+ this.connectPromise = new Promise((resolve, reject) => {
248
+ const ws = new this.WebSocketImpl(this.wsUrl);
249
+ this.ws = ws;
250
+ const onOpen = () => {
251
+ this.startPing();
252
+ this.resubscribeAll();
253
+ resolve();
254
+ };
255
+ const onError = () => {
256
+ if (ws.readyState !== WebSocket.OPEN) {
257
+ reject(new Error(`Stork WebSocket connection failed: ${this.wsUrl}`));
258
+ }
259
+ this.emitMessage({ type: 'error', message: `Stork WebSocket error: ${this.wsUrl}` });
260
+ };
261
+ ws.addEventListener('open', onOpen, { once: true });
262
+ ws.addEventListener('error', onError, { once: true });
263
+ ws.addEventListener('message', (event) => {
264
+ this.handleMessage(String(event.data));
265
+ });
266
+ ws.addEventListener('close', () => {
267
+ this.stopPing();
268
+ this.ws = null;
269
+ this.connectPromise = null;
270
+ if (!this.closedByUser && this.autoReconnect) {
271
+ this.scheduleReconnect();
272
+ }
273
+ });
274
+ });
275
+ return this.connectPromise;
276
+ }
277
+ disconnect() {
278
+ this.closedByUser = true;
279
+ this.clearReconnect();
280
+ this.stopPing();
281
+ if (this.ws) {
282
+ this.ws.close();
283
+ this.ws = null;
284
+ }
285
+ this.connectPromise = null;
286
+ }
287
+ /**
288
+ * Subscribe to live Stork price updates for asset symbols (e.g. `BTCUSD`).
289
+ * Returns an unsubscribe function.
290
+ */
291
+ subscribe(assets, onUpdate) {
292
+ if (assets.length === 0) {
293
+ throw new Error('assets is required');
294
+ }
295
+ const newAssets = this.addAssetRefs(assets);
296
+ this.updateHandlers.add(onUpdate);
297
+ void this.connect().then(() => {
298
+ if (newAssets.length > 0) {
299
+ this.send({ type: 'subscribe', data: newAssets });
300
+ }
301
+ });
302
+ return () => {
303
+ this.unsubscribe(assets, onUpdate);
304
+ };
305
+ }
306
+ /** Remove one handler; unsubscribe upstream assets when no handlers remain. */
307
+ unsubscribe(assets, onUpdate) {
308
+ if (onUpdate) {
309
+ this.updateHandlers.delete(onUpdate);
310
+ }
311
+ else {
312
+ this.updateHandlers.clear();
313
+ }
314
+ if (this.updateHandlers.size === 0) {
315
+ const removedAssets = this.clearAssetRefs();
316
+ if (removedAssets.length > 0 && this.ws?.readyState === WebSocket.OPEN) {
317
+ this.send({ type: 'unsubscribe', data: removedAssets });
318
+ }
319
+ return;
320
+ }
321
+ const removedAssets = this.removeAssetRefs(assets);
322
+ if (removedAssets.length > 0 && this.ws?.readyState === WebSocket.OPEN) {
323
+ this.send({ type: 'unsubscribe', data: removedAssets });
324
+ }
325
+ }
326
+ onMessage(handler) {
327
+ this.messageHandlers.add(handler);
328
+ return () => {
329
+ this.messageHandlers.delete(handler);
330
+ };
331
+ }
332
+ addAssetRefs(assets) {
333
+ const newAssets = [];
334
+ for (const asset of assets) {
335
+ const count = this.assetRefCount.get(asset) ?? 0;
336
+ this.assetRefCount.set(asset, count + 1);
337
+ if (count === 0) {
338
+ newAssets.push(asset);
339
+ }
340
+ }
341
+ return newAssets;
342
+ }
343
+ removeAssetRefs(assets) {
344
+ const removedAssets = [];
345
+ for (const asset of assets) {
346
+ const count = this.assetRefCount.get(asset);
347
+ if (count === undefined) {
348
+ continue;
349
+ }
350
+ if (count <= 1) {
351
+ this.assetRefCount.delete(asset);
352
+ removedAssets.push(asset);
353
+ }
354
+ else {
355
+ this.assetRefCount.set(asset, count - 1);
356
+ }
357
+ }
358
+ return removedAssets;
359
+ }
360
+ clearAssetRefs() {
361
+ const removedAssets = [...this.assetRefCount.keys()];
362
+ this.assetRefCount.clear();
363
+ return removedAssets;
364
+ }
365
+ send(message) {
366
+ if (this.ws?.readyState !== WebSocket.OPEN) {
367
+ return;
368
+ }
369
+ this.ws.send(JSON.stringify(message));
370
+ }
371
+ resubscribeAll() {
372
+ const assets = [...this.assetRefCount.keys()];
373
+ if (assets.length > 0) {
374
+ this.send({ type: 'subscribe', data: assets });
375
+ }
376
+ }
377
+ scheduleReconnect() {
378
+ if (this.reconnectTimer) {
379
+ return;
380
+ }
381
+ this.reconnectTimer = setTimeout(() => {
382
+ this.reconnectTimer = null;
383
+ void this.connect().catch(() => {
384
+ this.scheduleReconnect();
385
+ });
386
+ }, this.reconnectDelayMs);
387
+ }
388
+ clearReconnect() {
389
+ if (this.reconnectTimer) {
390
+ clearTimeout(this.reconnectTimer);
391
+ this.reconnectTimer = null;
392
+ }
393
+ }
394
+ startPing() {
395
+ if (this.pingIntervalMs <= 0) {
396
+ return;
397
+ }
398
+ this.stopPing();
399
+ this.pingTimer = setInterval(() => {
400
+ this.send({ type: 'ping' });
401
+ }, this.pingIntervalMs);
402
+ }
403
+ stopPing() {
404
+ if (this.pingTimer) {
405
+ clearInterval(this.pingTimer);
406
+ this.pingTimer = null;
407
+ }
408
+ }
409
+ emitMessage(message) {
410
+ for (const handler of this.messageHandlers) {
411
+ handler(message);
412
+ }
413
+ }
414
+ handleMessage(raw) {
415
+ let message;
416
+ try {
417
+ message = JSON.parse(raw);
418
+ }
419
+ catch {
420
+ this.emitMessage({ type: 'error', message: `Invalid JSON: ${raw}` });
421
+ return;
422
+ }
423
+ this.emitMessage(message);
424
+ if (message.type === 'oracle_prices') {
425
+ const update = {
426
+ traceId: message.trace_id,
427
+ prices: message.data,
428
+ };
429
+ for (const handler of this.updateHandlers) {
430
+ handler(update);
431
+ }
432
+ }
433
+ }
434
+ }
208
435
  //# sourceMappingURL=storkClient.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"storkClient.mjs","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storkClient.mjs","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zofai/zo-sdk",
3
3
  "type": "module",
4
- "version": "0.2.16",
4
+ "version": "0.2.18",
5
5
  "author": "zo",
6
6
  "exports": {
7
7
  ".": {
@@ -17,10 +17,10 @@
17
17
  "23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744": 11,
18
18
  "ec5d399846a9209f3fe5881d70aae9268c94339ff9817e8d18ff19fa05eea1c8": 14,
19
19
  "31491744e2dbf6df7fcf4ac0820d18a609b49076d45066d3568424e62f686cd1": 2396,
20
- "f2fb02c32b055c805e7238d628e5e9dadef274376114eb1f012337cabe93871e": 345,
21
- "765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63861f2f8ba4ee34bb2": 346,
22
- "ef2c98c804ba503c6a707e38be4dfbb16683775f195b091252bf24693042fd52": 340,
23
- "a995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b": 327,
20
+ "f2fb02c32b055c805e7238d628e5e9dadef274376114eb1f012337cabe93871e": 1,
21
+ "765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63861f2f8ba4ee34bb2": 1,
22
+ "ef2c98c804ba503c6a707e38be4dfbb16683775f195b091252bf24693042fd52": 1,
23
+ "a995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b": 1,
24
24
  "925ca92ff005ae943c158e3563f59698ce7e75c5a8c8dd43303a0a154887b3e6": 657,
25
25
  "8cead549d0e770dea8fdf5e018a85d59585265cf8bff16ba83962fc7996dbb7f": 2998
26
26
  }
@@ -17,6 +17,11 @@ import type {
17
17
  PythProStreamClient,
18
18
  PythProStreamUpdate,
19
19
  } from '../pythProClient'
20
+ import type {
21
+ IStorkStreamClientOptions,
22
+ StorkStreamClient,
23
+ StorkStreamUpdate,
24
+ } from '../storkClient'
20
25
  import type { SuiClient } from '../suiClient'
21
26
 
22
27
  // Common data interfaces
@@ -354,6 +359,18 @@ export interface IBaseDataAPI {
354
359
  subscriptionId?: number,
355
360
  ) => Promise<() => void>
356
361
 
362
+ /** kronos WebSocket client for `/stork/stream/{evm|stark}`. Requires apiEndpoint. */
363
+ createStorkStreamClient: (
364
+ options?: IStorkStreamClientOptions & { kronosUrl?: string },
365
+ ) => StorkStreamClient
366
+
367
+ /** Live Stork prices via kronos WebSocket. Requires apiEndpoint. */
368
+ subStorkPricesForTokens: (
369
+ tokens: string[],
370
+ onUpdate: (update: StorkStreamUpdate) => void,
371
+ options?: IStorkStreamClientOptions & { kronosUrl?: string },
372
+ ) => Promise<() => void>
373
+
357
374
  // Utility methods
358
375
  validateCache: () => void
359
376
  }
package/src/oracle.ts CHANGED
@@ -40,8 +40,15 @@ import {
40
40
  getLatestPythProPrices,
41
41
  PythProStreamClient,
42
42
  } from './pythProClient'
43
- import type { IStorkUpdateData } from './storkClient'
44
- import { fetchStorkUpdateDataFromKronos } from './storkClient'
43
+ import type {
44
+ IStorkStreamClientOptions,
45
+ IStorkUpdateData,
46
+ StorkStreamUpdate,
47
+ } from './storkClient'
48
+ import {
49
+ fetchStorkUpdateDataFromKronos,
50
+ StorkStreamClient,
51
+ } from './storkClient'
45
52
  import {
46
53
  appendStorkUpdatesToTransaction,
47
54
  estimateStorkUpdateFeeMist,
@@ -352,6 +359,12 @@ export class OracleAPI {
352
359
  return new PythProStreamClient(this.resolveKronosUrl(kronosUrl))
353
360
  }
354
361
 
362
+ /** WebSocket client for kronos `/stork/stream/{evm|stark}`. */
363
+ createStorkStreamClient(options?: IStorkStreamClientOptions & { kronosUrl?: string }): StorkStreamClient {
364
+ const { kronosUrl, ...clientOptions } = options ?? {}
365
+ return new StorkStreamClient(this.resolveKronosUrl(kronosUrl), clientOptions)
366
+ }
367
+
355
368
  /**
356
369
  * Subscribe to live Pyth Pro prices for SDK tokens via kronos WebSocket.
357
370
  * Returns unsubscribe (closes subscription; disconnect the client separately if unused).
@@ -375,6 +388,26 @@ export class OracleAPI {
375
388
  )
376
389
  }
377
390
 
391
+ /**
392
+ * Subscribe to live Stork prices for SDK tokens via kronos WebSocket.
393
+ * Tokens without a Stork feeder in zo-oracle config are skipped.
394
+ * Returns unsubscribe (disconnect the client separately if unused).
395
+ */
396
+ async subStorkPricesForTokens(
397
+ tokens: string[],
398
+ onUpdate: (update: StorkStreamUpdate) => void,
399
+ options?: IStorkStreamClientOptions & { kronosUrl?: string },
400
+ ): Promise<() => void> {
401
+ const assets = this.resolveStorkAssetsForTokens(tokens)
402
+ if (assets.length === 0) {
403
+ throw new Error(`No Stork assets configured for tokens: ${tokens.join(', ')}`)
404
+ }
405
+
406
+ const client = this.createStorkStreamClient(options)
407
+ await client.connect()
408
+ return client.subscribe(assets, onUpdate)
409
+ }
410
+
378
411
  /**
379
412
  * Fetch leEcdsa update bytes covering all tokens' Pyth Lazer feed ids via kronos REST.
380
413
  */