@lifi/perps-sdk 5.0.0 → 6.1.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 +7 -1
- package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
- package/dist/cjs/client/PerpsClient.js +10 -0
- package/dist/cjs/client/PerpsClient.js.map +1 -1
- package/dist/cjs/errors/PerpsError.d.ts.map +1 -1
- package/dist/cjs/errors/PerpsError.js.map +1 -1
- package/dist/cjs/index.d.ts +5 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/assetRegistry.js.map +1 -1
- package/dist/cjs/registry/marketRegistry.d.ts +2 -1
- package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/marketRegistry.js +24 -1
- package/dist/cjs/registry/marketRegistry.js.map +1 -1
- package/dist/cjs/services/createAction.d.ts.map +1 -1
- package/dist/cjs/services/createAction.js.map +1 -1
- package/dist/cjs/services/executeAction.d.ts.map +1 -1
- package/dist/cjs/services/executeAction.js.map +1 -1
- package/dist/cjs/services/getActivity.d.ts.map +1 -1
- package/dist/cjs/services/getActivity.js.map +1 -1
- package/dist/cjs/services/getFills.d.ts.map +1 -1
- package/dist/cjs/services/getFills.js.map +1 -1
- package/dist/cjs/services/getOhlcv.d.ts.map +1 -1
- package/dist/cjs/services/getOhlcv.js.map +1 -1
- package/dist/cjs/services/getOrder.d.ts.map +1 -1
- package/dist/cjs/services/getOrder.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts.map +1 -1
- package/dist/cjs/services/getOrders.js.map +1 -1
- package/dist/cjs/services/getPositions.d.ts.map +1 -1
- package/dist/cjs/services/getPositions.js.map +1 -1
- package/dist/cjs/services/getQuote.d.ts.map +1 -1
- package/dist/cjs/services/getQuote.js.map +1 -1
- package/dist/cjs/storage/parseStoredRecord.d.ts.map +1 -1
- package/dist/cjs/storage/parseStoredRecord.js.map +1 -1
- package/dist/cjs/storage/types.d.ts.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/transport/retryPolicy.d.ts.map +1 -1
- package/dist/cjs/transport/retryPolicy.js.map +1 -1
- package/dist/cjs/types/api.d.ts +2 -1
- package/dist/cjs/types/api.d.ts.map +1 -1
- package/dist/cjs/types/config.d.ts.map +1 -1
- package/dist/cjs/types/deposit.d.ts.map +1 -1
- package/dist/cjs/types/provider.d.ts +7 -1
- package/dist/cjs/types/provider.d.ts.map +1 -1
- package/dist/cjs/utils/calculations.d.ts +0 -5
- package/dist/cjs/utils/calculations.d.ts.map +1 -1
- package/dist/cjs/utils/calculations.js +0 -9
- package/dist/cjs/utils/calculations.js.map +1 -1
- package/dist/cjs/utils/format.d.ts.map +1 -1
- package/dist/cjs/utils/format.js.map +1 -1
- package/dist/cjs/utils/orderClassification.d.ts.map +1 -1
- package/dist/cjs/utils/orderClassification.js.map +1 -1
- package/dist/cjs/utils/transferMargin.d.ts +7 -0
- package/dist/cjs/utils/transferMargin.d.ts.map +1 -0
- package/dist/cjs/utils/transferMargin.js +50 -0
- package/dist/cjs/utils/transferMargin.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.map +1 -1
- package/dist/cjs/websocket/PerpsWsClient.js.map +1 -1
- package/dist/cjs/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/cjs/websocket/cachePromise.d.ts.map +1 -1
- package/dist/cjs/websocket/cachePromise.js.map +1 -1
- package/dist/cjs/websocket/types.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.d.ts +24 -1
- package/dist/esm/client/PerpsClient.d.ts.map +1 -1
- package/dist/esm/client/PerpsClient.js +27 -0
- package/dist/esm/client/PerpsClient.js.map +1 -1
- package/dist/esm/errors/PerpsError.d.ts +7 -0
- package/dist/esm/errors/PerpsError.d.ts.map +1 -1
- package/dist/esm/errors/PerpsError.js +7 -0
- package/dist/esm/errors/PerpsError.js.map +1 -1
- package/dist/esm/index.d.ts +5 -3
- 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 -1
- package/dist/esm/registry/assetRegistry.d.ts.map +1 -1
- package/dist/esm/registry/assetRegistry.js +5 -1
- package/dist/esm/registry/assetRegistry.js.map +1 -1
- package/dist/esm/registry/marketRegistry.d.ts +28 -6
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
- package/dist/esm/registry/marketRegistry.js +49 -6
- package/dist/esm/registry/marketRegistry.js.map +1 -1
- package/dist/esm/services/createAction.d.ts +2 -0
- package/dist/esm/services/createAction.d.ts.map +1 -1
- package/dist/esm/services/createAction.js.map +1 -1
- package/dist/esm/services/executeAction.d.ts +2 -0
- package/dist/esm/services/executeAction.d.ts.map +1 -1
- package/dist/esm/services/executeAction.js.map +1 -1
- package/dist/esm/services/getActivity.d.ts +4 -2
- package/dist/esm/services/getActivity.d.ts.map +1 -1
- package/dist/esm/services/getActivity.js.map +1 -1
- package/dist/esm/services/getFills.d.ts +4 -2
- package/dist/esm/services/getFills.d.ts.map +1 -1
- package/dist/esm/services/getFills.js.map +1 -1
- package/dist/esm/services/getMarkets.d.ts +1 -1
- package/dist/esm/services/getMarkets.d.ts.map +1 -1
- package/dist/esm/services/getMarketsContext.d.ts +1 -1
- package/dist/esm/services/getMarketsContext.d.ts.map +1 -1
- package/dist/esm/services/getOhlcv.d.ts +4 -3
- package/dist/esm/services/getOhlcv.d.ts.map +1 -1
- package/dist/esm/services/getOhlcv.js.map +1 -1
- package/dist/esm/services/getOrder.d.ts +1 -0
- package/dist/esm/services/getOrder.d.ts.map +1 -1
- package/dist/esm/services/getOrder.js.map +1 -1
- package/dist/esm/services/getOrderbook.d.ts +2 -2
- package/dist/esm/services/getOrderbook.d.ts.map +1 -1
- package/dist/esm/services/getOrders.d.ts +3 -1
- package/dist/esm/services/getOrders.d.ts.map +1 -1
- package/dist/esm/services/getOrders.js.map +1 -1
- package/dist/esm/services/getPositions.d.ts +3 -1
- package/dist/esm/services/getPositions.d.ts.map +1 -1
- package/dist/esm/services/getPositions.js.map +1 -1
- package/dist/esm/services/getQuote.d.ts +3 -1
- package/dist/esm/services/getQuote.d.ts.map +1 -1
- package/dist/esm/services/getQuote.js.map +1 -1
- package/dist/esm/storage/parseStoredRecord.d.ts +4 -0
- package/dist/esm/storage/parseStoredRecord.d.ts.map +1 -1
- package/dist/esm/storage/parseStoredRecord.js +4 -0
- package/dist/esm/storage/parseStoredRecord.js.map +1 -1
- package/dist/esm/storage/types.d.ts +10 -6
- package/dist/esm/storage/types.d.ts.map +1 -1
- package/dist/esm/transport/fetchWithRetry.d.ts +3 -0
- package/dist/esm/transport/fetchWithRetry.d.ts.map +1 -1
- package/dist/esm/transport/fetchWithRetry.js.map +1 -1
- package/dist/esm/transport/retryPolicy.d.ts +20 -0
- package/dist/esm/transport/retryPolicy.d.ts.map +1 -1
- package/dist/esm/transport/retryPolicy.js.map +1 -1
- package/dist/esm/types/api.d.ts +31 -10
- package/dist/esm/types/api.d.ts.map +1 -1
- package/dist/esm/types/config.d.ts +10 -0
- package/dist/esm/types/config.d.ts.map +1 -1
- package/dist/esm/types/deposit.d.ts +9 -3
- package/dist/esm/types/deposit.d.ts.map +1 -1
- package/dist/esm/types/provider.d.ts +63 -18
- package/dist/esm/types/provider.d.ts.map +1 -1
- package/dist/esm/utils/calculations.d.ts +2 -20
- package/dist/esm/utils/calculations.d.ts.map +1 -1
- package/dist/esm/utils/calculations.js +0 -23
- package/dist/esm/utils/calculations.js.map +1 -1
- package/dist/esm/utils/format.d.ts +5 -1
- package/dist/esm/utils/format.d.ts.map +1 -1
- package/dist/esm/utils/format.js.map +1 -1
- package/dist/esm/utils/orderClassification.d.ts +5 -0
- package/dist/esm/utils/orderClassification.d.ts.map +1 -1
- package/dist/esm/utils/orderClassification.js +5 -0
- package/dist/esm/utils/orderClassification.js.map +1 -1
- package/dist/esm/utils/transferMargin.d.ts +24 -0
- package/dist/esm/utils/transferMargin.d.ts.map +1 -0
- package/dist/esm/utils/transferMargin.js +56 -0
- package/dist/esm/utils/transferMargin.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 +0 -1
- package/dist/esm/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/esm/websocket/PerpsWsClient.js.map +1 -1
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts +5 -3
- package/dist/esm/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- package/dist/esm/websocket/ReconnectingWebSocket.js.map +1 -1
- package/dist/esm/websocket/WsProviderBase.d.ts +17 -0
- package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/esm/websocket/WsProviderBase.js +17 -0
- package/dist/esm/websocket/WsProviderBase.js.map +1 -1
- package/dist/esm/websocket/cachePromise.d.ts +2 -0
- package/dist/esm/websocket/cachePromise.d.ts.map +1 -1
- package/dist/esm/websocket/cachePromise.js +2 -0
- package/dist/esm/websocket/cachePromise.js.map +1 -1
- package/dist/esm/websocket/types.d.ts +5 -0
- package/dist/esm/websocket/types.d.ts.map +1 -1
- package/dist/types/client/PerpsClient.d.ts +24 -1
- package/dist/types/client/PerpsClient.d.ts.map +1 -1
- package/dist/types/errors/PerpsError.d.ts +7 -0
- package/dist/types/errors/PerpsError.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/assetRegistry.d.ts +5 -1
- package/dist/types/registry/assetRegistry.d.ts.map +1 -1
- package/dist/types/registry/marketRegistry.d.ts +28 -6
- package/dist/types/registry/marketRegistry.d.ts.map +1 -1
- package/dist/types/services/createAction.d.ts +2 -0
- package/dist/types/services/createAction.d.ts.map +1 -1
- package/dist/types/services/executeAction.d.ts +2 -0
- package/dist/types/services/executeAction.d.ts.map +1 -1
- package/dist/types/services/getActivity.d.ts +4 -2
- package/dist/types/services/getActivity.d.ts.map +1 -1
- package/dist/types/services/getFills.d.ts +4 -2
- package/dist/types/services/getFills.d.ts.map +1 -1
- package/dist/types/services/getMarkets.d.ts +1 -1
- package/dist/types/services/getMarkets.d.ts.map +1 -1
- package/dist/types/services/getMarketsContext.d.ts +1 -1
- package/dist/types/services/getMarketsContext.d.ts.map +1 -1
- package/dist/types/services/getOhlcv.d.ts +4 -3
- package/dist/types/services/getOhlcv.d.ts.map +1 -1
- package/dist/types/services/getOrder.d.ts +1 -0
- package/dist/types/services/getOrder.d.ts.map +1 -1
- package/dist/types/services/getOrderbook.d.ts +2 -2
- package/dist/types/services/getOrderbook.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts +3 -1
- package/dist/types/services/getOrders.d.ts.map +1 -1
- package/dist/types/services/getPositions.d.ts +3 -1
- package/dist/types/services/getPositions.d.ts.map +1 -1
- package/dist/types/services/getQuote.d.ts +3 -1
- package/dist/types/services/getQuote.d.ts.map +1 -1
- package/dist/types/storage/parseStoredRecord.d.ts +4 -0
- package/dist/types/storage/parseStoredRecord.d.ts.map +1 -1
- package/dist/types/storage/types.d.ts +10 -6
- package/dist/types/storage/types.d.ts.map +1 -1
- package/dist/types/transport/fetchWithRetry.d.ts +3 -0
- package/dist/types/transport/fetchWithRetry.d.ts.map +1 -1
- package/dist/types/transport/retryPolicy.d.ts +20 -0
- package/dist/types/transport/retryPolicy.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +31 -10
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/config.d.ts +10 -0
- package/dist/types/types/config.d.ts.map +1 -1
- package/dist/types/types/deposit.d.ts +9 -3
- package/dist/types/types/deposit.d.ts.map +1 -1
- package/dist/types/types/provider.d.ts +63 -18
- package/dist/types/types/provider.d.ts.map +1 -1
- package/dist/types/utils/calculations.d.ts +2 -20
- package/dist/types/utils/calculations.d.ts.map +1 -1
- package/dist/types/utils/format.d.ts +5 -1
- package/dist/types/utils/format.d.ts.map +1 -1
- package/dist/types/utils/orderClassification.d.ts +5 -0
- package/dist/types/utils/orderClassification.d.ts.map +1 -1
- package/dist/types/utils/transferMargin.d.ts +24 -0
- package/dist/types/utils/transferMargin.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/PerpsWsClient.d.ts +0 -1
- package/dist/types/websocket/PerpsWsClient.d.ts.map +1 -1
- package/dist/types/websocket/ReconnectingWebSocket.d.ts +5 -3
- package/dist/types/websocket/ReconnectingWebSocket.d.ts.map +1 -1
- package/dist/types/websocket/WsProviderBase.d.ts +17 -0
- package/dist/types/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/types/websocket/cachePromise.d.ts +2 -0
- package/dist/types/websocket/cachePromise.d.ts.map +1 -1
- package/dist/types/websocket/types.d.ts +5 -0
- package/dist/types/websocket/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client/PerpsClient.ts +39 -0
- package/src/errors/PerpsError.ts +7 -0
- package/src/index.ts +4 -1
- package/src/registry/assetRegistry.ts +5 -1
- package/src/registry/marketRegistry.ts +64 -7
- package/src/services/createAction.ts +2 -0
- package/src/services/executeAction.ts +2 -0
- package/src/services/getActivity.ts +4 -2
- package/src/services/getFills.ts +4 -2
- package/src/services/getMarkets.ts +1 -1
- package/src/services/getMarketsContext.ts +1 -1
- package/src/services/getOhlcv.ts +4 -3
- package/src/services/getOrder.ts +1 -0
- package/src/services/getOrderbook.ts +2 -2
- package/src/services/getOrders.ts +3 -1
- package/src/services/getPositions.ts +3 -1
- package/src/services/getQuote.ts +3 -1
- package/src/storage/parseStoredRecord.ts +4 -0
- package/src/storage/types.ts +10 -6
- package/src/transport/fetchWithRetry.ts +3 -0
- package/src/transport/retryPolicy.ts +20 -0
- package/src/types/api.ts +31 -9
- package/src/types/config.ts +10 -0
- package/src/types/deposit.ts +9 -3
- package/src/types/provider.ts +73 -17
- package/src/utils/calculations.ts +2 -28
- package/src/utils/format.ts +5 -1
- package/src/utils/orderClassification.ts +5 -0
- package/src/utils/transferMargin.ts +98 -0
- package/src/version.ts +1 -1
- package/src/websocket/PerpsWsClient.ts +0 -1
- package/src/websocket/ReconnectingWebSocket.ts +5 -3
- package/src/websocket/WsProviderBase.ts +17 -0
- package/src/websocket/cachePromise.ts +2 -0
- package/src/websocket/types.ts +5 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
|
|
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 } 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';
|
|
@@ -11,21 +11,13 @@ import type { DepositFlow } from './deposit.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export interface PerpsSDKClient {
|
|
13
13
|
readonly config: PerpsBaseConfig;
|
|
14
|
-
/**
|
|
14
|
+
/** End-user wallet for USER-signed or on-chain EVM legs, when configured. */
|
|
15
15
|
readonly userWallet?: PerpsClientSigner;
|
|
16
|
-
/**
|
|
16
|
+
/** Providers bound to this client, in registration order. */
|
|
17
17
|
readonly providers: PerpsProvider[];
|
|
18
|
-
/** Look up a
|
|
18
|
+
/** Look up a bound provider by its wire `type` key. */
|
|
19
19
|
getProvider(key: string): PerpsProvider | undefined;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Per-call context passed by `PerpsClient` to a provider's {@link
|
|
23
|
-
* PerpsProvider.signActions} method. Carries the end-user's wallet (when
|
|
24
|
-
* configured); providers that own a session credential (e.g. the Hyperliquid
|
|
25
|
-
* agent keypair, Lighter's API key) resolve it internally.
|
|
26
|
-
*
|
|
27
|
-
* @public
|
|
28
|
-
*/
|
|
29
21
|
/**
|
|
30
22
|
* Progress for one on-chain leg of an `EVM_TX` batch (e.g. a native deposit's
|
|
31
23
|
* `approve` then `deposit`). Emitted twice per leg: `submitted` once the wallet
|
|
@@ -35,18 +27,25 @@ export interface PerpsSDKClient {
|
|
|
35
27
|
* @public
|
|
36
28
|
*/
|
|
37
29
|
export interface SignActionProgress {
|
|
38
|
-
/** 0-based index of this leg within the batch. */
|
|
39
30
|
index: number;
|
|
40
|
-
/** Total legs in the batch. */
|
|
41
31
|
total: number;
|
|
42
32
|
action: ActionType;
|
|
43
|
-
/** Contract function the leg invokes, e.g. `"approve"` or the deposit method. */
|
|
44
33
|
functionName: string;
|
|
45
34
|
chainId: number;
|
|
35
|
+
/** Whether the transaction was broadcast or its receipt confirmed. */
|
|
46
36
|
status: 'submitted' | 'confirmed';
|
|
47
37
|
txHash: string;
|
|
48
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Per-call context passed by `PerpsClient` to a provider's
|
|
41
|
+
* {@link PerpsProviderPlugin.signActions} implementation. Carries the
|
|
42
|
+
* configured end-user wallet, descriptor-declared signer roles, an optional
|
|
43
|
+
* chain-switch helper, and an optional progress callback.
|
|
44
|
+
*
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
49
47
|
export interface SignActionsContext {
|
|
48
|
+
/** End-user wallet used for USER-signed or EVM transaction legs. */
|
|
50
49
|
userWallet?: PerpsClientSigner;
|
|
51
50
|
/**
|
|
52
51
|
* The signing batch's declared signers, from the action's `ProviderAction`
|
|
@@ -106,8 +105,10 @@ export interface ActionSignerContribution {
|
|
|
106
105
|
* @public
|
|
107
106
|
*/
|
|
108
107
|
export interface LiquidationEstimateParams {
|
|
108
|
+
/** Entry price in quote currency per base unit. */
|
|
109
109
|
entryPrice: number;
|
|
110
110
|
leverage: number;
|
|
111
|
+
/** `true` for long, `false` for short. */
|
|
111
112
|
isLong: boolean;
|
|
112
113
|
}
|
|
113
114
|
/**
|
|
@@ -142,11 +143,24 @@ export interface ProviderGetDepositFlowParams {
|
|
|
142
143
|
*/
|
|
143
144
|
export interface ProviderGetPositionsParams {
|
|
144
145
|
address: Address;
|
|
145
|
-
/** Optional
|
|
146
|
+
/** Optional opaque `Market.id` filter (not a display symbol). */
|
|
146
147
|
marketId?: string;
|
|
148
|
+
/** Maximum items returned; provider defaults and caps apply. */
|
|
147
149
|
limit?: number;
|
|
150
|
+
/** Opaque pagination cursor from the previous response. */
|
|
148
151
|
cursor?: string;
|
|
149
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Read params for {@link PerpsProviderPlugin.getMarketSettings}.
|
|
155
|
+
*
|
|
156
|
+
* @public
|
|
157
|
+
*/
|
|
158
|
+
export interface ProviderGetMarketSettingsParams {
|
|
159
|
+
address: Address;
|
|
160
|
+
/** The market's `id` and `categoryId`; the category identifies spot
|
|
161
|
+
* markets, which carry no venue leverage state. */
|
|
162
|
+
market: MarketRef;
|
|
163
|
+
}
|
|
150
164
|
/**
|
|
151
165
|
* Read params for {@link PerpsProvider.getOrders}.
|
|
152
166
|
*
|
|
@@ -154,9 +168,11 @@ export interface ProviderGetPositionsParams {
|
|
|
154
168
|
*/
|
|
155
169
|
export interface ProviderGetOrdersParams {
|
|
156
170
|
address: Address;
|
|
157
|
-
/** Optional
|
|
171
|
+
/** Optional opaque `Market.id` filter (not a display symbol). */
|
|
158
172
|
marketId?: string;
|
|
173
|
+
/** Maximum items returned; provider defaults and caps apply. */
|
|
159
174
|
limit?: number;
|
|
175
|
+
/** Opaque pagination cursor from the previous response. */
|
|
160
176
|
cursor?: string;
|
|
161
177
|
}
|
|
162
178
|
/**
|
|
@@ -166,6 +182,7 @@ export interface ProviderGetOrdersParams {
|
|
|
166
182
|
*/
|
|
167
183
|
export interface ProviderGetOrderParams {
|
|
168
184
|
address: Address;
|
|
185
|
+
/** Venue order id, opaque to the SDK. */
|
|
169
186
|
id: string;
|
|
170
187
|
}
|
|
171
188
|
/**
|
|
@@ -175,9 +192,13 @@ export interface ProviderGetOrderParams {
|
|
|
175
192
|
*/
|
|
176
193
|
export interface ProviderGetFillsParams {
|
|
177
194
|
address: Address;
|
|
195
|
+
/** Maximum items returned; provider defaults and caps apply. */
|
|
178
196
|
limit?: number;
|
|
197
|
+
/** Opaque pagination cursor from the previous response. */
|
|
179
198
|
cursor?: string;
|
|
199
|
+
/** Include fills at or after this Unix timestamp in milliseconds. */
|
|
180
200
|
startTime?: number;
|
|
201
|
+
/** Include fills at or before this Unix timestamp in milliseconds. */
|
|
181
202
|
endTime?: number;
|
|
182
203
|
}
|
|
183
204
|
/**
|
|
@@ -187,10 +208,15 @@ export interface ProviderGetFillsParams {
|
|
|
187
208
|
*/
|
|
188
209
|
export interface ProviderGetActivityParams {
|
|
189
210
|
address: Address;
|
|
211
|
+
/** Maximum items returned; provider defaults and caps apply. */
|
|
190
212
|
limit?: number;
|
|
213
|
+
/** Opaque pagination cursor from the previous response. */
|
|
191
214
|
cursor?: string;
|
|
215
|
+
/** Include activity at or after this Unix timestamp in milliseconds. */
|
|
192
216
|
startTime?: number;
|
|
217
|
+
/** Include activity at or before this Unix timestamp in milliseconds. */
|
|
193
218
|
endTime?: number;
|
|
219
|
+
/** Optional filter for activity types. */
|
|
194
220
|
type?: ActivityType[];
|
|
195
221
|
}
|
|
196
222
|
/**
|
|
@@ -200,11 +226,13 @@ export interface ProviderGetActivityParams {
|
|
|
200
226
|
* @public
|
|
201
227
|
*/
|
|
202
228
|
export interface ProviderGetQuoteParams {
|
|
203
|
-
/** Human `displaySymbol`,
|
|
229
|
+
/** Human `displaySymbol`, resolved against this provider and `type`. */
|
|
204
230
|
symbol: string;
|
|
231
|
+
/** Trade direction used to choose asks for buys or bids for sells. */
|
|
205
232
|
side: QuoteSide;
|
|
206
233
|
/** USD notional to fill. */
|
|
207
234
|
size: number;
|
|
235
|
+
/** Product family used to disambiguate spot and perpetual markets. */
|
|
208
236
|
type: TradeType;
|
|
209
237
|
}
|
|
210
238
|
/**
|
|
@@ -287,6 +315,14 @@ export interface PerpsProviderPlugin {
|
|
|
287
315
|
*/
|
|
288
316
|
getDepositFlow?(params: ProviderGetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow>;
|
|
289
317
|
getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
|
|
318
|
+
/**
|
|
319
|
+
* The user's current venue-side settings for one market — the margin mode
|
|
320
|
+
* and leverage the next order on it will use. Optional because venues
|
|
321
|
+
* expose this unevenly: Hyperliquid reads it directly (`activeAssetData`),
|
|
322
|
+
* Lighter only reports it on an account's position row. `undefined` means
|
|
323
|
+
* the venue has nothing to read for this market.
|
|
324
|
+
*/
|
|
325
|
+
getMarketSettings?(params: ProviderGetMarketSettingsParams, options?: SDKRequestOptions): Promise<MarketSettings | undefined>;
|
|
290
326
|
getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
|
|
291
327
|
getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
|
|
292
328
|
getFills(params: ProviderGetFillsParams, options?: SDKRequestOptions): Promise<FillsResponse>;
|
|
@@ -343,6 +379,15 @@ export interface PerpsProviderPlugin {
|
|
|
343
379
|
* lacks the margin metadata the model needs).
|
|
344
380
|
*/
|
|
345
381
|
estimateLiquidationPrice(market: PerpsMarket, params: LiquidationEstimateParams): number | undefined;
|
|
382
|
+
/**
|
|
383
|
+
* Exact venue-owned constraints for changing `position`'s dedicated margin.
|
|
384
|
+
* Pure — providers normalize raw venue quantities onto the position before
|
|
385
|
+
* returning these inputs.
|
|
386
|
+
*
|
|
387
|
+
* @returns `undefined` when this position has no individual margin
|
|
388
|
+
* adjustment (for example a cross position or a cross-only venue).
|
|
389
|
+
*/
|
|
390
|
+
positionMarginConstraints(position: Position): PositionMarginConstraints | undefined;
|
|
346
391
|
/**
|
|
347
392
|
* Project a typed {@link AccountConfig} against the provider's `setup`
|
|
348
393
|
* + `options` descriptors into `AccountConfigSetting[]`. Used by
|
|
@@ -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,KAAK,EACL,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,33 +103,15 @@ export declare function effectiveLeverage(params: {
|
|
|
103
103
|
positionValueUsd: number;
|
|
104
104
|
marginUsd: number;
|
|
105
105
|
}): number;
|
|
106
|
-
/**
|
|
107
|
-
* Margin that can be removed from a position while keeping its leverage at or
|
|
108
|
-
* below the asset's maximum.
|
|
109
|
-
*
|
|
110
|
-
* The minimum margin to stay within `maxLeverage` is the required margin for
|
|
111
|
-
* the position's notional (see {@link calculateRequiredMargin}); anything above
|
|
112
|
-
* that is removable.
|
|
113
|
-
*
|
|
114
|
-
* @param marginUsed - Margin currently backing the position in USD
|
|
115
|
-
* @param positionValueUsd - Position notional value in USD
|
|
116
|
-
* @param maxLeverage - Maximum leverage allowed for the asset
|
|
117
|
-
* @returns Removable margin in USD (never negative); falls back to the full
|
|
118
|
-
* `marginUsed` when `maxLeverage` is zero (no constraint available)
|
|
119
|
-
* @public
|
|
120
|
-
*/
|
|
121
|
-
export declare function removableMargin(params: {
|
|
122
|
-
marginUsed: number;
|
|
123
|
-
positionValueUsd: number;
|
|
124
|
-
maxLeverage: number;
|
|
125
|
-
}): number;
|
|
126
106
|
/**
|
|
127
107
|
* Signed expected PnL for a trigger price — see {@link calculateExpectedPnl}.
|
|
128
108
|
*
|
|
129
109
|
* @public
|
|
130
110
|
*/
|
|
131
111
|
export interface ExpectedPnl {
|
|
112
|
+
/** Signed expected profit/loss in USD. */
|
|
132
113
|
amount: number;
|
|
114
|
+
/** Signed expected return as a percentage (10 means 10%). */
|
|
133
115
|
percent: number;
|
|
134
116
|
}
|
|
135
117
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAA;AAG1B;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAER;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACb,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,MAAM,CAMT;AAED
|
|
1
|
+
{"version":3,"file":"calculations.d.ts","sourceRoot":"","sources":["../../../src/utils/calculations.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,11 @@ export interface FormatOptions {
|
|
|
18
18
|
*/
|
|
19
19
|
rounding?: RoundingMode;
|
|
20
20
|
}
|
|
21
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Rounding mode for {@link FormatOptions.rounding}.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
*/
|
|
22
26
|
export type RoundingMode = 'halfUp' | 'floor';
|
|
23
27
|
type FormatInput = number | string | null | undefined;
|
|
24
28
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/utils/format.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAA;AAI7C,KAAK,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;AAyFrD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAaR;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAqBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAkBR"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { OpenOrder } from '@lifi/perps-types';
|
|
9
9
|
import { FillClassification, OrderSide, OrderStatus } from '@lifi/perps-types';
|
|
10
|
+
/**
|
|
11
|
+
* Re-exported fill taxonomy used by {@link classifyFillFromPosition}.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
10
15
|
export { FillClassification };
|
|
11
16
|
/**
|
|
12
17
|
* Check if an open order is a Take Profit trigger order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAY7B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,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
|
+
{"version":3,"file":"orderClassification.d.ts","sourceRoot":"","sources":["../../../src/utils/orderClassification.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,WAAW,EAEZ,MAAM,mBAAmB,CAAA;AAG1B;;;;GAIG;AACH,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAY7B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEvE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Position, type PositionMarginConstraints } from '@lifi/perps-types';
|
|
2
|
+
/**
|
|
3
|
+
* Exact inputs for {@link removableIsolatedMargin}.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export interface RemovableIsolatedMarginParams {
|
|
8
|
+
position: Position;
|
|
9
|
+
constraints: PositionMarginConstraints;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Calculate margin that can be removed from an isolated position using the
|
|
13
|
+
* provider's exact retained-margin requirement. Position equity is allocated
|
|
14
|
+
* margin plus unrealized PnL.
|
|
15
|
+
*
|
|
16
|
+
* The result snaps down to the provider's accepted amount increment. Markets
|
|
17
|
+
* that are add-only and cross-margined positions return `'0'`.
|
|
18
|
+
*
|
|
19
|
+
* @throws {PerpsError} `ValidationError` for malformed, non-positive, or
|
|
20
|
+
* inconsistent risk inputs.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export declare function removableIsolatedMargin({ position, constraints, }: RemovableIsolatedMarginParams): string;
|
|
24
|
+
//# sourceMappingURL=transferMargin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferMargin.d.ts","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,yBAAyB,EAE/B,MAAM,mBAAmB,CAAA;AAoC1B;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,QAAQ,CAAA;IAClB,WAAW,EAAE,yBAAyB,CAAA;CACvC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,WAAW,GACZ,EAAE,6BAA6B,GAAG,MAAM,CA+BxC"}
|
package/dist/types/version.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import type { EventForSubscription, WsProvider, WsStatusListener } from './types
|
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
export type WsProviderFactory = (params: {
|
|
12
|
-
/** Provider key (e.g. `'lighter'`, `'hyperliquid'`). */
|
|
13
12
|
provider: string;
|
|
14
13
|
/** WS URL discovered from `/providers`. */
|
|
15
14
|
wsUrl: string;
|
|
@@ -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;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IACvC,
|
|
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;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IACvC,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,KAAK,UAAU,CAAA;AAEhB;;;;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;;;;;;;;;;;;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"}
|
|
@@ -12,7 +12,9 @@ type WsEvent = keyof WsEventMap;
|
|
|
12
12
|
* @public
|
|
13
13
|
*/
|
|
14
14
|
export interface ReconnectingWebSocketOptions {
|
|
15
|
+
/** Maximum reconnect attempts before status becomes `disconnected`; defaults to 10. */
|
|
15
16
|
maxRetries?: number;
|
|
17
|
+
/** Keepalive interval in milliseconds; defaults to 30,000. */
|
|
16
18
|
pingIntervalMs?: number;
|
|
17
19
|
/**
|
|
18
20
|
* Keepalive frame sent every `pingIntervalMs` while the socket is open.
|
|
@@ -20,9 +22,9 @@ export interface ReconnectingWebSocketOptions {
|
|
|
20
22
|
*/
|
|
21
23
|
pingPayload?: string;
|
|
22
24
|
/**
|
|
23
|
-
* Stale-stream watchdog window. With `pingPayload` configured,
|
|
24
|
-
* force-reconnected when no inbound frame arrives within this
|
|
25
|
-
* Defaults to 3× `pingIntervalMs`.
|
|
25
|
+
* Stale-stream watchdog window in milliseconds. With `pingPayload` configured,
|
|
26
|
+
* the socket is force-reconnected when no inbound frame arrives within this
|
|
27
|
+
* window. Defaults to 3× `pingIntervalMs`.
|
|
26
28
|
*/
|
|
27
29
|
staleWindowMs?: number;
|
|
28
30
|
}
|
|
@@ -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;;;;;;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
|
+
{"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,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,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"}
|
|
@@ -36,8 +36,25 @@ export declare abstract class WsProviderBase<TSub = unknown> implements WsProvid
|
|
|
36
36
|
private readonly statusListeners;
|
|
37
37
|
private readonly wireSubs;
|
|
38
38
|
constructor(rws: ReconnectingWebSocket, providerKey: string);
|
|
39
|
+
/**
|
|
40
|
+
* Acquire a ref-counted subscription to a provider channel and return an
|
|
41
|
+
* idempotent release function. Optional status listeners are reference-counted
|
|
42
|
+
* alongside the channel listener.
|
|
43
|
+
*
|
|
44
|
+
* @public
|
|
45
|
+
*/
|
|
39
46
|
subscribe(sub: Subscription, listener: SubscriptionListener, onStatus?: WsStatusListener): Promise<() => void>;
|
|
47
|
+
/**
|
|
48
|
+
* Reconnect the underlying socket only when it is terminally disconnected.
|
|
49
|
+
*
|
|
50
|
+
* @public
|
|
51
|
+
*/
|
|
40
52
|
reconnect(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Release all channel and status listeners and close the underlying socket.
|
|
55
|
+
*
|
|
56
|
+
* @public
|
|
57
|
+
*/
|
|
41
58
|
close(): void;
|
|
42
59
|
/** Deliver an event to every listener on `key`. */
|
|
43
60
|
protected emit(key: string, event: SubscriptionEvent): void;
|
|
@@ -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;
|
|
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;IAc3D;;;;;;OAMG;IACG,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAgCtB;;;;OAIG;IACH,SAAS,IAAI,IAAI;IAOjB;;;;OAIG;IACH,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"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* @param read - Returns the currently cached promise, or `undefined` if none.
|
|
10
10
|
* @param write - Stores (or with `undefined`, clears) the cached promise.
|
|
11
11
|
* @param factory - Creates the promise when the slot is empty.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
12
14
|
*/
|
|
13
15
|
export declare function cachePromise<T>(read: () => Promise<T> | undefined, write: (promise: Promise<T> | undefined) => void, factory: () => Promise<T>): Promise<T>;
|
|
14
16
|
//# sourceMappingURL=cachePromise.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cachePromise.d.ts","sourceRoot":"","sources":["../../../src/websocket/cachePromise.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cachePromise.d.ts","sourceRoot":"","sources":["../../../src/websocket/cachePromise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAClC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,IAAI,EAChD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC,CAaZ"}
|
|
@@ -41,6 +41,10 @@ export type WsStatusListener = (status: WsConnectionStatus) => void;
|
|
|
41
41
|
* @public
|
|
42
42
|
*/
|
|
43
43
|
export interface WsProvider {
|
|
44
|
+
/**
|
|
45
|
+
* Subscribe to one venue channel and return an idempotent unsubscribe.
|
|
46
|
+
* `onStatus` receives the provider socket's health transitions.
|
|
47
|
+
*/
|
|
44
48
|
subscribe(sub: Subscription, listener: SubscriptionListener, onStatus?: WsStatusListener): Promise<() => void>;
|
|
45
49
|
/**
|
|
46
50
|
* Recover a terminally exhausted connection. Safe no-op unless status is
|
|
@@ -55,6 +59,7 @@ export interface WsProvider {
|
|
|
55
59
|
* public base fee tier. Returns an idempotent unsubscribe.
|
|
56
60
|
*/
|
|
57
61
|
subscribeQuote(params: ProviderGetQuoteParams, onQuote: QuoteListener): Promise<() => void>;
|
|
62
|
+
/** Permanently close the provider's realtime connection. */
|
|
58
63
|
close(): void;
|
|
59
64
|
}
|
|
60
65
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/websocket/types.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;AAE7B;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI,OAAO,CAChE,iBAAiB,EACjB;IAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;CAAE,CAC1B,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAA;AAE9E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,CACP,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtB;;;OAGG;IACH,SAAS,IAAI,IAAI,CAAA;IACjB;;;;;;OAMG;IACH,cAAc,CACZ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtB,KAAK,IAAI,IAAI,CAAA;CACd"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/websocket/types.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;AAE7B;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,YAAY,IAAI,OAAO,CAChE,iBAAiB,EACjB;IAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;CAAE,CAC1B,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;AAErE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,cAAc,GAAG,cAAc,CAAA;AAE9E;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,SAAS,CACP,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtB;;;OAGG;IACH,SAAS,IAAI,IAAI,CAAA;IACjB;;;;;;OAMG;IACH,cAAc,CACZ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtB,4DAA4D;IAC5D,KAAK,IAAI,IAAI,CAAA;CACd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/perps-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "LI.FI Perps SDK for perpetuals trading",
|
|
5
5
|
"homepage": "https://github.com/lifinance/perps-sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"big.js": "^7.0.1",
|
|
46
46
|
"partysocket": "^1.1.19",
|
|
47
47
|
"viem": "^2.48.8",
|
|
48
|
-
"@lifi/perps-types": "^
|
|
48
|
+
"@lifi/perps-types": "^4.1.0"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
@@ -7,7 +7,9 @@ import type {
|
|
|
7
7
|
CreateActionResponse,
|
|
8
8
|
ExecuteActionResponse,
|
|
9
9
|
MarketRef,
|
|
10
|
+
MarketSettings,
|
|
10
11
|
Position,
|
|
12
|
+
PositionMarginConstraints,
|
|
11
13
|
Provider,
|
|
12
14
|
ProviderAction,
|
|
13
15
|
SignedActionStep,
|
|
@@ -385,10 +387,47 @@ export class PerpsClient {
|
|
|
385
387
|
return { ...response, settings }
|
|
386
388
|
}
|
|
387
389
|
|
|
390
|
+
/**
|
|
391
|
+
* The user's current venue-side settings for a market — the margin mode
|
|
392
|
+
* and leverage the next order on it will use. Resolves `undefined` when
|
|
393
|
+
* the venue exposes no readable setting for the market (or the provider
|
|
394
|
+
* has no such read at all).
|
|
395
|
+
*
|
|
396
|
+
* @throws {PerpsError} When the provider plugin is not registered.
|
|
397
|
+
* @public
|
|
398
|
+
*/
|
|
399
|
+
async getMarketSettings(params: {
|
|
400
|
+
provider: string
|
|
401
|
+
address: Address
|
|
402
|
+
market: MarketRef
|
|
403
|
+
}): Promise<MarketSettings | undefined> {
|
|
404
|
+
const plugin = this.requireProvider(params.provider)
|
|
405
|
+
return plugin.getMarketSettings?.({
|
|
406
|
+
address: params.address,
|
|
407
|
+
market: params.market,
|
|
408
|
+
})
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Resolve the exact venue-owned margin requirements for `position`.
|
|
413
|
+
* Returns `undefined` when the position has no individual margin adjustment.
|
|
414
|
+
*
|
|
415
|
+
* @public
|
|
416
|
+
*/
|
|
417
|
+
getPositionMarginConstraints(
|
|
418
|
+
position: Position
|
|
419
|
+
): PositionMarginConstraints | undefined {
|
|
420
|
+
return this.requireProvider(
|
|
421
|
+
position.market.providerId
|
|
422
|
+
).positionMarginConstraints(position)
|
|
423
|
+
}
|
|
424
|
+
|
|
388
425
|
/**
|
|
389
426
|
* Roll an already-fetched {@link AccountResponse} (plus its positions) up
|
|
390
427
|
* into an {@link AccountSummary}, delegating to the owning provider so the
|
|
391
428
|
* venue-specific collateral and margin semantics are applied correctly.
|
|
429
|
+
*
|
|
430
|
+
* @public
|
|
392
431
|
*/
|
|
393
432
|
getAccountSummary(
|
|
394
433
|
account: AccountResponse,
|
package/src/errors/PerpsError.ts
CHANGED
|
@@ -9,10 +9,17 @@ import { PerpsErrorCode } from '@lifi/perps-types'
|
|
|
9
9
|
* @public
|
|
10
10
|
*/
|
|
11
11
|
export class PerpsError extends Error {
|
|
12
|
+
/** Machine-readable error code for programmatic handling. */
|
|
12
13
|
code: PerpsErrorCode
|
|
14
|
+
/** Stable error name used by `instanceof`/logging. */
|
|
13
15
|
override name = 'PerpsError'
|
|
16
|
+
/** Originating package or provider key, when known. */
|
|
14
17
|
tool?: string
|
|
15
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Create an SDK error. Defaults to `DefaultError` and a generic message when
|
|
21
|
+
* callers do not provide either value.
|
|
22
|
+
*/
|
|
16
23
|
constructor(
|
|
17
24
|
code: PerpsErrorCode = PerpsErrorCode.DefaultError,
|
|
18
25
|
message = 'Unknown error occurred'
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ export {
|
|
|
25
25
|
isActiveMarket,
|
|
26
26
|
MarketRegistry,
|
|
27
27
|
toMarketDisplay,
|
|
28
|
+
toPerpsMarketDisplay,
|
|
28
29
|
} from './registry/marketRegistry.js'
|
|
29
30
|
// Services
|
|
30
31
|
export type { CreateActionParams } from './services/createAction.js'
|
|
@@ -137,6 +138,7 @@ export type {
|
|
|
137
138
|
ProviderGetActivityParams,
|
|
138
139
|
ProviderGetDepositFlowParams,
|
|
139
140
|
ProviderGetFillsParams,
|
|
141
|
+
ProviderGetMarketSettingsParams,
|
|
140
142
|
ProviderGetOrderParams,
|
|
141
143
|
ProviderGetOrdersParams,
|
|
142
144
|
ProviderGetPositionsParams,
|
|
@@ -165,7 +167,6 @@ export {
|
|
|
165
167
|
liquidationDistancePercent,
|
|
166
168
|
percentFromPrice,
|
|
167
169
|
priceFromPercent,
|
|
168
|
-
removableMargin,
|
|
169
170
|
walkOrderbook,
|
|
170
171
|
} from './utils/calculations.js'
|
|
171
172
|
export {
|
|
@@ -222,6 +223,8 @@ export {
|
|
|
222
223
|
signTypedData,
|
|
223
224
|
signTypedDataWithSigner,
|
|
224
225
|
} from './utils/signTypedData.js'
|
|
226
|
+
export type { RemovableIsolatedMarginParams } from './utils/transferMargin.js'
|
|
227
|
+
export { removableIsolatedMargin } from './utils/transferMargin.js'
|
|
225
228
|
export { fromBaseUnits, fromBaseUnitsNumber } from './utils/units.js'
|
|
226
229
|
export { validateMargin } from './utils/validation.js'
|
|
227
230
|
// Version
|
|
@@ -16,7 +16,11 @@ export class AssetRegistry extends ReferenceDataRegistry<Asset> {
|
|
|
16
16
|
super(client, provider, 'asset')
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* The most recently synced asset list. Empty before the first {@link sync}.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
20
24
|
get assets(): readonly Asset[] {
|
|
21
25
|
return this.items
|
|
22
26
|
}
|