@lifi/perps-sdk 12.1.0 → 14.0.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/README.md +7 -5
- package/dist/cjs/client/PerpsClient.d.ts +8 -3
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +15 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/index.d.ts +6 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +10 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts +2 -0
- package/dist/cjs/registry/assetRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/assetRegistry.js +18 -1
- package/dist/cjs/registry/assetRegistry.js.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.d.ts +5 -2
- package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.js +37 -7
- package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts +2 -1
- package/dist/cjs/services/getOrders.d.ts.map +1 -1
- package/dist/cjs/services/getOrders.js +2 -0
- package/dist/cjs/services/getOrders.js.map +1 -1
- package/dist/cjs/transport/fetchWithRetry.d.ts.map +1 -1
- package/dist/cjs/transport/fetchWithRetry.js.map +1 -1
- package/dist/cjs/types/api.d.ts +6 -1
- package/dist/cjs/types/api.d.ts.map +1 -1
- package/dist/cjs/types/provider.d.ts +7 -6
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/orderClassification.d.ts +9 -5
- package/dist/cjs/utils/orderClassification.d.ts.map +1 -1
- package/dist/cjs/utils/orderClassification.js +19 -0
- package/dist/cjs/utils/orderClassification.js.map +1 -1
- package/dist/cjs/utils/orderMath.d.ts +2 -2
- package/dist/cjs/utils/orderMath.d.ts.map +1 -1
- package/dist/cjs/utils/orderMath.js +15 -4
- package/dist/cjs/utils/orderMath.js.map +1 -1
- package/dist/cjs/utils/warnOnce.d.ts +2 -0
- package/dist/cjs/utils/warnOnce.d.ts.map +1 -0
- package/dist/cjs/utils/warnOnce.js +22 -0
- package/dist/cjs/utils/warnOnce.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/websocket/PerpsWsClient.d.ts +7 -2
- package/dist/cjs/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/cjs/websocket/PerpsWsClient.js +3 -0
- package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
- package/dist/esm/client/PerpsClient.d.ts +18 -3
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +25 -0
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/index.d.ts +6 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/assetRegistry.d.ts +5 -8
- package/dist/esm/registry/assetRegistry.d.ts.map +1 -1
- package/dist/esm/registry/assetRegistry.js +21 -9
- package/dist/esm/registry/assetRegistry.js.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.d.ts +6 -14
- package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.js +38 -19
- package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
- package/dist/esm/services/getOrders.d.ts +3 -17
- package/dist/esm/services/getOrders.d.ts.map +1 -1
- package/dist/esm/services/getOrders.js +3 -16
- package/dist/esm/services/getOrders.js.map +1 -1
- package/dist/esm/transport/fetchWithRetry.d.ts +3 -2
- package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -1
- package/dist/esm/transport/fetchWithRetry.js +3 -2
- package/dist/esm/transport/fetchWithRetry.js.map +1 -1
- package/dist/esm/types/api.d.ts +13 -3
- package/dist/esm/types/api.d.ts.map +1 -1
- package/dist/esm/types/provider.d.ts +16 -16
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/orderClassification.d.ts +14 -19
- package/dist/esm/utils/orderClassification.d.ts.map +1 -1
- package/dist/esm/utils/orderClassification.js +21 -15
- package/dist/esm/utils/orderClassification.js.map +1 -1
- package/dist/esm/utils/orderMath.d.ts +3 -13
- package/dist/esm/utils/orderMath.d.ts.map +1 -1
- package/dist/esm/utils/orderMath.js +17 -16
- package/dist/esm/utils/orderMath.js.map +1 -1
- package/dist/esm/utils/warnOnce.d.ts +9 -0
- package/dist/esm/utils/warnOnce.d.ts.map +1 -0
- package/dist/esm/utils/warnOnce.js +29 -0
- package/dist/esm/utils/warnOnce.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/websocket/PerpsWsClient.d.ts +25 -6
- package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/esm/websocket/PerpsWsClient.js +13 -2
- package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
- package/dist/types/client/PerpsClient.d.ts +18 -3
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/assetRegistry.d.ts +5 -8
- package/dist/types/registry/assetRegistry.d.ts.map +1 -1
- package/dist/types/registry/referenceDataRegistry.d.ts +6 -14
- package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts +3 -17
- package/dist/types/services/getOrders.d.ts.map +1 -1
- package/dist/types/transport/fetchWithRetry.d.ts +3 -2
- package/dist/types/transport/fetchWithRetry.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +13 -3
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/provider.d.ts +16 -16
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/utils/orderClassification.d.ts +14 -19
- package/dist/types/utils/orderClassification.d.ts.map +1 -1
- package/dist/types/utils/orderMath.d.ts +3 -13
- package/dist/types/utils/orderMath.d.ts.map +1 -1
- package/dist/types/utils/warnOnce.d.ts +9 -0
- package/dist/types/utils/warnOnce.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/PerpsWsClient.d.ts +25 -6
- package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +58 -1
- package/src/index.ts +9 -2
- package/src/registry/assetRegistry.ts +29 -9
- package/src/registry/referenceDataRegistry.ts +46 -19
- package/src/services/getOrders.ts +5 -17
- package/src/transport/fetchWithRetry.ts +3 -2
- package/src/types/api.ts +14 -2
- package/src/types/provider.ts +23 -21
- package/src/utils/orderClassification.ts +37 -19
- package/src/utils/orderMath.ts +25 -17
- package/src/utils/warnOnce.ts +29 -0
- package/src/version.ts +1 -1
- package/src/websocket/PerpsWsClient.ts +29 -6
package/dist/esm/types/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountConfigSetting, AccountResponse, CancelTwapOrderParams as ActionCancelTwapOrderParams, CreateReferralCodeParams as ActionCreateReferralCodeParams, ActionParamsMap, PlaceTwapOrderParams as ActionPlaceTwapOrderParams, ActionStep, ExecuteActionResponse, MarginMode, MarketRef, MetaActionType, ModifyOrderInput, OnboardParams, OrderSide, OrderType, ProviderAction, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types';
|
|
1
|
+
import type { AccountConfigSetting, AccountResponse, CancelTwapOrderParams as ActionCancelTwapOrderParams, CreateReferralCodeParams as ActionCreateReferralCodeParams, ActionParamsMap, PlaceTwapOrderParams as ActionPlaceTwapOrderParams, ActionStep, ExecuteActionResponse, MarginMode, MarketRef, MetaActionType, ModifyOrderInput, OnboardParams, OrderSide, OrderType, PortfolioHistoryRange, ProviderAction, SignedActionStep, TimeInForce, TriggerOrderInput, WithdrawalParams } from '@lifi/perps-types';
|
|
2
2
|
import type { Account, Address, WalletClient } from 'viem';
|
|
3
3
|
import type { RetryConfig } from '../transport/retryPolicy.js';
|
|
4
4
|
import type { ProviderConfigs, RequestInterceptor, SwitchChainHook } from './config.js';
|
|
@@ -145,8 +145,8 @@ export interface PlaceOrderParams {
|
|
|
145
145
|
stopLoss?: TriggerOrderInput;
|
|
146
146
|
}
|
|
147
147
|
/**
|
|
148
|
-
*
|
|
149
|
-
*
|
|
148
|
+
* Sends `ActionType.PLACE_TRIGGER_ORDER` with
|
|
149
|
+
* `{ market, side, takeProfit?, stopLoss? }`.
|
|
150
150
|
*
|
|
151
151
|
* @public
|
|
152
152
|
*/
|
|
@@ -258,6 +258,16 @@ export interface GetWithdrawableBalancesParams {
|
|
|
258
258
|
provider: string;
|
|
259
259
|
address: Address;
|
|
260
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Parameters for {@link PerpsClient.getPortfolioHistory}.
|
|
263
|
+
*
|
|
264
|
+
* @public
|
|
265
|
+
*/
|
|
266
|
+
export interface GetPortfolioHistoryParams {
|
|
267
|
+
provider: string;
|
|
268
|
+
address: Address;
|
|
269
|
+
range: PortfolioHistoryRange;
|
|
270
|
+
}
|
|
261
271
|
/**
|
|
262
272
|
* One entry on {@link ProviderSetup.checklist}: a user-facing setup
|
|
263
273
|
* descriptor plus its satisfied state for the queried account.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, MarketRef, MarketSettings, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionMarginConstraints, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType
|
|
1
|
+
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, MarketRef, MarketSettings, Order, OrderStatus, OrdersResponse, PerpsMarket, PerpsSigner, PortfolioHistoryRange, PortfolioHistoryResponse, Position, PositionMarginConstraints, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
import type { PerpsBaseConfig, PerpsClientSigner, SDKRequestOptions } from './config.js';
|
|
4
4
|
import type { DepositFlow } from './deposit.js';
|
|
@@ -177,6 +177,7 @@ export interface ProviderGetMarketSettingsParams {
|
|
|
177
177
|
*/
|
|
178
178
|
export interface ProviderGetOrdersParams {
|
|
179
179
|
address: Address;
|
|
180
|
+
statuses?: OrderStatus[];
|
|
180
181
|
/** Optional opaque `Market.id` filter (not a display symbol). */
|
|
181
182
|
marketId?: string;
|
|
182
183
|
/** Maximum items returned; provider defaults and caps apply. */
|
|
@@ -184,16 +185,6 @@ export interface ProviderGetOrdersParams {
|
|
|
184
185
|
/** Opaque pagination cursor from the previous response. */
|
|
185
186
|
cursor?: string;
|
|
186
187
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Read params for {@link PerpsProvider.getRunningTwaps}.
|
|
189
|
-
*
|
|
190
|
-
* @public
|
|
191
|
-
*/
|
|
192
|
-
export interface ProviderGetRunningTwapsParams {
|
|
193
|
-
address: Address;
|
|
194
|
-
/** Optional opaque `Market.id` filter (not a display symbol). */
|
|
195
|
-
marketId?: string;
|
|
196
|
-
}
|
|
197
188
|
/**
|
|
198
189
|
* Read params for {@link PerpsProvider.getOrder}.
|
|
199
190
|
*
|
|
@@ -238,6 +229,15 @@ export interface ProviderGetActivityParams {
|
|
|
238
229
|
/** Optional filter for activity types. */
|
|
239
230
|
type?: ActivityType[];
|
|
240
231
|
}
|
|
232
|
+
/**
|
|
233
|
+
* Read params for {@link PerpsProvider.getPortfolioHistory}.
|
|
234
|
+
*
|
|
235
|
+
* @public
|
|
236
|
+
*/
|
|
237
|
+
export interface ProviderGetPortfolioHistoryParams {
|
|
238
|
+
address: Address;
|
|
239
|
+
range: PortfolioHistoryRange;
|
|
240
|
+
}
|
|
241
241
|
/**
|
|
242
242
|
* Read params for {@link PerpsProviderPlugin.getQuote}. `provider` is implicit
|
|
243
243
|
* in the provider instance and so is not duplicated here.
|
|
@@ -362,14 +362,14 @@ export interface PerpsProviderPlugin {
|
|
|
362
362
|
*/
|
|
363
363
|
getMarketSettings?(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings | undefined>;
|
|
364
364
|
getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
|
|
365
|
-
/**
|
|
366
|
-
* Fetch the account's currently running TWAP parent orders directly from the
|
|
367
|
-
* venue. Child slice orders are excluded.
|
|
368
|
-
*/
|
|
369
|
-
getRunningTwaps?(params: ProviderGetRunningTwapsParams, options?: SDKRequestOptions): Promise<TwapOrder[]>;
|
|
370
365
|
getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
|
|
371
366
|
getFills(params: ProviderGetFillsParams, options?: SDKRequestOptions): Promise<FillsResponse>;
|
|
372
367
|
getActivity(params: ProviderGetActivityParams, options?: SDKRequestOptions): Promise<ActivitiesResponse>;
|
|
368
|
+
/**
|
|
369
|
+
* Read the account's portfolio value and cumulative PnL over
|
|
370
|
+
* `params.range`, oldest point first, directly from the venue.
|
|
371
|
+
*/
|
|
372
|
+
getPortfolioHistory?(params: ProviderGetPortfolioHistoryParams, options?: SDKRequestOptions): Promise<PortfolioHistoryResponse>;
|
|
373
373
|
/**
|
|
374
374
|
* Produce a one-shot fill {@link Quote} for `params.symbol` at `params.size`
|
|
375
375
|
* USD notional on this venue. The provider resolves the symbol against its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,MAAM,EACN,SAAS,EACT,cAAc,EACd,KAAK,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Type guards and classifiers that operate on SDK types to determine
|
|
5
|
-
* order categories (TP/SL, open/close). These use the OrderType enum
|
|
6
|
-
* for classification — no string matching.
|
|
7
|
-
*/
|
|
8
|
-
import type { OpenOrder } from '@lifi/perps-types';
|
|
9
|
-
import { FillClassification, OrderSide, OrderStatus } from '@lifi/perps-types';
|
|
1
|
+
import type { Order, RegularOrder, TriggerOrder, TwapOrder } from '@lifi/perps-types';
|
|
2
|
+
import { FillClassification, OrderSide, OrderStatus, TriggerCondition } from '@lifi/perps-types';
|
|
10
3
|
/**
|
|
11
4
|
* Re-exported fill taxonomy used by {@link classifyFillFromPosition}.
|
|
12
5
|
*
|
|
@@ -17,24 +10,26 @@ export { FillClassification };
|
|
|
17
10
|
* Check if an open order is a Take Profit trigger order.
|
|
18
11
|
* @public
|
|
19
12
|
*/
|
|
20
|
-
export declare function isTakeProfitOrder(order: Pick<
|
|
13
|
+
export declare function isTakeProfitOrder(order: Pick<Order, 'type'>): boolean;
|
|
21
14
|
/**
|
|
22
15
|
* Check if an open order is a Stop Loss trigger order.
|
|
23
16
|
* @public
|
|
24
17
|
*/
|
|
25
|
-
export declare function isStopLossOrder(order: Pick<
|
|
18
|
+
export declare function isStopLossOrder(order: Pick<Order, 'type'>): boolean;
|
|
26
19
|
/**
|
|
27
20
|
* Check if an open order is a TP or SL trigger order.
|
|
28
21
|
* @public
|
|
29
22
|
*/
|
|
30
|
-
export declare function isTpSlOrder(order: Pick<
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*/
|
|
23
|
+
export declare function isTpSlOrder(order: Pick<Order, 'type'>): boolean;
|
|
24
|
+
/** Narrow an order to a price-activated order. */
|
|
25
|
+
export declare function isTriggerOrder(order: Order): order is TriggerOrder;
|
|
26
|
+
/** Narrow an order to a market or limit order. */
|
|
27
|
+
export declare function isRegularOrder(order: Order): order is RegularOrder;
|
|
28
|
+
/** Narrow an order to a time-weighted execution parent. */
|
|
29
|
+
export declare function isTwapOrder(order: Order): order is TwapOrder;
|
|
30
|
+
/** Derive the trigger price relation from the trigger type and execution side. */
|
|
31
|
+
export declare function triggerConditionFor(type: TriggerOrder['type'], side: OrderSide): TriggerCondition;
|
|
32
|
+
/** Lifecycle statuses included in order reads by default. */
|
|
38
33
|
export declare const ACTIVE_ORDER_STATUSES: ReadonlySet<OrderStatus>;
|
|
39
34
|
/**
|
|
40
35
|
* Whether `status` is one of {@link ACTIVE_ORDER_STATUSES}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"orderClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EAEX,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAG1B;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAY7B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAErE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/D;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,YAAY,CAElE;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,YAAY,CAElE;AAED,2DAA2D;AAC3D,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,SAAS,CAE5D;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,IAAI,EAAE,SAAS,GACd,gBAAgB,CAKlB;AAED,6DAA6D;AAC7D,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,WAAW,CAKzD,CAAA;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACrC,kBAAkB,CAUpB"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Order classification utilities.
|
|
3
|
-
*
|
|
4
|
-
* Type guards and classifiers that operate on SDK types to determine
|
|
5
|
-
* order categories (TP/SL, open/close). These use the OrderType enum
|
|
6
|
-
* for classification — no string matching.
|
|
7
|
-
*/
|
|
8
|
-
import { FillClassification, OrderSide, OrderStatus, OrderType, } from '@lifi/perps-types';
|
|
1
|
+
import { FillClassification, OrderSide, OrderStatus, OrderType, TriggerCondition, } from '@lifi/perps-types';
|
|
9
2
|
import { stringToFloat } from './parse.js';
|
|
10
3
|
/**
|
|
11
4
|
* Re-exported fill taxonomy used by {@link classifyFillFromPosition}.
|
|
@@ -42,13 +35,26 @@ export function isStopLossOrder(order) {
|
|
|
42
35
|
export function isTpSlOrder(order) {
|
|
43
36
|
return TP_TYPES.has(order.type) || SL_TYPES.has(order.type);
|
|
44
37
|
}
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
/** Narrow an order to a price-activated order. */
|
|
39
|
+
export function isTriggerOrder(order) {
|
|
40
|
+
return isTpSlOrder(order);
|
|
41
|
+
}
|
|
42
|
+
/** Narrow an order to a market or limit order. */
|
|
43
|
+
export function isRegularOrder(order) {
|
|
44
|
+
return order.type === OrderType.MARKET || order.type === OrderType.LIMIT;
|
|
45
|
+
}
|
|
46
|
+
/** Narrow an order to a time-weighted execution parent. */
|
|
47
|
+
export function isTwapOrder(order) {
|
|
48
|
+
return order.type === OrderType.TWAP;
|
|
49
|
+
}
|
|
50
|
+
/** Derive the trigger price relation from the trigger type and execution side. */
|
|
51
|
+
export function triggerConditionFor(type, side) {
|
|
52
|
+
const takeProfit = TP_TYPES.has(type);
|
|
53
|
+
return takeProfit === (side === OrderSide.SELL)
|
|
54
|
+
? TriggerCondition.ABOVE
|
|
55
|
+
: TriggerCondition.BELOW;
|
|
56
|
+
}
|
|
57
|
+
/** Lifecycle statuses included in order reads by default. */
|
|
52
58
|
export const ACTIVE_ORDER_STATUSES = new Set([
|
|
53
59
|
OrderStatus.OPEN,
|
|
54
60
|
OrderStatus.PENDING,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderClassification.js","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orderClassification.js","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EACX,SAAS,EACT,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY;IAClC,SAAS,CAAC,kBAAkB;IAC5B,SAAS,CAAC,iBAAiB;CAC5B,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY;IAClC,SAAS,CAAC,WAAW;IACrB,SAAS,CAAC,UAAU;CACrB,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA0B;IACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC7D,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAA;AAC1E,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAA;AACtC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CACjC,IAA0B,EAC1B,IAAe;IAEf,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,UAAU,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;QAC7C,CAAC,CAAC,gBAAgB,CAAC,KAAK;QACxB,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAA;AAC5B,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAA6B,IAAI,GAAG,CAAC;IACrE,WAAW,CAAC,IAAI;IAChB,WAAW,CAAC,OAAO;IACnB,WAAW,CAAC,gBAAgB;IAC5B,WAAW,CAAC,SAAS;CACtB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,OAAO,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAe,EACf,WAAsC;IAEtC,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACvE,IAAI,IAAI,KAAK,SAAS,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAO,OAAO;YACZ,CAAC,CAAC,kBAAkB,CAAC,YAAY;YACjC,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAA;IACpC,CAAC;IACD,OAAO,OAAO;QACZ,CAAC,CAAC,kBAAkB,CAAC,WAAW;QAChC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAA;AACrC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type Position, type RegularOrder, type TriggerOrder } from '@lifi/perps-types';
|
|
2
2
|
/**
|
|
3
3
|
* Pick the matching open position for an order's market, if any.
|
|
4
4
|
*
|
|
@@ -31,17 +31,7 @@ export declare function resolveCloseSize(orderSize: number, positionSize: number
|
|
|
31
31
|
* `null`.
|
|
32
32
|
* @public
|
|
33
33
|
*/
|
|
34
|
-
export declare function expectedRealizedPnlForOpenOrder(order:
|
|
35
|
-
/**
|
|
36
|
-
* Expected rPnL for a TP/SL trigger order against a matching position.
|
|
37
|
-
*
|
|
38
|
-
* A trigger order is by construction a closing leg — its direction is the
|
|
39
|
-
* opposite of the position's. With no matching position there is nothing to
|
|
40
|
-
* close, so rPnL is `null`. The trigger price (always present on the SDK
|
|
41
|
-
* `TriggerOrder` shape) is used as the rPnL price; the optional `limitPrice`
|
|
42
|
-
* for STOP_LIMIT / TAKE_PROFIT_LIMIT is the post-trigger limit, not the rPnL
|
|
43
|
-
* price.
|
|
44
|
-
* @public
|
|
45
|
-
*/
|
|
34
|
+
export declare function expectedRealizedPnlForOpenOrder(order: RegularOrder, position: Position | undefined): number | null;
|
|
35
|
+
/** Project the unfilled closing quantity of an active trigger at its trigger price. */
|
|
46
36
|
export declare function expectedRealizedPnlForTriggerOrder(order: TriggerOrder, position: Position | undefined): number | null;
|
|
47
37
|
//# sourceMappingURL=orderMath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderMath.d.ts","sourceRoot":"","sources":["../../../src/utils/orderMath.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"orderMath.d.ts","sourceRoot":"","sources":["../../../src/utils/orderMath.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAI1B;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,QAAQ,EAAE,GAC7B,QAAQ,GAAG,SAAS,CAEtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,MAAM,CAKR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CAyCf;AAED,uFAAuF;AACvF,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,GAAG,IAAI,CA2Cf"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { OrderSide, PositionSide, } from '@lifi/perps-types';
|
|
1
|
+
import { OrderSide, OrderStatus, PositionSide, } from '@lifi/perps-types';
|
|
2
|
+
import { isActiveOrderStatus } from './orderClassification.js';
|
|
2
3
|
import { realizedPnlOnClose } from './positionMath.js';
|
|
3
4
|
/**
|
|
4
5
|
* Pick the matching open position for an order's market, if any.
|
|
@@ -40,7 +41,7 @@ export function resolveCloseSize(orderSize, positionSize) {
|
|
|
40
41
|
* @public
|
|
41
42
|
*/
|
|
42
43
|
export function expectedRealizedPnlForOpenOrder(order, position) {
|
|
43
|
-
if (!position) {
|
|
44
|
+
if (!position || !isActiveOrderStatus(order.status)) {
|
|
44
45
|
return null;
|
|
45
46
|
}
|
|
46
47
|
const isLong = position.side === PositionSide.LONG;
|
|
@@ -49,7 +50,7 @@ export function expectedRealizedPnlForOpenOrder(order, position) {
|
|
|
49
50
|
if (!reducesPosition) {
|
|
50
51
|
return null;
|
|
51
52
|
}
|
|
52
|
-
const limitPrice = Number.parseFloat(order.price);
|
|
53
|
+
const limitPrice = Number.parseFloat(order.price ?? '');
|
|
53
54
|
const entryPrice = Number.parseFloat(position.entryPrice);
|
|
54
55
|
const orderSize = Math.abs(Number.parseFloat(order.remainingSize));
|
|
55
56
|
const positionSize = Math.abs(Number.parseFloat(position.size));
|
|
@@ -74,25 +75,21 @@ export function expectedRealizedPnlForOpenOrder(order, position) {
|
|
|
74
75
|
isLong,
|
|
75
76
|
});
|
|
76
77
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Expected rPnL for a TP/SL trigger order against a matching position.
|
|
79
|
-
*
|
|
80
|
-
* A trigger order is by construction a closing leg — its direction is the
|
|
81
|
-
* opposite of the position's. With no matching position there is nothing to
|
|
82
|
-
* close, so rPnL is `null`. The trigger price (always present on the SDK
|
|
83
|
-
* `TriggerOrder` shape) is used as the rPnL price; the optional `limitPrice`
|
|
84
|
-
* for STOP_LIMIT / TAKE_PROFIT_LIMIT is the post-trigger limit, not the rPnL
|
|
85
|
-
* price.
|
|
86
|
-
* @public
|
|
87
|
-
*/
|
|
78
|
+
/** Project the unfilled closing quantity of an active trigger at its trigger price. */
|
|
88
79
|
export function expectedRealizedPnlForTriggerOrder(order, position) {
|
|
89
|
-
if (!position
|
|
80
|
+
if (!position ||
|
|
81
|
+
!isActiveOrderStatus(order.status) ||
|
|
82
|
+
order.status === OrderStatus.PENDING) {
|
|
90
83
|
return null;
|
|
91
84
|
}
|
|
92
85
|
const isLong = position.side === PositionSide.LONG;
|
|
86
|
+
if ((isLong && order.side !== OrderSide.SELL) ||
|
|
87
|
+
(!isLong && order.side !== OrderSide.BUY)) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
93
90
|
const triggerPrice = Number.parseFloat(order.triggerPrice);
|
|
94
91
|
const entryPrice = Number.parseFloat(position.entryPrice);
|
|
95
|
-
const orderSize = Math.abs(Number.parseFloat(order.
|
|
92
|
+
const orderSize = Math.abs(Number.parseFloat(order.remainingSize));
|
|
96
93
|
const positionSize = Math.abs(Number.parseFloat(position.size));
|
|
97
94
|
if (!Number.isFinite(triggerPrice) ||
|
|
98
95
|
!Number.isFinite(entryPrice) ||
|
|
@@ -101,6 +98,10 @@ export function expectedRealizedPnlForTriggerOrder(order, position) {
|
|
|
101
98
|
positionSize <= 0) {
|
|
102
99
|
return null;
|
|
103
100
|
}
|
|
101
|
+
if (orderSize === 0 &&
|
|
102
|
+
(Number.parseFloat(order.originalSize) !== 0 || !order.reduceOnly)) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
104
105
|
const closeSize = resolveCloseSize(orderSize, positionSize);
|
|
105
106
|
return realizedPnlOnClose({
|
|
106
107
|
entryPrice,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderMath.js","sourceRoot":"","sources":["../../../src/utils/orderMath.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"orderMath.js","sourceRoot":"","sources":["../../../src/utils/orderMath.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a warner that writes each distinct key once. The warner forgets the
|
|
3
|
+
* oldest key when its memory is full, so a key it saw long ago can warn a
|
|
4
|
+
* second time.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const createWarnOnce: () => ((key: string, message: string) => void);
|
|
9
|
+
//# sourceMappingURL=warnOnce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnOnce.d.ts","sourceRoot":"","sources":["../../../src/utils/warnOnce.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,QAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAexE,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The number of keys one warner remembers. Venue wire data supplies the keys,
|
|
3
|
+
* so the memory must not grow for as long as the process runs.
|
|
4
|
+
*/
|
|
5
|
+
const KEY_MEMORY_LIMIT = 256;
|
|
6
|
+
/**
|
|
7
|
+
* Build a warner that writes each distinct key once. The warner forgets the
|
|
8
|
+
* oldest key when its memory is full, so a key it saw long ago can warn a
|
|
9
|
+
* second time.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export const createWarnOnce = () => {
|
|
14
|
+
const seen = new Set();
|
|
15
|
+
return (key, message) => {
|
|
16
|
+
if (seen.has(key)) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (seen.size >= KEY_MEMORY_LIMIT) {
|
|
20
|
+
const oldest = seen.values().next().value;
|
|
21
|
+
if (oldest !== undefined) {
|
|
22
|
+
seen.delete(oldest);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
seen.add(key);
|
|
26
|
+
console.warn(message);
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=warnOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnOnce.js","sourceRoot":"","sources":["../../../src/utils/warnOnce.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAA6C,EAAE;IAC3E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC,CAAA;AACH,CAAC,CAAA"}
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
|
@@ -3,12 +3,11 @@ import type { GetQuoteParams } from '../services/getQuote.js';
|
|
|
3
3
|
import type { PerpsSDKClient, QuoteListener } from '../types/provider.js';
|
|
4
4
|
import type { EventForSubscription, WsProvider, WsStatusListener } from './types.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* first time `subscribe(...)` is called against it.
|
|
6
|
+
* Call parameters of a {@link WsProviderFactory}.
|
|
8
7
|
*
|
|
9
8
|
* @public
|
|
10
9
|
*/
|
|
11
|
-
export
|
|
10
|
+
export interface WsProviderFactoryParams {
|
|
12
11
|
provider: string;
|
|
13
12
|
/** WS URL discovered from `/providers`. */
|
|
14
13
|
wsUrl: string;
|
|
@@ -25,7 +24,18 @@ export type WsProviderFactory = (params: {
|
|
|
25
24
|
* duplicating backend orchestration in the WS layer.
|
|
26
25
|
*/
|
|
27
26
|
client: PerpsSDKClient;
|
|
28
|
-
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Factory for a per-provider WS plugin. Invoked once per provider key the
|
|
30
|
+
* first time `subscribe(...)` is called against it.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
34
|
+
export interface WsProviderFactory {
|
|
35
|
+
(params: WsProviderFactoryParams): WsProvider;
|
|
36
|
+
/** `true` when the venue socket serves the `candle` channel. */
|
|
37
|
+
readonly streamsCandles: boolean;
|
|
38
|
+
}
|
|
29
39
|
/**
|
|
30
40
|
* Options for {@link PerpsWsClient}.
|
|
31
41
|
*
|
|
@@ -43,7 +53,7 @@ export interface PerpsWsClientOptions {
|
|
|
43
53
|
wsProviders?: Record<string, WsProviderFactory>;
|
|
44
54
|
}
|
|
45
55
|
/**
|
|
46
|
-
*
|
|
56
|
+
* WebSocket client: lazily instantiates a per-provider {@link WsProvider} on
|
|
47
57
|
* first subscription and fans subscriptions out to it.
|
|
48
58
|
*
|
|
49
59
|
* @public
|
|
@@ -56,7 +66,16 @@ export declare class PerpsWsClient {
|
|
|
56
66
|
private closed;
|
|
57
67
|
constructor(client: PerpsSDKClient, options?: PerpsWsClientOptions);
|
|
58
68
|
/**
|
|
59
|
-
*
|
|
69
|
+
* Whether `provider`'s socket serves the `candle` channel, as reported by
|
|
70
|
+
* its registered factory. Returns `false` when no factory is registered.
|
|
71
|
+
* Synchronous: it reads the factory without instantiating the provider and
|
|
72
|
+
* makes no network call, so a caller can branch before the first subscribe.
|
|
73
|
+
*
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
streamsCandles(provider: string): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Subscribe to a WebSocket channel, lazily creating the provider's WS
|
|
60
79
|
* connection. Returns an unsubscribe function.
|
|
61
80
|
*
|
|
62
81
|
* @param onStatus - Optional listener for the underlying connection's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerpsWsClient.d.ts","sourceRoot":"","sources":["../../../src/websocket/PerpsWsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,KAAK,EACV,oBAAoB,EAEpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB
|
|
1
|
+
{"version":3,"file":"PerpsWsClient.d.ts","sourceRoot":"","sources":["../../../src/websocket/PerpsWsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,KAAK,EACV,oBAAoB,EAEpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;;;OAIG;IACH,MAAM,EAAE,cAAc,CAAA;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,uBAAuB,GAAG,UAAU,CAAA;IAC7C,gEAAgE;IAChE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;CAChD;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,cAAc,EAAE,OAAO,GAAE,oBAAyB;IAKtE;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,CAAC,SAAS,YAAY,EACpC,GAAG,EAAE,CAAC,EACN,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,IAAI,EAClD,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAOtB;;;;;;;;;;OAUG;IACG,cAAc,CAClB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;IAatB;;;;;;;OAOG;IACH,KAAK;IASL;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIjC,OAAO,CAAC,UAAU;YASJ,mBAAmB;YAqBnB,YAAY;CAsC3B"}
|
|
@@ -3,7 +3,7 @@ import { PerpsError } from '../errors/PerpsError.js';
|
|
|
3
3
|
import { getProviders } from '../services/getProviders.js';
|
|
4
4
|
import { cachePromise } from './cachePromise.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* WebSocket client: lazily instantiates a per-provider {@link WsProvider} on
|
|
7
7
|
* first subscription and fans subscriptions out to it.
|
|
8
8
|
*
|
|
9
9
|
* @public
|
|
@@ -19,7 +19,18 @@ export class PerpsWsClient {
|
|
|
19
19
|
this.options = options;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Whether `provider`'s socket serves the `candle` channel, as reported by
|
|
23
|
+
* its registered factory. Returns `false` when no factory is registered.
|
|
24
|
+
* Synchronous: it reads the factory without instantiating the provider and
|
|
25
|
+
* makes no network call, so a caller can branch before the first subscribe.
|
|
26
|
+
*
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
streamsCandles(provider) {
|
|
30
|
+
return this.options.wsProviders?.[provider]?.streamsCandles ?? false;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Subscribe to a WebSocket channel, lazily creating the provider's WS
|
|
23
34
|
* connection. Returns an unsubscribe function.
|
|
24
35
|
*
|
|
25
36
|
* @param onStatus - Optional listener for the underlying connection's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerpsWsClient.js","sourceRoot":"","sources":["../../../src/websocket/PerpsWsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"PerpsWsClient.js","sourceRoot":"","sources":["../../../src/websocket/PerpsWsClient.ts"],"names":[],"mappings":"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"}
|