@zofai/zo-sdk 0.2.17 → 0.2.19
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/dist/consts/deployments-usdz-mainnet.json +10 -0
- package/dist/consts/deployments-zo-oracle-mainnet.json +8 -0
- package/dist/consts/index.cjs.map +1 -1
- package/dist/consts/index.d.cts +2 -0
- package/dist/consts/index.d.cts.map +1 -1
- package/dist/consts/index.d.mts +2 -0
- package/dist/consts/index.d.mts.map +1 -1
- package/dist/consts/index.mjs.map +1 -1
- package/dist/interfaces/base.d.cts +9 -0
- package/dist/interfaces/base.d.cts.map +1 -1
- package/dist/interfaces/base.d.mts +9 -0
- package/dist/interfaces/base.d.mts.map +1 -1
- package/dist/oracle.cjs +19 -0
- package/dist/oracle.cjs.map +1 -1
- package/dist/oracle.d.cts +14 -1
- package/dist/oracle.d.cts.map +1 -1
- package/dist/oracle.d.mts +14 -1
- package/dist/oracle.d.mts.map +1 -1
- package/dist/oracle.mjs +20 -1
- package/dist/oracle.mjs.map +1 -1
- package/dist/oraclePro.cjs +5 -2
- package/dist/oraclePro.cjs.map +1 -1
- package/dist/oraclePro.d.cts.map +1 -1
- package/dist/oraclePro.d.mts.map +1 -1
- package/dist/oraclePro.mjs +5 -2
- package/dist/oraclePro.mjs.map +1 -1
- package/dist/storkClient.cjs +230 -0
- package/dist/storkClient.cjs.map +1 -1
- package/dist/storkClient.d.cts +89 -0
- package/dist/storkClient.d.cts.map +1 -1
- package/dist/storkClient.d.mts +89 -0
- package/dist/storkClient.d.mts.map +1 -1
- package/dist/storkClient.mjs +227 -0
- package/dist/storkClient.mjs.map +1 -1
- package/package.json +1 -1
- package/src/consts/deployments-usdz-mainnet.json +10 -0
- package/src/consts/deployments-zo-oracle-mainnet.json +8 -0
- package/src/consts/index.ts +2 -0
- package/src/interfaces/base.ts +17 -0
- package/src/oracle.ts +35 -2
- package/src/oraclePro.ts +7 -2
- package/src/storkClient.ts +308 -0
- package/tests/storkClient.test.ts +88 -0
package/dist/storkClient.d.cts
CHANGED
|
@@ -87,4 +87,93 @@ assetIdByAsset?: Map<string, Uint8Array>): IStorkUpdateData[];
|
|
|
87
87
|
*/
|
|
88
88
|
export declare function getLatestStorkPrices(baseUrl: string, options: IGetLatestStorkPricesOptions): Promise<IStorkLatestPriceData>;
|
|
89
89
|
export declare function fetchStorkUpdateDataFromKronos(baseUrl: string, assets: string[], assetIdByAsset?: Map<string, Uint8Array>): Promise<IStorkUpdateData[]>;
|
|
90
|
+
export type StorkSignatureType = 'evm' | 'stark';
|
|
91
|
+
export interface StorkStreamUpdate {
|
|
92
|
+
traceId?: string;
|
|
93
|
+
/** Stork asset symbol (e.g. `BTCUSD`) → kronos price entry. */
|
|
94
|
+
prices: Record<string, IStorkKronosPriceEntry>;
|
|
95
|
+
}
|
|
96
|
+
export type StorkStreamServerMessage = {
|
|
97
|
+
type: 'connected';
|
|
98
|
+
message?: string;
|
|
99
|
+
} | {
|
|
100
|
+
type: 'oracle_prices';
|
|
101
|
+
trace_id?: string;
|
|
102
|
+
data: Record<string, IStorkKronosPriceEntry>;
|
|
103
|
+
} | {
|
|
104
|
+
type: 'error';
|
|
105
|
+
message?: string;
|
|
106
|
+
} | {
|
|
107
|
+
type: 'pong';
|
|
108
|
+
};
|
|
109
|
+
export type StorkStreamClientMessage = {
|
|
110
|
+
type: 'subscribe';
|
|
111
|
+
data: string[];
|
|
112
|
+
} | {
|
|
113
|
+
type: 'unsubscribe';
|
|
114
|
+
data: string[];
|
|
115
|
+
} | {
|
|
116
|
+
type: 'ping';
|
|
117
|
+
};
|
|
118
|
+
/** Derive ws(s):// stream URL from kronos http(s) base URL. */
|
|
119
|
+
export declare function apiBaseUrlToStorkWsUrl(baseUrl: string, signatureType?: StorkSignatureType): string;
|
|
120
|
+
export interface IStorkStreamClientOptions {
|
|
121
|
+
/** Defaults to `evm` (`/stork/stream/evm`). Use `stark` for StarkEx-native signatures. */
|
|
122
|
+
signatureType?: StorkSignatureType;
|
|
123
|
+
/** Defaults to apiBaseUrlToStorkWsUrl(baseUrl, signatureType). */
|
|
124
|
+
wsUrl?: string;
|
|
125
|
+
/** Reconnect after disconnect. Default true. */
|
|
126
|
+
autoReconnect?: boolean;
|
|
127
|
+
/** Initial reconnect delay in ms. Default 1000. */
|
|
128
|
+
reconnectDelayMs?: number;
|
|
129
|
+
/** Ping interval in ms. Default 30000. Set 0 to disable. */
|
|
130
|
+
pingIntervalMs?: number;
|
|
131
|
+
/** Custom WebSocket constructor (Node test mocks, etc.). */
|
|
132
|
+
WebSocketImpl?: typeof WebSocket;
|
|
133
|
+
}
|
|
134
|
+
type StorkStreamUpdateHandler = (update: StorkStreamUpdate) => void;
|
|
135
|
+
type StorkStreamMessageHandler = (message: StorkStreamServerMessage) => void;
|
|
136
|
+
/**
|
|
137
|
+
* WebSocket client for kronos `/stork/stream/{evm|stark}`.
|
|
138
|
+
* Multiplexes asset subscriptions and re-subscribes after reconnect.
|
|
139
|
+
*/
|
|
140
|
+
export declare class StorkStreamClient {
|
|
141
|
+
private readonly wsUrl;
|
|
142
|
+
private readonly autoReconnect;
|
|
143
|
+
private readonly reconnectDelayMs;
|
|
144
|
+
private readonly pingIntervalMs;
|
|
145
|
+
private readonly WebSocketImpl;
|
|
146
|
+
private ws;
|
|
147
|
+
private connectPromise;
|
|
148
|
+
private reconnectTimer;
|
|
149
|
+
private pingTimer;
|
|
150
|
+
private closedByUser;
|
|
151
|
+
private readonly assetRefCount;
|
|
152
|
+
private readonly updateHandlers;
|
|
153
|
+
private readonly messageHandlers;
|
|
154
|
+
constructor(baseUrl: string, options?: IStorkStreamClientOptions);
|
|
155
|
+
/** Open the WebSocket and wait for socket open. */
|
|
156
|
+
connect(): Promise<void>;
|
|
157
|
+
disconnect(): void;
|
|
158
|
+
/**
|
|
159
|
+
* Subscribe to live Stork price updates for asset symbols (e.g. `BTCUSD`).
|
|
160
|
+
* Returns an unsubscribe function.
|
|
161
|
+
*/
|
|
162
|
+
subscribe(assets: string[], onUpdate: StorkStreamUpdateHandler): () => void;
|
|
163
|
+
/** Remove one handler; unsubscribe upstream assets when no handlers remain. */
|
|
164
|
+
unsubscribe(assets: string[], onUpdate?: StorkStreamUpdateHandler): void;
|
|
165
|
+
onMessage(handler: StorkStreamMessageHandler): () => void;
|
|
166
|
+
private addAssetRefs;
|
|
167
|
+
private removeAssetRefs;
|
|
168
|
+
private clearAssetRefs;
|
|
169
|
+
private send;
|
|
170
|
+
private resubscribeAll;
|
|
171
|
+
private scheduleReconnect;
|
|
172
|
+
private clearReconnect;
|
|
173
|
+
private startPing;
|
|
174
|
+
private stopPing;
|
|
175
|
+
private emitMessage;
|
|
176
|
+
private handleMessage;
|
|
177
|
+
}
|
|
178
|
+
export {};
|
|
90
179
|
//# sourceMappingURL=storkClient.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storkClient.d.cts","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storkClient.d.cts","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
|
package/dist/storkClient.d.mts
CHANGED
|
@@ -87,4 +87,93 @@ assetIdByAsset?: Map<string, Uint8Array>): IStorkUpdateData[];
|
|
|
87
87
|
*/
|
|
88
88
|
export declare function getLatestStorkPrices(baseUrl: string, options: IGetLatestStorkPricesOptions): Promise<IStorkLatestPriceData>;
|
|
89
89
|
export declare function fetchStorkUpdateDataFromKronos(baseUrl: string, assets: string[], assetIdByAsset?: Map<string, Uint8Array>): Promise<IStorkUpdateData[]>;
|
|
90
|
+
export type StorkSignatureType = 'evm' | 'stark';
|
|
91
|
+
export interface StorkStreamUpdate {
|
|
92
|
+
traceId?: string;
|
|
93
|
+
/** Stork asset symbol (e.g. `BTCUSD`) → kronos price entry. */
|
|
94
|
+
prices: Record<string, IStorkKronosPriceEntry>;
|
|
95
|
+
}
|
|
96
|
+
export type StorkStreamServerMessage = {
|
|
97
|
+
type: 'connected';
|
|
98
|
+
message?: string;
|
|
99
|
+
} | {
|
|
100
|
+
type: 'oracle_prices';
|
|
101
|
+
trace_id?: string;
|
|
102
|
+
data: Record<string, IStorkKronosPriceEntry>;
|
|
103
|
+
} | {
|
|
104
|
+
type: 'error';
|
|
105
|
+
message?: string;
|
|
106
|
+
} | {
|
|
107
|
+
type: 'pong';
|
|
108
|
+
};
|
|
109
|
+
export type StorkStreamClientMessage = {
|
|
110
|
+
type: 'subscribe';
|
|
111
|
+
data: string[];
|
|
112
|
+
} | {
|
|
113
|
+
type: 'unsubscribe';
|
|
114
|
+
data: string[];
|
|
115
|
+
} | {
|
|
116
|
+
type: 'ping';
|
|
117
|
+
};
|
|
118
|
+
/** Derive ws(s):// stream URL from kronos http(s) base URL. */
|
|
119
|
+
export declare function apiBaseUrlToStorkWsUrl(baseUrl: string, signatureType?: StorkSignatureType): string;
|
|
120
|
+
export interface IStorkStreamClientOptions {
|
|
121
|
+
/** Defaults to `evm` (`/stork/stream/evm`). Use `stark` for StarkEx-native signatures. */
|
|
122
|
+
signatureType?: StorkSignatureType;
|
|
123
|
+
/** Defaults to apiBaseUrlToStorkWsUrl(baseUrl, signatureType). */
|
|
124
|
+
wsUrl?: string;
|
|
125
|
+
/** Reconnect after disconnect. Default true. */
|
|
126
|
+
autoReconnect?: boolean;
|
|
127
|
+
/** Initial reconnect delay in ms. Default 1000. */
|
|
128
|
+
reconnectDelayMs?: number;
|
|
129
|
+
/** Ping interval in ms. Default 30000. Set 0 to disable. */
|
|
130
|
+
pingIntervalMs?: number;
|
|
131
|
+
/** Custom WebSocket constructor (Node test mocks, etc.). */
|
|
132
|
+
WebSocketImpl?: typeof WebSocket;
|
|
133
|
+
}
|
|
134
|
+
type StorkStreamUpdateHandler = (update: StorkStreamUpdate) => void;
|
|
135
|
+
type StorkStreamMessageHandler = (message: StorkStreamServerMessage) => void;
|
|
136
|
+
/**
|
|
137
|
+
* WebSocket client for kronos `/stork/stream/{evm|stark}`.
|
|
138
|
+
* Multiplexes asset subscriptions and re-subscribes after reconnect.
|
|
139
|
+
*/
|
|
140
|
+
export declare class StorkStreamClient {
|
|
141
|
+
private readonly wsUrl;
|
|
142
|
+
private readonly autoReconnect;
|
|
143
|
+
private readonly reconnectDelayMs;
|
|
144
|
+
private readonly pingIntervalMs;
|
|
145
|
+
private readonly WebSocketImpl;
|
|
146
|
+
private ws;
|
|
147
|
+
private connectPromise;
|
|
148
|
+
private reconnectTimer;
|
|
149
|
+
private pingTimer;
|
|
150
|
+
private closedByUser;
|
|
151
|
+
private readonly assetRefCount;
|
|
152
|
+
private readonly updateHandlers;
|
|
153
|
+
private readonly messageHandlers;
|
|
154
|
+
constructor(baseUrl: string, options?: IStorkStreamClientOptions);
|
|
155
|
+
/** Open the WebSocket and wait for socket open. */
|
|
156
|
+
connect(): Promise<void>;
|
|
157
|
+
disconnect(): void;
|
|
158
|
+
/**
|
|
159
|
+
* Subscribe to live Stork price updates for asset symbols (e.g. `BTCUSD`).
|
|
160
|
+
* Returns an unsubscribe function.
|
|
161
|
+
*/
|
|
162
|
+
subscribe(assets: string[], onUpdate: StorkStreamUpdateHandler): () => void;
|
|
163
|
+
/** Remove one handler; unsubscribe upstream assets when no handlers remain. */
|
|
164
|
+
unsubscribe(assets: string[], onUpdate?: StorkStreamUpdateHandler): void;
|
|
165
|
+
onMessage(handler: StorkStreamMessageHandler): () => void;
|
|
166
|
+
private addAssetRefs;
|
|
167
|
+
private removeAssetRefs;
|
|
168
|
+
private clearAssetRefs;
|
|
169
|
+
private send;
|
|
170
|
+
private resubscribeAll;
|
|
171
|
+
private scheduleReconnect;
|
|
172
|
+
private clearReconnect;
|
|
173
|
+
private startPing;
|
|
174
|
+
private stopPing;
|
|
175
|
+
private emitMessage;
|
|
176
|
+
private handleMessage;
|
|
177
|
+
}
|
|
178
|
+
export {};
|
|
90
179
|
//# sourceMappingURL=storkClient.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storkClient.d.mts","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storkClient.d.mts","sourceRoot":"","sources":["../src/storkClient.ts"],"names":[],"mappings":"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"}
|
package/dist/storkClient.mjs
CHANGED
|
@@ -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
|
package/dist/storkClient.mjs.map
CHANGED
|
@@ -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
|
@@ -132,6 +132,16 @@
|
|
|
132
132
|
"supported_collaterals": ["nusdc"],
|
|
133
133
|
"funding_fee_model": "0x1247d3e6abf83e1e8341feb4b7476e3df57484ea5f6e25d17e31187eb3159624",
|
|
134
134
|
"position_config": "0x4b7b7f80dfb443e4758eac7be07cbd2620442c01aa9d80b2fd7b04fd4c170efc"
|
|
135
|
+
},
|
|
136
|
+
"long_spy": {
|
|
137
|
+
"supported_collaterals": ["nusdc"],
|
|
138
|
+
"funding_fee_model": "0x7dc84b1edf83630dfc8676ea44d1843a50e872198fb4e7e146b5e42a03cd7316",
|
|
139
|
+
"position_config": "0x2a59d371959ea488262267b048ea3773e0b8109a7ef81ed35889fad47f540129"
|
|
140
|
+
},
|
|
141
|
+
"short_spy": {
|
|
142
|
+
"supported_collaterals": ["nusdc"],
|
|
143
|
+
"funding_fee_model": "0xa46b82dafc473075d858f4356dc587b1cc84d20a15d655868d1b33cb26a510d8",
|
|
144
|
+
"position_config": "0x34dd41c6a64c4c39efbaaa638743085c0b4cb8e361f5a8c33e2736306832b169"
|
|
135
145
|
}
|
|
136
146
|
}
|
|
137
147
|
},
|
|
@@ -324,6 +324,14 @@
|
|
|
324
324
|
"stork_feeder_id": null,
|
|
325
325
|
"enabled_sources": 3,
|
|
326
326
|
"max_slippage": "1000000000000000000"
|
|
327
|
+
},
|
|
328
|
+
"SPY/USD": {
|
|
329
|
+
"coin_type": "0x20bf0078ab6cab00add9f9dd4bd3585603bf35e494bf6f81dfda6b2c5ef789a0::spy::SPY",
|
|
330
|
+
"pyth_feeder_id": "0xe1d36d749ce811cbcb09ad882e2b4f757c689bd0f651974b014fea4a1f0f1606",
|
|
331
|
+
"stork_feeder_id": "0x01ef2ebdefa4a9fbd6f75da48007552e7a56dfd99247197a38205efb3bae634e",
|
|
332
|
+
"stork_asset_id": "SPY_24_5",
|
|
333
|
+
"enabled_sources": 3,
|
|
334
|
+
"max_slippage": "1000000000000000000"
|
|
327
335
|
}
|
|
328
336
|
}
|
|
329
337
|
}
|
package/src/consts/index.ts
CHANGED
|
@@ -57,6 +57,8 @@ export interface IZoOracleSymbolConfig {
|
|
|
57
57
|
coinType: string
|
|
58
58
|
pythFeederId: string
|
|
59
59
|
storkFeederId: string | null
|
|
60
|
+
/** Kronos/Stork asset symbol override (default: symbol key without `/`, e.g. `BTCUSD`). */
|
|
61
|
+
storkAssetId?: string | null
|
|
60
62
|
enabledSources: number
|
|
61
63
|
maxSlippage: string
|
|
62
64
|
}
|
package/src/interfaces/base.ts
CHANGED
|
@@ -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 {
|
|
44
|
-
|
|
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
|
*/
|