@lifi/perps-sdk 20.0.0 → 20.1.1
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 +20 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +7 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/registry/assetRegistry.d.ts +2 -1
- package/dist/cjs/registry/assetRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/assetRegistry.js +4 -2
- 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 +4 -2
- package/dist/cjs/registry/marketRegistry.js.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.d.ts +5 -1
- package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/cjs/registry/referenceDataRegistry.js +65 -5
- package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
- package/dist/cjs/transport/request.d.ts +1 -0
- package/dist/cjs/transport/request.d.ts.map +1 -1
- package/dist/cjs/transport/request.js +6 -2
- package/dist/cjs/transport/request.js.map +1 -1
- package/dist/cjs/types/withdrawal.d.ts +5 -5
- package/dist/cjs/types/withdrawal.d.ts.map +1 -1
- package/dist/cjs/utils/decimal.d.ts +1 -0
- package/dist/cjs/utils/decimal.d.ts.map +1 -1
- package/dist/cjs/utils/decimal.js +4 -1
- package/dist/cjs/utils/decimal.js.map +1 -1
- package/dist/cjs/utils/orderEntry.d.ts +6 -0
- package/dist/cjs/utils/orderEntry.d.ts.map +1 -0
- package/dist/cjs/utils/orderEntry.js +20 -0
- package/dist/cjs/utils/orderEntry.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/cjs/websocket/WsProviderBase.js +11 -3
- package/dist/cjs/websocket/WsProviderBase.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/registry/assetRegistry.d.ts +2 -1
- package/dist/esm/registry/assetRegistry.d.ts.map +1 -1
- package/dist/esm/registry/assetRegistry.js +4 -2
- package/dist/esm/registry/assetRegistry.js.map +1 -1
- package/dist/esm/registry/marketRegistry.d.ts +2 -1
- package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
- package/dist/esm/registry/marketRegistry.js +4 -2
- package/dist/esm/registry/marketRegistry.js.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.d.ts +6 -6
- package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/esm/registry/referenceDataRegistry.js +68 -10
- package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
- package/dist/esm/transport/request.d.ts +2 -0
- package/dist/esm/transport/request.d.ts.map +1 -1
- package/dist/esm/transport/request.js +6 -2
- package/dist/esm/transport/request.js.map +1 -1
- package/dist/esm/types/withdrawal.d.ts +5 -5
- package/dist/esm/types/withdrawal.d.ts.map +1 -1
- package/dist/esm/utils/decimal.d.ts +5 -0
- package/dist/esm/utils/decimal.d.ts.map +1 -1
- package/dist/esm/utils/decimal.js +7 -0
- package/dist/esm/utils/decimal.js.map +1 -1
- package/dist/esm/utils/orderEntry.d.ts +26 -0
- package/dist/esm/utils/orderEntry.d.ts.map +1 -0
- package/dist/esm/utils/orderEntry.js +34 -0
- package/dist/esm/utils/orderEntry.js.map +1 -0
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/websocket/WsProviderBase.d.ts.map +1 -1
- package/dist/esm/websocket/WsProviderBase.js +11 -3
- package/dist/esm/websocket/WsProviderBase.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/registry/assetRegistry.d.ts +2 -1
- package/dist/types/registry/assetRegistry.d.ts.map +1 -1
- package/dist/types/registry/marketRegistry.d.ts +2 -1
- package/dist/types/registry/marketRegistry.d.ts.map +1 -1
- package/dist/types/registry/referenceDataRegistry.d.ts +6 -6
- package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
- package/dist/types/transport/request.d.ts +2 -0
- package/dist/types/transport/request.d.ts.map +1 -1
- package/dist/types/types/withdrawal.d.ts +5 -5
- package/dist/types/types/withdrawal.d.ts.map +1 -1
- package/dist/types/utils/decimal.d.ts +5 -0
- package/dist/types/utils/decimal.d.ts.map +1 -1
- package/dist/types/utils/orderEntry.d.ts +26 -0
- package/dist/types/utils/orderEntry.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/websocket/WsProviderBase.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +6 -0
- package/src/registry/assetRegistry.ts +7 -5
- package/src/registry/marketRegistry.ts +7 -5
- package/src/registry/referenceDataRegistry.ts +89 -11
- package/src/transport/request.ts +12 -2
- package/src/types/withdrawal.ts +10 -5
- package/src/utils/decimal.ts +8 -0
- package/src/utils/orderEntry.ts +38 -0
- package/src/version.ts +1 -1
- package/src/websocket/WsProviderBase.ts +11 -3
package/README.md
CHANGED
|
@@ -64,6 +64,26 @@ const client = createPerpsClient({
|
|
|
64
64
|
})
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
## Reference registry caching
|
|
68
|
+
|
|
69
|
+
Asset and market registries are scoped to each SDK client and provider. In Node,
|
|
70
|
+
the default HTTP transport reuses the indexed snapshot while the response's
|
|
71
|
+
explicit `Cache-Control: max-age` remains fresh. `Age`, `Date`, and request
|
|
72
|
+
duration reduce the remaining lifetime; cache hits never extend it. Backend URL
|
|
73
|
+
and SDK credential changes invalidate reuse.
|
|
74
|
+
|
|
75
|
+
Missing or invalid freshness metadata, `no-store`, `no-cache`, and `Vary: *`
|
|
76
|
+
cause another HTTP request. There is no guessed TTL or stale-on-error fallback:
|
|
77
|
+
an expired refresh failure rejects `sync()`, leaving the last successful snapshot
|
|
78
|
+
available only for existing index lookups. Concurrent requests with the same
|
|
79
|
+
identity share a refresh.
|
|
80
|
+
|
|
81
|
+
Browsers continue to use their native HTTP cache. A `requestInterceptor` or
|
|
82
|
+
custom `fetch` can change credentials, headers, or cache policy on every call,
|
|
83
|
+
so either disables registry-level reuse and request coalescing. Such hooks still
|
|
84
|
+
run on every `sync()`. This cache applies only to reference registries, not account,
|
|
85
|
+
price, or authenticated trading responses.
|
|
86
|
+
|
|
67
87
|
## High-level client
|
|
68
88
|
|
|
69
89
|
`PerpsClient` owns the end-to-end action pipeline. Its trade wrappers include
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -72,6 +72,7 @@ export type { FormatOptions, RoundingMode } from './utils/format.js';
|
|
|
72
72
|
export { formatCompactUsd, formatNumber, formatPrice, formatSignedPercent, formatSignedUsd, formatUsd, } from './utils/format.js';
|
|
73
73
|
export { maxOf, minOf } from './utils/math.js';
|
|
74
74
|
export { ACTIVE_ORDER_STATUSES, classifyFill, FillClassification, isActiveOrderStatus, isRegularOrder, isStopLossOrder, isTakeProfitOrder, isTpSlOrder, isTriggerOrder, isTwapOrder, triggerConditionFor, } from './utils/orderClassification.js';
|
|
75
|
+
export { marginFromNotional, marginFromSize, sizeFromMargin, sizeFromNotional, } from './utils/orderEntry.js';
|
|
75
76
|
export { expectedRealizedPnlForOpenOrder, expectedRealizedPnlForTriggerOrder, findMatchingPosition, resolveCloseSize, } from './utils/orderMath.js';
|
|
76
77
|
export { parseDecimal, stringToFloat } from './utils/parse.js';
|
|
77
78
|
export { directionSign, estimateIsolatedLiquidationPrice, predictAverageEntryPrice, predictNewLeverage, predictUnrealizedPnl, realizedPnlOnClose, wouldImmediatelyLiquidate, } from './utils/positionMath.js';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.DISABLED_RETRY = exports.isAbortError = exports.fetchWithRetry = exports.errorCodeFromStatus = exports.createMemoryStorage = exports.readValidatedRecord = exports.parseStoredRecord = exports.localStorageAdapter = exports.resolveSubscribeQuote = exports.QUOTE_THROTTLE_MS = exports.resolveQuoteMarket = exports.resolveQuote = exports.getTermsAcceptance = exports.getReferralStatus = exports.getReferralActivity = exports.getQuote = exports.getProviders = exports.getPositions = exports.getOrders = exports.getOrderbook = exports.getOrder = exports.getOhlcv = exports.getMeta = exports.getMarketsContext = exports.getMarkets = exports.getMarket = exports.LIFI_API_URL = exports.getGasRecommendation = exports.getFills = exports.getAssets = exports.getActivity = exports.getAccount = exports.executeAction = exports.createAction = exports.toPerpsMarketDisplay = exports.toMarketDisplay = exports.MarketRegistry = exports.isActiveMarket = exports.getMarketRegistry = exports.getDefaultMarketId = exports.DEFAULT_MARKET_ID = exports.toAssetDisplay = exports.getAssetRegistry = exports.AssetRegistry = exports.PerpsError = exports.PerpsErrorMessage = exports.requireProvider = exports.PerpsClient = exports.DEFAULT_API_URL = exports.createPerpsClient = void 0;
|
|
18
|
-
exports.
|
|
19
|
-
exports.wsLog = exports.WsProviderBase = exports.WS_CHANNEL_TEARDOWN_LINGER_MS = exports.ReconnectingWebSocket = exports.PerpsWsClient = exports.DecodeChain = exports.cachePromise = exports.version = exports.name = exports.createWarnOnce = exports.validateMargin = exports.fromBaseUnitsNumber = exports.fromBaseUnits = exports.signTypedDataWithSigner = exports.signTypedData = exports.selectUserSetupActions = exports.isSetupOptionFor = exports.scaleToInteger = exports.wouldImmediatelyLiquidate = exports.realizedPnlOnClose = exports.predictUnrealizedPnl = exports.predictNewLeverage = exports.predictAverageEntryPrice = exports.estimateIsolatedLiquidationPrice = exports.directionSign = exports.stringToFloat = exports.parseDecimal = exports.resolveCloseSize = exports.findMatchingPosition = void 0;
|
|
18
|
+
exports.marginFromSize = exports.marginFromNotional = exports.triggerConditionFor = exports.isTwapOrder = exports.isTriggerOrder = exports.isTpSlOrder = exports.isTakeProfitOrder = exports.isStopLossOrder = exports.isRegularOrder = exports.isActiveOrderStatus = exports.FillClassification = exports.classifyFill = exports.ACTIVE_ORDER_STATUSES = exports.minOf = exports.maxOf = exports.formatUsd = exports.formatSignedUsd = exports.formatSignedPercent = exports.formatPrice = exports.formatNumber = exports.formatCompactUsd = exports.classifyFillFromPosition = exports.explorerTxUrlFromBase = exports.explorerTxUrl = exports.ExplorerChainId = exports.ROBINHOOD_USDG = exports.ROBINHOOD_NATIVE_GAS = exports.LIGHTER_USDC = exports.HYPERLIQUID_USDC = exports.ETHEREUM_USDC = exports.ETHEREUM_NATIVE_GAS = exports.walkOrderbook = exports.priceFromPercent = exports.percentFromPrice = exports.liquidationDistancePercent = exports.estimateFees = exports.effectiveLeverage = exports.calculateUnrealizedPnl = exports.calculateRoe = exports.calculateRequiredMargin = exports.calculateRealizedPnlPercent = exports.calculatePositionSize = exports.calculateNotionalValue = exports.calculateExpectedPnl = exports.buildQuote = exports.applySlippage = exports.paginateActivity = exports.resolveRetryPolicy = exports.LIFI_RETRY_DEFAULTS = exports.LIFI_REQUEST_KEY = void 0;
|
|
19
|
+
exports.wsLog = exports.WsProviderBase = exports.WS_CHANNEL_TEARDOWN_LINGER_MS = exports.ReconnectingWebSocket = exports.PerpsWsClient = exports.DecodeChain = exports.cachePromise = exports.version = exports.name = exports.createWarnOnce = exports.validateMargin = exports.fromBaseUnitsNumber = exports.fromBaseUnits = exports.signTypedDataWithSigner = exports.signTypedData = exports.selectUserSetupActions = exports.isSetupOptionFor = exports.scaleToInteger = exports.wouldImmediatelyLiquidate = exports.realizedPnlOnClose = exports.predictUnrealizedPnl = exports.predictNewLeverage = exports.predictAverageEntryPrice = exports.estimateIsolatedLiquidationPrice = exports.directionSign = exports.stringToFloat = exports.parseDecimal = exports.resolveCloseSize = exports.findMatchingPosition = exports.expectedRealizedPnlForTriggerOrder = exports.expectedRealizedPnlForOpenOrder = exports.sizeFromNotional = exports.sizeFromMargin = void 0;
|
|
20
20
|
__exportStar(require("@lifi/perps-types"), exports);
|
|
21
21
|
var createPerpsClient_js_1 = require("./client/createPerpsClient.js");
|
|
22
22
|
Object.defineProperty(exports, "createPerpsClient", { enumerable: true, get: function () { return createPerpsClient_js_1.createPerpsClient; } });
|
|
@@ -160,6 +160,11 @@ Object.defineProperty(exports, "isTpSlOrder", { enumerable: true, get: function
|
|
|
160
160
|
Object.defineProperty(exports, "isTriggerOrder", { enumerable: true, get: function () { return orderClassification_js_1.isTriggerOrder; } });
|
|
161
161
|
Object.defineProperty(exports, "isTwapOrder", { enumerable: true, get: function () { return orderClassification_js_1.isTwapOrder; } });
|
|
162
162
|
Object.defineProperty(exports, "triggerConditionFor", { enumerable: true, get: function () { return orderClassification_js_1.triggerConditionFor; } });
|
|
163
|
+
var orderEntry_js_1 = require("./utils/orderEntry.js");
|
|
164
|
+
Object.defineProperty(exports, "marginFromNotional", { enumerable: true, get: function () { return orderEntry_js_1.marginFromNotional; } });
|
|
165
|
+
Object.defineProperty(exports, "marginFromSize", { enumerable: true, get: function () { return orderEntry_js_1.marginFromSize; } });
|
|
166
|
+
Object.defineProperty(exports, "sizeFromMargin", { enumerable: true, get: function () { return orderEntry_js_1.sizeFromMargin; } });
|
|
167
|
+
Object.defineProperty(exports, "sizeFromNotional", { enumerable: true, get: function () { return orderEntry_js_1.sizeFromNotional; } });
|
|
163
168
|
var orderMath_js_1 = require("./utils/orderMath.js");
|
|
164
169
|
Object.defineProperty(exports, "expectedRealizedPnlForOpenOrder", { enumerable: true, get: function () { return orderMath_js_1.expectedRealizedPnlForOpenOrder; } });
|
|
165
170
|
Object.defineProperty(exports, "expectedRealizedPnlForTriggerOrder", { enumerable: true, get: function () { return orderMath_js_1.expectedRealizedPnlForTriggerOrder; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Asset, AssetDisplay } from '@lifi/perps-types';
|
|
2
|
+
import { type RequestOptions } from '../transport/request.js';
|
|
2
3
|
import type { PerpsSDKClient } from '../types/provider.js';
|
|
3
4
|
import { ReferenceDataRegistry } from './referenceDataRegistry.js';
|
|
4
5
|
export declare class AssetRegistry extends ReferenceDataRegistry<Asset> {
|
|
@@ -6,7 +7,7 @@ export declare class AssetRegistry extends ReferenceDataRegistry<Asset> {
|
|
|
6
7
|
get(id: string, key?: 'id' | 'l1Address'): Asset | undefined;
|
|
7
8
|
require(id: string, key?: 'id' | 'l1Address'): Asset;
|
|
8
9
|
get assets(): readonly Asset[];
|
|
9
|
-
protected fetchItems(): Promise<Asset[]>;
|
|
10
|
+
protected fetchItems(onResponse: RequestOptions['onResponse']): Promise<Asset[]>;
|
|
10
11
|
protected keyOf(asset: Asset): string;
|
|
11
12
|
}
|
|
12
13
|
export declare const toAssetDisplay: (asset: Asset) => AssetDisplay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"assetRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAkB,MAAM,mBAAmB,CAAA;AAG5E,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAMlE,qBAAa,aAAc,SAAQ,qBAAqB,CAAC,KAAK,CAAC;gBACjD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IAQ3C,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,IAAI,GAAG,WAAkB,GAAG,KAAK,GAAG,SAAS;IAK3E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,GAAE,IAAI,GAAG,WAAkB,GAAG,KAAK;IAkB1D,IAAI,MAAM,IAAI,SAAS,KAAK,EAAE,CAE7B;IAED,SAAS,CAAC,UAAU,CAClB,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,KAAK,EAAE,CAAC;IASnB,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;CAGtC;AAOD,eAAO,MAAM,cAAc,GAAI,OAAO,KAAK,KAAG,YAQ5C,CAAA;AASF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GACf,aAAa,CAYf"}
|
|
@@ -28,11 +28,13 @@ class AssetRegistry extends referenceDataRegistry_js_1.ReferenceDataRegistry {
|
|
|
28
28
|
get assets() {
|
|
29
29
|
return this.items;
|
|
30
30
|
}
|
|
31
|
-
fetchItems() {
|
|
31
|
+
fetchItems(onResponse) {
|
|
32
32
|
const url = (0, request_js_1.buildUrl)(`${this.client.config.apiUrl}/assets`, {
|
|
33
33
|
provider: this.provider,
|
|
34
34
|
});
|
|
35
|
-
return (0, request_js_1.request)(this.client.config, url
|
|
35
|
+
return (0, request_js_1.request)(this.client.config, url, {
|
|
36
|
+
onResponse,
|
|
37
|
+
}).then((response) => response.assets);
|
|
36
38
|
}
|
|
37
39
|
keyOf(asset) {
|
|
38
40
|
return asset.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetRegistry.js","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"assetRegistry.js","sourceRoot":"","sources":["../../../src/registry/assetRegistry.ts"],"names":[],"mappings":";;;AAqFA,4CAeC;AAnGD,mDAAkD;AAClD,2DAAoD;AACpD,wDAAgF;AAEhF,yEAAkE;AAElE,MAAM,UAAU,GAAG,CAAC,OAAe,EAAU,EAAE,CAC7C,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AAGrE,MAAa,aAAc,SAAQ,gDAA4B;IAC7D,YAAY,MAAsB,EAAE,QAAgB;QAClD,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;YAC/B,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;SAC1E,CAAC,CAAA;IACJ,CAAC;IAGQ,GAAG,CAAC,EAAU,EAAE,MAA0B,IAAI;QACrD,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;IAGD,OAAO,CAAC,EAAU,EAAE,MAA0B,IAAI;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,0BAAU,CAC1B,4BAAc,CAAC,eAAe,EAC9B,IAAI,IAAI,CAAC,QAAQ,gDAAgD,GAAG,KAAK,EAAE,GAAG,CAC/E,CAAA;YACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC1B,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAOD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAES,UAAU,CAClB,UAAwC;QAExC,MAAM,GAAG,GAAG,IAAA,qBAAQ,EAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;QACF,OAAO,IAAA,oBAAO,EAAiB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;YACtD,UAAU;SACX,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAES,KAAK,CAAC,KAAY;QAC1B,OAAO,KAAK,CAAC,EAAE,CAAA;IACjB,CAAC;CACF;AAlDD,sCAkDC;AAOM,MAAM,cAAc,GAAG,CAAC,KAAY,EAAgB,EAAE,CAAC,CAAC;IAC7D,UAAU,EAAE,KAAK,CAAC,UAAU;IAC5B,EAAE,EAAE,KAAK,CAAC,EAAE;IACZ,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,OAAO,EAAE,KAAK,CAAC,OAAO;IACtB,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;QACjC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;CACxC,CAAC,CAAA;AARW,QAAA,cAAc,kBAQzB;AAEF,MAAM,UAAU,GAAG,IAAI,OAAO,EAA8C,CAAA;AAO5E,SAAgB,gBAAgB,CAC9B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9C,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Market, MarketDisplay, PerpsMarketDisplay } from '@lifi/perps-types';
|
|
2
|
+
import { type RequestOptions } from '../transport/request.js';
|
|
2
3
|
import type { PerpsSDKClient } from '../types/provider.js';
|
|
3
4
|
import { ReferenceDataRegistry } from './referenceDataRegistry.js';
|
|
4
5
|
export declare class MarketRegistry extends ReferenceDataRegistry<Market> {
|
|
@@ -7,7 +8,7 @@ export declare class MarketRegistry extends ReferenceDataRegistry<Market> {
|
|
|
7
8
|
get activeMarkets(): readonly Market[];
|
|
8
9
|
require(marketId: string): Market;
|
|
9
10
|
requireActive(marketId: string): Market;
|
|
10
|
-
protected fetchItems(): Promise<Market[]>;
|
|
11
|
+
protected fetchItems(onResponse: RequestOptions['onResponse']): Promise<Market[]>;
|
|
11
12
|
protected keyOf(market: Market): string;
|
|
12
13
|
}
|
|
13
14
|
export declare const isActiveMarket: (market: Market) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EAEb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"marketRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EAEb,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAY,KAAK,cAAc,EAAW,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAUlE,qBAAa,cAAe,SAAQ,qBAAqB,CAAC,MAAM,CAAC;gBACnD,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;IASpD,IAAI,OAAO,IAAI,SAAS,MAAM,EAAE,CAE/B;IAOD,IAAI,aAAa,IAAI,SAAS,MAAM,EAAE,CAErC;IAWD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAqBjC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAavC,SAAS,CAAC,UAAU,CAClB,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC;IASpB,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGxC;AAUD,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,OACpB,CAAA;AAO5B,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAStE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAInE,CAAA;AAOD,eAAO,MAAM,kBAAkB,GAAI,UAAU,qBAAqB,KAAG,MACxC,CAAA;AAO7B,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,GACf,cAAc,CAYhB;AASD,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,aAO/C,CAAA;AASF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,MAAM,KAAG,kBA6BrD,CAAA"}
|
|
@@ -34,11 +34,13 @@ class MarketRegistry extends referenceDataRegistry_js_1.ReferenceDataRegistry {
|
|
|
34
34
|
}
|
|
35
35
|
return market;
|
|
36
36
|
}
|
|
37
|
-
fetchItems() {
|
|
37
|
+
fetchItems(onResponse) {
|
|
38
38
|
const url = (0, request_js_1.buildUrl)(`${this.client.config.apiUrl}/markets`, {
|
|
39
39
|
provider: this.provider,
|
|
40
40
|
});
|
|
41
|
-
return (0, request_js_1.request)(this.client.config, url
|
|
41
|
+
return (0, request_js_1.request)(this.client.config, url, {
|
|
42
|
+
onResponse,
|
|
43
|
+
}).then((response) => response.markets);
|
|
42
44
|
}
|
|
43
45
|
keyOf(market) {
|
|
44
46
|
return market.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RequestOptions } from '../transport/request.js';
|
|
1
2
|
import type { PerpsSDKClient } from '../types/provider.js';
|
|
2
3
|
export declare abstract class ReferenceDataRegistry<T> {
|
|
3
4
|
protected readonly client: PerpsSDKClient;
|
|
@@ -8,9 +9,12 @@ export declare abstract class ReferenceDataRegistry<T> {
|
|
|
8
9
|
private secondaryIndexes;
|
|
9
10
|
private current;
|
|
10
11
|
private inflight;
|
|
12
|
+
private inflightIdentity;
|
|
13
|
+
private cacheIdentity;
|
|
14
|
+
private freshUntil;
|
|
11
15
|
private readonly warnOnce;
|
|
12
16
|
protected constructor(client: PerpsSDKClient, provider: string, kind: string, secondaryKeys?: Readonly<Record<string, (item: T) => string | undefined>>);
|
|
13
|
-
protected abstract fetchItems(): Promise<T[]>;
|
|
17
|
+
protected abstract fetchItems(onResponse: RequestOptions['onResponse']): Promise<T[]>;
|
|
14
18
|
protected abstract keyOf(item: T): string;
|
|
15
19
|
sync(): Promise<readonly T[]>;
|
|
16
20
|
protected get items(): readonly T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAkD1D,8BAAsB,qBAAqB,CAAC,CAAC;IAWzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAE5C,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM,EACZ,aAAa,GAAE,QAAQ,CACtC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAC3C;IAIR,SAAS,CAAC,QAAQ,CAAC,UAAU,CAC3B,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,OAAO,CAAC,CAAC,EAAE,CAAC;IAGf,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAGzC,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IA4B7B,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAGD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAS9B,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAI9C,IAAI;CAgDnB"}
|
|
@@ -4,6 +4,37 @@ exports.ReferenceDataRegistry = void 0;
|
|
|
4
4
|
const perps_types_1 = require("@lifi/perps-types");
|
|
5
5
|
const PerpsError_js_1 = require("../errors/PerpsError.js");
|
|
6
6
|
const warnOnce_js_1 = require("../utils/warnOnce.js");
|
|
7
|
+
function freshUntil(headers, requestStartedAt, responseReceivedAt) {
|
|
8
|
+
const directives = (headers.get('cache-control') ?? '')
|
|
9
|
+
.toLowerCase()
|
|
10
|
+
.split(',')
|
|
11
|
+
.map((directive) => directive.trim());
|
|
12
|
+
if (directives.some((directive) => /^(no-store|no-cache)(?:\s*=|$)/.test(directive)) ||
|
|
13
|
+
headers
|
|
14
|
+
.get('vary')
|
|
15
|
+
?.split(',')
|
|
16
|
+
.some((name) => name.trim() === '*')) {
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
19
|
+
const maxAges = directives.filter((directive) => /^max-age(?:\s*=|$)/.test(directive));
|
|
20
|
+
const maxAge = maxAges.length === 1
|
|
21
|
+
? /^max-age\s*=\s*(?:"(\d+)"|(\d+))$/.exec(maxAges[0])
|
|
22
|
+
: null;
|
|
23
|
+
if (!maxAge) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
const age = headers.get('age') ?? '0';
|
|
27
|
+
const date = headers.get('date');
|
|
28
|
+
const dateTime = date === null ? responseReceivedAt : Date.parse(date);
|
|
29
|
+
if (!/^\d+$/.test(age) || !Number.isFinite(dateTime)) {
|
|
30
|
+
return 0;
|
|
31
|
+
}
|
|
32
|
+
const lifetime = Number(maxAge[1] ?? maxAge[2]) * 1000;
|
|
33
|
+
const currentAge = Math.max(responseReceivedAt - dateTime, Number(age) * 1000 + Math.max(0, responseReceivedAt - requestStartedAt));
|
|
34
|
+
return Number.isFinite(lifetime)
|
|
35
|
+
? responseReceivedAt + lifetime - currentAge
|
|
36
|
+
: 0;
|
|
37
|
+
}
|
|
7
38
|
class ReferenceDataRegistry {
|
|
8
39
|
client;
|
|
9
40
|
provider;
|
|
@@ -13,6 +44,9 @@ class ReferenceDataRegistry {
|
|
|
13
44
|
secondaryIndexes = new Map();
|
|
14
45
|
current = [];
|
|
15
46
|
inflight;
|
|
47
|
+
inflightIdentity;
|
|
48
|
+
cacheIdentity;
|
|
49
|
+
freshUntil = 0;
|
|
16
50
|
warnOnce = (0, warnOnce_js_1.createWarnOnce)();
|
|
17
51
|
constructor(client, provider, kind, secondaryKeys = {}) {
|
|
18
52
|
this.client = client;
|
|
@@ -21,10 +55,27 @@ class ReferenceDataRegistry {
|
|
|
21
55
|
this.secondaryKeys = secondaryKeys;
|
|
22
56
|
}
|
|
23
57
|
sync() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
58
|
+
const { config } = this.client;
|
|
59
|
+
if (config.requestInterceptor || config.fetch) {
|
|
60
|
+
return this.load();
|
|
61
|
+
}
|
|
62
|
+
const identity = JSON.stringify([
|
|
63
|
+
config.apiUrl,
|
|
64
|
+
config.apiKey,
|
|
65
|
+
config.integrator,
|
|
66
|
+
]);
|
|
67
|
+
if (identity === this.cacheIdentity && Date.now() < this.freshUntil) {
|
|
68
|
+
return Promise.resolve(this.current);
|
|
69
|
+
}
|
|
70
|
+
if (!this.inflight || this.inflightIdentity !== identity) {
|
|
71
|
+
const inflight = this.load(identity).finally(() => {
|
|
72
|
+
if (this.inflight === inflight) {
|
|
73
|
+
this.inflight = undefined;
|
|
74
|
+
this.inflightIdentity = undefined;
|
|
75
|
+
}
|
|
27
76
|
});
|
|
77
|
+
this.inflight = inflight;
|
|
78
|
+
this.inflightIdentity = identity;
|
|
28
79
|
}
|
|
29
80
|
return this.inflight;
|
|
30
81
|
}
|
|
@@ -42,8 +93,15 @@ class ReferenceDataRegistry {
|
|
|
42
93
|
getByIndex(id, key) {
|
|
43
94
|
return this.secondaryIndexes.get(key)?.get(id);
|
|
44
95
|
}
|
|
45
|
-
async load() {
|
|
46
|
-
|
|
96
|
+
async load(identity) {
|
|
97
|
+
let expiresAt = 0;
|
|
98
|
+
const items = await this.fetchItems((headers, startedAt, receivedAt) => {
|
|
99
|
+
if (identity !== undefined &&
|
|
100
|
+
typeof process !== 'undefined' &&
|
|
101
|
+
process.versions?.node) {
|
|
102
|
+
expiresAt = freshUntil(headers, startedAt, receivedAt);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
47
105
|
const index = new Map();
|
|
48
106
|
for (const item of items) {
|
|
49
107
|
const key = this.keyOf(item);
|
|
@@ -70,6 +128,8 @@ class ReferenceDataRegistry {
|
|
|
70
128
|
this.index = index;
|
|
71
129
|
this.secondaryIndexes = secondaryIndexes;
|
|
72
130
|
this.current = items;
|
|
131
|
+
this.cacheIdentity = identity;
|
|
132
|
+
this.freshUntil = expiresAt;
|
|
73
133
|
return items;
|
|
74
134
|
}
|
|
75
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAClD,2DAAoD;
|
|
1
|
+
{"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { PerpsBaseConfig, SDKRequestOptions } from '../types/config.js';
|
|
|
2
2
|
import { type RetryPolicy } from './retryPolicy.js';
|
|
3
3
|
export interface RequestOptions extends RequestInit {
|
|
4
4
|
retry?: RetryPolicy | false;
|
|
5
|
+
onResponse?: (headers: Headers, requestStartedAt: number, responseReceivedAt: number) => void;
|
|
5
6
|
}
|
|
6
7
|
export declare function request<T>(config: PerpsBaseConfig, url: string, options?: RequestOptions, sdkOptions?: SDKRequestOptions): Promise<T>;
|
|
7
8
|
export declare function buildUrl(baseUrl: string, params: Record<string, string | number | boolean | undefined>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI5E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAOzB,MAAM,WAAW,cAAe,SAAQ,WAAW;IAEjD,KAAK,CAAC,EAAE,WAAW,GAAG,KAAK,CAAA;IAE3B,UAAU,CAAC,EAAE,CACX,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,KACvB,IAAI,CAAA;CACV;AAQD,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,EAC5B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAgFZ;AAOD,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAC5D,MAAM,CAWR"}
|
|
@@ -9,7 +9,7 @@ const errorCodeFromStatus_js_1 = require("./errorCodeFromStatus.js");
|
|
|
9
9
|
const fetchWithRetry_js_1 = require("./fetchWithRetry.js");
|
|
10
10
|
const retryPolicy_js_1 = require("./retryPolicy.js");
|
|
11
11
|
async function request(config, url, options = {}, sdkOptions) {
|
|
12
|
-
const { retry, ...fetchInit } = options;
|
|
12
|
+
const { retry, onResponse, ...fetchInit } = options;
|
|
13
13
|
const policy = retry !== undefined
|
|
14
14
|
? (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, retry, retryPolicy_js_1.LIFI_REQUEST_KEY)
|
|
15
15
|
: (0, retryPolicy_js_1.resolveRetryPolicy)(retryPolicy_js_1.LIFI_RETRY_DEFAULTS, config.retry, retryPolicy_js_1.LIFI_REQUEST_KEY);
|
|
@@ -33,11 +33,13 @@ async function request(config, url, options = {}, sdkOptions) {
|
|
|
33
33
|
finalOptions = await config.requestInterceptor(url, finalOptions);
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
36
|
+
const requestStartedAt = onResponse ? Date.now() : 0;
|
|
36
37
|
const response = await (0, fetchWithRetry_js_1.fetchWithRetry)(url, finalOptions, {
|
|
37
38
|
policy,
|
|
38
39
|
fetchImpl: config.fetch,
|
|
39
40
|
signal: sdkOptions?.signal ?? finalOptions.signal ?? undefined,
|
|
40
41
|
});
|
|
42
|
+
const responseReceivedAt = onResponse ? Date.now() : 0;
|
|
41
43
|
if (!response.ok) {
|
|
42
44
|
let body;
|
|
43
45
|
try {
|
|
@@ -56,7 +58,9 @@ async function request(config, url, options = {}, sdkOptions) {
|
|
|
56
58
|
error.tool = 'unknown';
|
|
57
59
|
throw error;
|
|
58
60
|
}
|
|
59
|
-
|
|
61
|
+
const data = (await response.json());
|
|
62
|
+
onResponse?.(response.headers, requestStartedAt, responseReceivedAt);
|
|
63
|
+
return data;
|
|
60
64
|
}
|
|
61
65
|
catch (error) {
|
|
62
66
|
if (error instanceof PerpsError_js_1.PerpsError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/transport/request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import type { ActionType, Asset, WithdrawalRoute } from '@lifi/perps-types';
|
|
1
|
+
import type { ActionType, Asset, DecimalString, WithdrawalRoute } from '@lifi/perps-types';
|
|
2
2
|
import type { Address } from 'viem';
|
|
3
3
|
export type { WithdrawalRoute };
|
|
4
4
|
export interface ProviderWithdrawableBalance {
|
|
5
5
|
assetId: string;
|
|
6
6
|
route: WithdrawalRoute;
|
|
7
|
-
available:
|
|
8
|
-
withdrawalFee?:
|
|
7
|
+
available: DecimalString;
|
|
8
|
+
withdrawalFee?: DecimalString;
|
|
9
9
|
isFeeDeducted?: boolean;
|
|
10
10
|
}
|
|
11
11
|
export interface WithdrawableBalance {
|
|
12
12
|
asset: Asset;
|
|
13
13
|
route: WithdrawalRoute;
|
|
14
|
-
available:
|
|
15
|
-
withdrawalFee?:
|
|
14
|
+
available: DecimalString;
|
|
15
|
+
withdrawalFee?: DecimalString;
|
|
16
16
|
isFeeDeducted?: boolean;
|
|
17
17
|
}
|
|
18
18
|
export interface WithdrawFlowReady {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/types/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,aAAa,EACb,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,YAAY,EAAE,eAAe,EAAE,CAAA;AAQ/B,MAAM,WAAW,2BAA2B;IAE1C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,aAAa,CAAA;IAMxB,aAAa,CAAC,EAAE,aAAa,CAAA;IAM7B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AASD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,eAAe,CAAA;IAEtB,SAAS,EAAE,aAAa,CAAA;IAWxB,aAAa,CAAC,EAAE,aAAa,CAAA;IAM7B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAOD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;CACrB;AASD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,eAAe,CAAA;IAErB,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAQD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAMxB,eAAO,MAAM,MAAM,oBAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAA;AAMxB,eAAO,MAAM,MAAM,oBAAQ,CAAA;AAO3B,eAAO,MAAM,QAAQ,oBAAQ,CAAA;AAK7B,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAEtD"}
|
|
@@ -3,11 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DivBig = void 0;
|
|
6
|
+
exports.TruncBig = exports.DivBig = void 0;
|
|
7
7
|
exports.areFinite = areFinite;
|
|
8
8
|
const big_js_1 = __importDefault(require("big.js"));
|
|
9
9
|
exports.DivBig = (0, big_js_1.default)();
|
|
10
10
|
exports.DivBig.DP = 40;
|
|
11
|
+
exports.TruncBig = (0, big_js_1.default)();
|
|
12
|
+
exports.TruncBig.DP = 40;
|
|
13
|
+
exports.TruncBig.RM = big_js_1.default.roundDown;
|
|
11
14
|
function areFinite(...values) {
|
|
12
15
|
return values.every(Number.isFinite);
|
|
13
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":";;;;;;AAkBA,8BAEC;AApBD,oDAAwB;AAMX,QAAA,MAAM,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC3B,cAAM,CAAC,EAAE,GAAG,EAAE,CAAA;AAMD,QAAA,QAAQ,GAAG,IAAA,gBAAG,GAAE,CAAA;AAC7B,gBAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;AAChB,gBAAQ,CAAC,EAAE,GAAG,gBAAG,CAAC,SAAS,CAAA;AAG3B,SAAgB,SAAS,CAAC,GAAG,MAAgB;IAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type Big from 'big.js';
|
|
2
|
+
export declare function sizeFromMargin(margin: Big, leverage: number, price: Big): Big;
|
|
3
|
+
export declare function marginFromSize(size: Big, leverage: number, price: Big): Big;
|
|
4
|
+
export declare function sizeFromNotional(notionalUsd: Big, price: Big): Big;
|
|
5
|
+
export declare function marginFromNotional(notionalUsd: Big, leverage: number): Big;
|
|
6
|
+
//# sourceMappingURL=orderEntry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderEntry.d.ts","sourceRoot":"","sources":["../../../src/utils/orderEntry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAQ7B,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAE7E;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAE3E;AAOD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,CAElE;AAOD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAE1E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sizeFromMargin = sizeFromMargin;
|
|
4
|
+
exports.marginFromSize = marginFromSize;
|
|
5
|
+
exports.sizeFromNotional = sizeFromNotional;
|
|
6
|
+
exports.marginFromNotional = marginFromNotional;
|
|
7
|
+
const decimal_js_1 = require("./decimal.js");
|
|
8
|
+
function sizeFromMargin(margin, leverage, price) {
|
|
9
|
+
return new decimal_js_1.TruncBig(margin).times(leverage).div(price);
|
|
10
|
+
}
|
|
11
|
+
function marginFromSize(size, leverage, price) {
|
|
12
|
+
return new decimal_js_1.TruncBig(size).times(price).div(leverage);
|
|
13
|
+
}
|
|
14
|
+
function sizeFromNotional(notionalUsd, price) {
|
|
15
|
+
return new decimal_js_1.TruncBig(notionalUsd).div(price);
|
|
16
|
+
}
|
|
17
|
+
function marginFromNotional(notionalUsd, leverage) {
|
|
18
|
+
return new decimal_js_1.TruncBig(notionalUsd).div(leverage);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=orderEntry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderEntry.js","sourceRoot":"","sources":["../../../src/utils/orderEntry.ts"],"names":[],"mappings":";;AAQA,wCAEC;AAOD,wCAEC;AAOD,4CAEC;AAOD,gDAEC;AApCD,6CAAuC;AAOvC,SAAgB,cAAc,CAAC,MAAW,EAAE,QAAgB,EAAE,KAAU;IACtE,OAAO,IAAI,qBAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACxD,CAAC;AAOD,SAAgB,cAAc,CAAC,IAAS,EAAE,QAAgB,EAAE,KAAU;IACpE,OAAO,IAAI,qBAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACtD,CAAC;AAOD,SAAgB,gBAAgB,CAAC,WAAgB,EAAE,KAAU;IAC3D,OAAO,IAAI,qBAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC7C,CAAC;AAOD,SAAgB,kBAAkB,CAAC,WAAgB,EAAE,QAAgB;IACnE,OAAO,IAAI,qBAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC"}
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -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;AAYnB,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAkChD,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;IAqBrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAqCtB,SAAS,IAAI,IAAI;IAYjB,KAAK,IAAI,IAAI;IAcb,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAkB3D,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;cAuBlC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WsProviderBase.d.ts","sourceRoot":"","sources":["../../../src/websocket/WsProviderBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAYnB,eAAO,MAAM,6BAA6B,MAAM,CAAA;AAkChD,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;IAqBrD,SAAS,CACb,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,IAAI,CAAC;IAqCtB,SAAS,IAAI,IAAI;IAYjB,KAAK,IAAI,IAAI;IAcb,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAkB3D,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;cAuBlC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;YAI5B,UAAU;IAsBxB,QAAQ,CAAC,cAAc,CACrB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,IAAI,CAAC;IAGtB,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM;IAOnD,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAQtE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAGnE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAGnD,SAAS,CAAC,OAAO,IAAI,IAAI;IAEzB,OAAO,CAAC,YAAY;YAYN,cAAc;IAsD5B,OAAO,CAAC,cAAc;CAwCvB"}
|