@lifi/perps-sdk 1.5.5 → 1.6.0
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/cjs/client/PerpsClient.d.ts +1 -1
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +6 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/assetRegistry.js +2 -2
- package/dist/cjs/registry/assetRegistry.js.map +1 -1
- package/dist/cjs/registry/marketRegistry.d.ts +1 -1
- package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/marketRegistry.js +2 -2
- package/dist/cjs/registry/marketRegistry.js.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.d.ts +1 -3
- package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.js +3 -14
- package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
- package/dist/cjs/services/getMarket.d.ts.map +1 -1
- package/dist/cjs/services/getMarket.js +9 -1
- package/dist/cjs/services/getMarket.js.map +1 -1
- package/dist/cjs/utils/accountSummary.d.ts.map +1 -1
- package/dist/cjs/utils/accountSummary.js +2 -1
- package/dist/cjs/utils/accountSummary.js.map +1 -1
- package/dist/cjs/utils/calculations.d.ts +1 -1
- package/dist/cjs/utils/calculations.d.ts.map +1 -1
- package/dist/cjs/utils/calculations.js +7 -1
- package/dist/cjs/utils/calculations.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- package/dist/cjs/websocket/ReconnectingWebSocket.js +4 -0
- package/dist/cjs/websocket/ReconnectingWebSocket.js.map +1 -1
- package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/cjs/websocket/WsProviderBase.js +9 -1
- package/dist/cjs/websocket/WsProviderBase.js.map +1 -1
- package/dist/esm/client/PerpsClient.d.ts +5 -1
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +16 -0
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/registry/assetRegistry.d.ts +1 -1
- package/dist/esm/registry/assetRegistry.d.ts.map +1 -1
- package/dist/esm/registry/assetRegistry.js +2 -2
- package/dist/esm/registry/assetRegistry.js.map +1 -1
- package/dist/esm/registry/marketRegistry.d.ts +1 -1
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
- package/dist/esm/registry/marketRegistry.js +2 -2
- package/dist/esm/registry/marketRegistry.js.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.d.ts +5 -11
- package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.js +6 -23
- package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
- package/dist/esm/services/getMarket.d.ts +4 -3
- package/dist/esm/services/getMarket.d.ts.map +1 -1
- package/dist/esm/services/getMarket.js +13 -4
- package/dist/esm/services/getMarket.js.map +1 -1
- package/dist/esm/utils/accountSummary.d.ts +7 -3
- package/dist/esm/utils/accountSummary.d.ts.map +1 -1
- package/dist/esm/utils/accountSummary.js +5 -1
- package/dist/esm/utils/accountSummary.js.map +1 -1
- package/dist/esm/utils/calculations.d.ts +5 -1
- package/dist/esm/utils/calculations.d.ts.map +1 -1
- package/dist/esm/utils/calculations.js +11 -1
- package/dist/esm/utils/calculations.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts +7 -4
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- package/dist/esm/websocket/ReconnectingWebSocket.js +11 -4
- package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -1
- package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/esm/websocket/WsProviderBase.js +14 -1
- package/dist/esm/websocket/WsProviderBase.js.map +1 -1
- package/dist/esm/websocket/types.d.ts +3 -3
- package/dist/types/client/PerpsClient.d.ts +5 -1
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/registry/assetRegistry.d.ts +1 -1
- package/dist/types/registry/assetRegistry.d.ts.map +1 -1
- package/dist/types/registry/marketRegistry.d.ts +1 -1
- package/dist/types/registry/marketRegistry.d.ts.map +1 -1
- package/dist/types/registry/referenceDataRegistry.d.ts +5 -11
- package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/types/services/getMarket.d.ts +4 -3
- package/dist/types/services/getMarket.d.ts.map +1 -1
- package/dist/types/utils/accountSummary.d.ts +7 -3
- package/dist/types/utils/accountSummary.d.ts.map +1 -1
- package/dist/types/utils/calculations.d.ts +5 -1
- package/dist/types/utils/calculations.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/ReconnectingWebSocket.d.ts +7 -4
- package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- package/dist/types/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/types/websocket/types.d.ts +3 -3
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +20 -1
- package/src/registry/assetRegistry.ts +4 -6
- package/src/registry/marketRegistry.ts +4 -6
- package/src/registry/referenceDataRegistry.ts +8 -32
- package/src/services/getMarket.ts +16 -4
- package/src/utils/accountSummary.ts +14 -4
- package/src/utils/calculations.ts +22 -9
- package/src/version.ts +1 -1
- package/src/websocket/ReconnectingWebSocket.ts +11 -4
- package/src/websocket/WsProviderBase.ts +14 -1
- package/src/websocket/types.ts +3 -3
|
@@ -178,15 +178,20 @@ export class ReconnectingWebSocket {
|
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
180
|
* Send `data`, buffering it (bounded) for replay when the socket is not yet
|
|
181
|
-
* open.
|
|
181
|
+
* open. Throws once {@link ReconnectingWebSocket.close} has been called —
|
|
182
|
+
* there is no socket left to buffer against.
|
|
182
183
|
*
|
|
183
184
|
* @public
|
|
184
185
|
*/
|
|
185
186
|
send(data) {
|
|
187
|
+
if (this.closed) {
|
|
188
|
+
throw new Error(CLOSED_ERROR);
|
|
189
|
+
}
|
|
186
190
|
this.socket.send(data);
|
|
187
191
|
}
|
|
188
192
|
/**
|
|
189
|
-
* Permanently close the socket
|
|
193
|
+
* Permanently close the socket, suppress further reconnection, and set
|
|
194
|
+
* status to terminal `disconnected`.
|
|
190
195
|
*
|
|
191
196
|
* @public
|
|
192
197
|
*/
|
|
@@ -195,6 +200,7 @@ export class ReconnectingWebSocket {
|
|
|
195
200
|
this.stopPing();
|
|
196
201
|
this.clearWatchdog();
|
|
197
202
|
this.socket.close();
|
|
203
|
+
this.setStatus('disconnected');
|
|
198
204
|
for (const { reject } of this.readyResolvers) {
|
|
199
205
|
reject(new Error(CLOSED_ERROR));
|
|
200
206
|
}
|
|
@@ -237,8 +243,9 @@ export class ReconnectingWebSocket {
|
|
|
237
243
|
}
|
|
238
244
|
/**
|
|
239
245
|
* Current connection health. `reconnecting` until the first open;
|
|
240
|
-
* `disconnected` once auto-reconnect is abandoned
|
|
241
|
-
*
|
|
246
|
+
* `disconnected` once auto-reconnect is abandoned or {@link
|
|
247
|
+
* ReconnectingWebSocket.close} is called (terminal until {@link
|
|
248
|
+
* ReconnectingWebSocket.reconnect} is called).
|
|
242
249
|
*
|
|
243
250
|
* @public
|
|
244
251
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconnectingWebSocket.js","sourceRoot":"","sources":["../../../src/websocket/ReconnectingWebSocket.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ReconnectingWebSocket.js","sourceRoot":"","sources":["../../../src/websocket/ReconnectingWebSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsProviderBase.d.ts","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAiBhD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,cAAc,CAAC,IAAI,GAAG,OAAO,CAAE,YAAW,UAAU;IACxE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAcrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WsProviderBase.d.ts","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAiBhD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,cAAc,CAAC,IAAI,GAAG,OAAO,CAAE,YAAW,UAAU;IACxE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAcrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAgCtB,SAAS,IAAI,IAAI;IAOjB,KAAK,IAAI,IAAI;IAab,mDAAmD;IACnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgBlD;;;;;;OAMG;cACa,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,4EAA4E;IAC5E,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;YAI5B,UAAU;IAqBxB,qFAAqF;IACrF,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;IAEtB,iFAAiF;IACjF,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAEnD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnE,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAEnD,mFAAmF;IACnF,SAAS,CAAC,OAAO,IAAI,IAAI;IAEzB,OAAO,CAAC,YAAY;YAYN,cAAc;IAgD5B,OAAO,CAAC,cAAc;CAwCvB"}
|
|
@@ -53,7 +53,12 @@ export class WsProviderBase {
|
|
|
53
53
|
this.statusListeners.set(onStatus, (this.statusListeners.get(onStatus) ?? 0) + 1);
|
|
54
54
|
onStatus(this.rws.getStatus());
|
|
55
55
|
}
|
|
56
|
+
let released = false;
|
|
56
57
|
return () => {
|
|
58
|
+
if (released) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
released = true;
|
|
57
62
|
if (onStatus) {
|
|
58
63
|
const remaining = (this.statusListeners.get(onStatus) ?? 0) - 1;
|
|
59
64
|
if (remaining > 0) {
|
|
@@ -142,7 +147,15 @@ export class WsProviderBase {
|
|
|
142
147
|
this.wireSubs.delete(key);
|
|
143
148
|
}
|
|
144
149
|
async replaySubs() {
|
|
145
|
-
|
|
150
|
+
// Snapshot at replay start, and re-check the live registry before each
|
|
151
|
+
// send. An async sendSubscribe (e.g. Lighter's auth-token fetch) suspends
|
|
152
|
+
// the loop; status is already 'connected' while open listeners run, so a
|
|
153
|
+
// subscribe landing mid-replay is sent inline by registerSub — it must not
|
|
154
|
+
// be revisited here, and an entry unregistered mid-replay must be skipped.
|
|
155
|
+
for (const [key, state] of [...this.wireSubs]) {
|
|
156
|
+
if (this.wireSubs.get(key) !== state) {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
146
159
|
// Isolate each resubscribe: a send can reject (e.g. an auth-token fetch
|
|
147
160
|
// after reconnect), and one sub's failure must not abort the rest of
|
|
148
161
|
// the loop or escape as an unhandled rejection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsProviderBase.js","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WsProviderBase.js","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,9 @@ export type SubscriptionListener = (event: SubscriptionEvent) => void;
|
|
|
21
21
|
* - `connected` — socket open, live data flowing.
|
|
22
22
|
* - `reconnecting` — socket dropped; auto-reconnect with backoff in progress.
|
|
23
23
|
* Data may be stale until it returns to `connected`.
|
|
24
|
-
* - `disconnected` — reconnection abandoned after the retry cap
|
|
25
|
-
* connection
|
|
26
|
-
* subscription's data is stale. Terminal.
|
|
24
|
+
* - `disconnected` — reconnection abandoned after the retry cap, or the
|
|
25
|
+
* connection was explicitly closed. The connection is permanently dead and
|
|
26
|
+
* will not recover on its own; the subscription's data is stale. Terminal.
|
|
27
27
|
*
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
|
@@ -68,10 +68,14 @@ export declare class PerpsClient {
|
|
|
68
68
|
* consumers collect signed setup actions without embedding per-method
|
|
69
69
|
* signing logic.
|
|
70
70
|
*
|
|
71
|
+
* Returns `undefined` when the plugin executed the action entirely
|
|
72
|
+
* client-side (e.g. Lighter's token-authenticated venue mutations), leaving
|
|
73
|
+
* no backend-bound step to submit.
|
|
74
|
+
*
|
|
71
75
|
* @throws {PerpsError} When the step's action is not declared by the provider.
|
|
72
76
|
* @public
|
|
73
77
|
*/
|
|
74
|
-
signProviderSetupAction(provider: string, address: Address, step: ActionStep): Promise<SignedActionStep>;
|
|
78
|
+
signProviderSetupAction(provider: string, address: Address, step: ActionStep): Promise<SignedActionStep | undefined>;
|
|
75
79
|
/**
|
|
76
80
|
* Build (but do not sign or submit) the unsigned action steps for `action`,
|
|
77
81
|
* letting the provider plugin contribute any signer-bearing request fields.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,QAAQ,EAGR,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,UAAU,EAAkB,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAMnC,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAGV,cAAc,EAEf,MAAM,sBAAsB,CAAA;AA0B7B;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,WAAW,CAA0C;gBAEjD,OAAO,EAAE,kBAAkB;IASvC;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI;IAQ7D;;;;;OAKG;IACH,IAAI,MAAM,IAAI,cAAc,CAE3B;YAEa,mBAAmB;IAuBjC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;OAOG;YACW,oBAAoB;IAgBlC;;;;;OAKG;YACW,mBAAmB;IAsBjC;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAU/B
|
|
1
|
+
{"version":3,"file":"PerpsClient.d.ts","sourceRoot":"","sources":["../../../src/client/PerpsClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare class AssetRegistry extends ReferenceDataRegistry<Asset> {
|
|
|
13
13
|
constructor(client: PerpsSDKClient, provider: string);
|
|
14
14
|
/** The most recently synced asset list. Empty before the first {@link sync}. */
|
|
15
15
|
get assets(): readonly Asset[];
|
|
16
|
-
protected fetchItems(
|
|
16
|
+
protected fetchItems(): Promise<Asset[]>;
|
|
17
17
|
protected keyOf(asset: Asset): string;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,qBAAqB,CAAC,KAAK,CAAC;gBACjD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAIpD,gFAAgF;IAChF,IAAI,MAAM,IAAI,SAAS,KAAK,EAAE,CAE7B;IAED,SAAS,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"assetRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAkB,MAAM,mBAAmB,CAAA;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,qBAAqB,CAAC,KAAK,CAAC;gBACjD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAIpD,gFAAgF;IAChF,IAAI,MAAM,IAAI,SAAS,KAAK,EAAE,CAE7B;IAED,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IASxC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;CAGtC;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GACf,aAAa,CAYf"}
|
|
@@ -22,7 +22,7 @@ export declare class MarketRegistry extends ReferenceDataRegistry<Market> {
|
|
|
22
22
|
* @throws {PerpsError} `MarketNotFound`.
|
|
23
23
|
*/
|
|
24
24
|
require(marketId: string): Market;
|
|
25
|
-
protected fetchItems(
|
|
25
|
+
protected fetchItems(): Promise<Market[]>;
|
|
26
26
|
protected keyOf(market: Market): string;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AAI/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,qBAAqB,CAAC,MAAM,CAAC;gBACnD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAIpD,iFAAiF;IACjF,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAE/B;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAajC,SAAS,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAA;AAI/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,qBAAqB,CAAC,MAAM,CAAC;gBACnD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAIpD,iFAAiF;IACjF,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAE/B;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAajC,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IASzC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGxC;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GACf,cAAc,CAYhB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,aAM/C,CAAA"}
|
|
@@ -5,9 +5,8 @@ import type { PerpsSDKClient } from '../types/provider.js';
|
|
|
5
5
|
*
|
|
6
6
|
* NOT a cache: it holds no freshness policy of its own. Every {@link sync}
|
|
7
7
|
* refetches through the HTTP layer, whose `cache-control` headers decide
|
|
8
|
-
* whether the response comes from disk or the network. A lookup miss
|
|
9
|
-
*
|
|
10
|
-
* cache — the id may have listed after the cached snapshot.
|
|
8
|
+
* whether the response comes from disk or the network. A lookup miss warns
|
|
9
|
+
* once and returns `undefined`; the next {@link sync} reconciles the index.
|
|
11
10
|
*
|
|
12
11
|
* @internal
|
|
13
12
|
*/
|
|
@@ -19,10 +18,9 @@ export declare abstract class ReferenceDataRegistry<T> {
|
|
|
19
18
|
private current;
|
|
20
19
|
private inflight;
|
|
21
20
|
private warnedIds;
|
|
22
|
-
private refreshAfter;
|
|
23
21
|
protected constructor(client: PerpsSDKClient, provider: string, kind: string);
|
|
24
|
-
/** Fetch the provider's full list
|
|
25
|
-
protected abstract fetchItems(
|
|
22
|
+
/** Fetch the provider's full list through the HTTP layer. */
|
|
23
|
+
protected abstract fetchItems(): Promise<T[]>;
|
|
26
24
|
/** The item's primary key — what {@link get} is keyed by. */
|
|
27
25
|
protected abstract keyOf(item: T): string;
|
|
28
26
|
/**
|
|
@@ -33,12 +31,8 @@ export declare abstract class ReferenceDataRegistry<T> {
|
|
|
33
31
|
sync(): Promise<readonly T[]>;
|
|
34
32
|
/** The most recently synced list. Empty before the first {@link sync}. */
|
|
35
33
|
protected get items(): readonly T[];
|
|
36
|
-
/**
|
|
37
|
-
* O(1) lookup by primary key. A miss warns once per id and schedules the
|
|
38
|
-
* cooldown-gated, cache-bypassing background refetch.
|
|
39
|
-
*/
|
|
34
|
+
/** O(1) lookup by primary key. A miss warns once per id. */
|
|
40
35
|
get(id: string): T | undefined;
|
|
41
36
|
private load;
|
|
42
|
-
private scheduleRefresh;
|
|
43
37
|
}
|
|
44
38
|
//# sourceMappingURL=referenceDataRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,8BAAsB,qBAAqB,CAAC,CAAC;IAOzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAoB;IAErC,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM;IAG/B,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAE7C,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAEzC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAS7B,0EAA0E;IAC1E,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAYhB,IAAI;CAOnB"}
|
|
@@ -18,10 +18,11 @@ export interface GetMarketParams {
|
|
|
18
18
|
/**
|
|
19
19
|
* Get a specific market by its opaque marketId. Requests the single market
|
|
20
20
|
* from the backend `/markets` route (filtered by `marketIds`) and returns the
|
|
21
|
-
* first match;
|
|
22
|
-
*
|
|
21
|
+
* first match; throws a `MarketNotFound` {@link PerpsError} both when the
|
|
22
|
+
* backend responds 404 and when it responds 200 with an empty list, matching
|
|
23
|
+
* `MarketRegistry.require`'s miss behaviour.
|
|
23
24
|
*
|
|
24
|
-
* @throws {PerpsError} On backend (e.g. 404), network, or parsing errors.
|
|
25
|
+
* @throws {PerpsError} On backend (e.g. 404 or empty match), network, or parsing errors.
|
|
25
26
|
* @example
|
|
26
27
|
* ```ts
|
|
27
28
|
* const client = createPerpsClient({ integrator: 'my-app' })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAIhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
|
|
@@ -4,11 +4,15 @@ import type { AccountResponse, AccountSummary, Position } from '@lifi/perps-type
|
|
|
4
4
|
* positions' locked margin and unrealized PnL:
|
|
5
5
|
*
|
|
6
6
|
* - `'free'` — free collateral only; locked margin and unrealized PnL are
|
|
7
|
-
* both carried by the positions.
|
|
7
|
+
* both carried by the positions. Available margin is the free collateral
|
|
8
|
+
* as-is; unrealized PnL is not counted toward it.
|
|
8
9
|
* - `'gross'` — locked margin included, unrealized PnL carried by the
|
|
9
|
-
* positions (e.g. spot holdings backing a unified account).
|
|
10
|
+
* positions (e.g. spot holdings backing a unified account). The venue
|
|
11
|
+
* counts unrealized PnL toward buying power, so it is added to available
|
|
12
|
+
* margin on top of the gross collateral.
|
|
10
13
|
* - `'equity'` — total equity: locked margin AND unrealized PnL included
|
|
11
|
-
* (e.g. a venue-reported account value).
|
|
14
|
+
* (e.g. a venue-reported account value). Unrealized PnL is thus already
|
|
15
|
+
* counted toward available margin.
|
|
12
16
|
*
|
|
13
17
|
* @public
|
|
14
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAM1B
|
|
1
|
+
{"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAM1B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE7D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,mBAAmB,GAC7B,cAAc,CA4BhB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* of the perps SDK would need. All parameters are required — no default
|
|
6
6
|
* values for critical financial parameters.
|
|
7
7
|
*/
|
|
8
|
-
import type
|
|
8
|
+
import { type FeeTier, type Market, type MarketContext, type OrderbookLevel, type Quote, type QuoteSide, type TradeType } from '@lifi/perps-types';
|
|
9
9
|
/**
|
|
10
10
|
* Calculate position size in asset units from margin.
|
|
11
11
|
*
|
|
@@ -193,6 +193,8 @@ interface BookWalk {
|
|
|
193
193
|
* notional, the walk stops at the last level and flags `insufficientLiquidity`,
|
|
194
194
|
* returning the best obtainable fill.
|
|
195
195
|
*
|
|
196
|
+
* @throws {PerpsError} `ValidationError` when a level's `price` or `size`
|
|
197
|
+
* does not parse to a finite number.
|
|
196
198
|
* @public
|
|
197
199
|
*/
|
|
198
200
|
export declare function walkOrderbook(levels: OrderbookLevel[], sizeUsd: number): BookWalk;
|
|
@@ -218,6 +220,8 @@ interface BuildQuoteInput {
|
|
|
218
220
|
* versus mark, applies the base taker fee on the filled notional, and carries
|
|
219
221
|
* the market's `funding` (`null` for spot, which has none).
|
|
220
222
|
*
|
|
223
|
+
* @throws {PerpsError} `ValidationError` when a book level does not parse to
|
|
224
|
+
* a finite number — see {@link walkOrderbook}.
|
|
221
225
|
* @public
|
|
222
226
|
*/
|
|
223
227
|
export declare function buildQuote(input: BuildQuoteInput): Quote;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"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"}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -64,13 +64,15 @@ export declare class ReconnectingWebSocket {
|
|
|
64
64
|
private clearWatchdog;
|
|
65
65
|
/**
|
|
66
66
|
* Send `data`, buffering it (bounded) for replay when the socket is not yet
|
|
67
|
-
* open.
|
|
67
|
+
* open. Throws once {@link ReconnectingWebSocket.close} has been called —
|
|
68
|
+
* there is no socket left to buffer against.
|
|
68
69
|
*
|
|
69
70
|
* @public
|
|
70
71
|
*/
|
|
71
72
|
send(data: string): void;
|
|
72
73
|
/**
|
|
73
|
-
* Permanently close the socket
|
|
74
|
+
* Permanently close the socket, suppress further reconnection, and set
|
|
75
|
+
* status to terminal `disconnected`.
|
|
74
76
|
*
|
|
75
77
|
* @public
|
|
76
78
|
*/
|
|
@@ -97,8 +99,9 @@ export declare class ReconnectingWebSocket {
|
|
|
97
99
|
off<E extends WsEvent>(event: E, fn: WsEventMap[E]): void;
|
|
98
100
|
/**
|
|
99
101
|
* Current connection health. `reconnecting` until the first open;
|
|
100
|
-
* `disconnected` once auto-reconnect is abandoned
|
|
101
|
-
*
|
|
102
|
+
* `disconnected` once auto-reconnect is abandoned or {@link
|
|
103
|
+
* ReconnectingWebSocket.close} is called (terminal until {@link
|
|
104
|
+
* ReconnectingWebSocket.reconnect} is called).
|
|
102
105
|
*
|
|
103
106
|
* @public
|
|
104
107
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconnectingWebSocket.d.ts","sourceRoot":"","sources":["../../../src/websocket/ReconnectingWebSocket.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGtE,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,CAAA;AAED,KAAK,OAAO,GAAG,MAAM,UAAU,CAAA;AAyB/B;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAKhB;IACD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,cAAc,CAGf;gBAEK,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B;IAyB/D,OAAO,CAAC,UAAU,CAWjB;IAED,OAAO,CAAC,WAAW,CA4BlB;IAED,OAAO,CAAC,WAAW,CAIlB;IAED,OAAO,CAAC,aAAa,CAOpB;IAED,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAOrB
|
|
1
|
+
{"version":3,"file":"ReconnectingWebSocket.d.ts","sourceRoot":"","sources":["../../../src/websocket/ReconnectingWebSocket.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGtE,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAChC,CAAA;AAED,KAAK,OAAO,GAAG,MAAM,UAAU,CAAA;AAyB/B;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IACnC,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,SAAS,CAKhB;IACD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,cAAc,CAGf;gBAEK,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B;IAyB/D,OAAO,CAAC,UAAU,CAWjB;IAED,OAAO,CAAC,WAAW,CA4BlB;IAED,OAAO,CAAC,WAAW,CAIlB;IAED,OAAO,CAAC,aAAa,CAOpB;IAED,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM;IAOjB;;;;;OAKG;IACH,KAAK;IAYL;;;;;;OAMG;IACH,SAAS;IAWT;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAIjD;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAIlD;;;;;;;OAOG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,gBAAgB;IAI7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,gBAAgB;IAI9B;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAcvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsProviderBase.d.ts","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAiBhD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,cAAc,CAAC,IAAI,GAAG,OAAO,CAAE,YAAW,UAAU;IACxE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAcrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WsProviderBase.d.ts","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAiBhD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,cAAc,CAAC,IAAI,GAAG,OAAO,CAAE,YAAW,UAAU;IACxE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;gBAEvC,GAAG,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAcrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAgCtB,SAAS,IAAI,IAAI;IAOjB,KAAK,IAAI,IAAI;IAab,mDAAmD;IACnD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAU3D;;;;;;;OAOG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAgBlD;;;;;;OAMG;cACa,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,4EAA4E;IAC5E,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;YAI5B,UAAU;IAqBxB,qFAAqF;IACrF,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;IAEtB,iFAAiF;IACjF,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAEnD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEnE,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAEnD,mFAAmF;IACnF,SAAS,CAAC,OAAO,IAAI,IAAI;IAEzB,OAAO,CAAC,YAAY;YAYN,cAAc;IAgD5B,OAAO,CAAC,cAAc;CAwCvB"}
|
|
@@ -21,9 +21,9 @@ export type SubscriptionListener = (event: SubscriptionEvent) => void;
|
|
|
21
21
|
* - `connected` — socket open, live data flowing.
|
|
22
22
|
* - `reconnecting` — socket dropped; auto-reconnect with backoff in progress.
|
|
23
23
|
* Data may be stale until it returns to `connected`.
|
|
24
|
-
* - `disconnected` — reconnection abandoned after the retry cap
|
|
25
|
-
* connection
|
|
26
|
-
* subscription's data is stale. Terminal.
|
|
24
|
+
* - `disconnected` — reconnection abandoned after the retry cap, or the
|
|
25
|
+
* connection was explicitly closed. The connection is permanently dead and
|
|
26
|
+
* will not recover on its own; the subscription's data is stale. Terminal.
|
|
27
27
|
*
|
|
28
28
|
* @public
|
|
29
29
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "LI.FI Perps SDK for perpetuals trading",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@lifi/types": "17.82.1",
|
|
45
45
|
"partysocket": "^1.1.19",
|
|
46
46
|
"viem": "^2.48.8",
|
|
47
|
-
"@lifi/perps-types": "^1.
|
|
47
|
+
"@lifi/perps-types": "^1.11.0"
|
|
48
48
|
},
|
|
49
49
|
"publishConfig": {
|
|
50
50
|
"access": "public"
|
|
@@ -217,6 +217,10 @@ export class PerpsClient {
|
|
|
217
217
|
* consumers collect signed setup actions without embedding per-method
|
|
218
218
|
* signing logic.
|
|
219
219
|
*
|
|
220
|
+
* Returns `undefined` when the plugin executed the action entirely
|
|
221
|
+
* client-side (e.g. Lighter's token-authenticated venue mutations), leaving
|
|
222
|
+
* no backend-bound step to submit.
|
|
223
|
+
*
|
|
220
224
|
* @throws {PerpsError} When the step's action is not declared by the provider.
|
|
221
225
|
* @public
|
|
222
226
|
*/
|
|
@@ -224,7 +228,7 @@ export class PerpsClient {
|
|
|
224
228
|
provider: string,
|
|
225
229
|
address: Address,
|
|
226
230
|
step: ActionStep
|
|
227
|
-
): Promise<SignedActionStep> {
|
|
231
|
+
): Promise<SignedActionStep | undefined> {
|
|
228
232
|
const metadata = await this.getProviderMetadata(provider)
|
|
229
233
|
const descriptor = findActionDescriptor(metadata, step.action)
|
|
230
234
|
const [signed] = await this.delegateSignActions(
|
|
@@ -476,6 +480,14 @@ export class PerpsClient {
|
|
|
476
480
|
}
|
|
477
481
|
|
|
478
482
|
const signed = await this.signProviderSetupAction(provider, address, step)
|
|
483
|
+
|
|
484
|
+
// A client-executed setup action (Lighter SET_REFERRAL) produces no
|
|
485
|
+
// backend-bound step — it already ran during signing, so there is nothing
|
|
486
|
+
// to submit.
|
|
487
|
+
if (signed === undefined) {
|
|
488
|
+
return
|
|
489
|
+
}
|
|
490
|
+
|
|
479
491
|
await this.executeProviderSetup({
|
|
480
492
|
provider,
|
|
481
493
|
address,
|
|
@@ -669,6 +681,13 @@ export class PerpsClient {
|
|
|
669
681
|
actions
|
|
670
682
|
)
|
|
671
683
|
|
|
684
|
+
// A plugin may execute an action entirely client-side (e.g. Lighter's
|
|
685
|
+
// token-authenticated venue mutations), leaving no backend-bound step. With
|
|
686
|
+
// nothing to submit, skip the `/executeAction` hop.
|
|
687
|
+
if (signedActions.length === 0) {
|
|
688
|
+
return { results: [] }
|
|
689
|
+
}
|
|
690
|
+
|
|
672
691
|
return executeAction(this.sdkClient, {
|
|
673
692
|
provider,
|
|
674
693
|
address,
|
|
@@ -21,15 +21,13 @@ export class AssetRegistry extends ReferenceDataRegistry<Asset> {
|
|
|
21
21
|
return this.items
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
protected fetchItems(
|
|
24
|
+
protected fetchItems(): Promise<Asset[]> {
|
|
25
25
|
const url = buildUrl(`${this.client.config.apiUrl}/assets`, {
|
|
26
26
|
provider: this.provider,
|
|
27
27
|
})
|
|
28
|
-
return request<AssetsResponse>(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
bypassHttpCache ? { cache: 'no-cache' } : {}
|
|
32
|
-
).then((response) => response.assets)
|
|
28
|
+
return request<AssetsResponse>(this.client.config, url).then(
|
|
29
|
+
(response) => response.assets
|
|
30
|
+
)
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
protected keyOf(asset: Asset): string {
|
|
@@ -44,15 +44,13 @@ export class MarketRegistry extends ReferenceDataRegistry<Market> {
|
|
|
44
44
|
return market
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
protected fetchItems(
|
|
47
|
+
protected fetchItems(): Promise<Market[]> {
|
|
48
48
|
const url = buildUrl(`${this.client.config.apiUrl}/markets`, {
|
|
49
49
|
provider: this.provider,
|
|
50
50
|
})
|
|
51
|
-
return request<MarketsResponse>(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
bypassHttpCache ? { cache: 'no-cache' } : {}
|
|
55
|
-
).then((response) => response.markets)
|
|
51
|
+
return request<MarketsResponse>(this.client.config, url).then(
|
|
52
|
+
(response) => response.markets
|
|
53
|
+
)
|
|
56
54
|
}
|
|
57
55
|
|
|
58
56
|
protected keyOf(market: Market): string {
|