@lifi/perps-sdk-provider-hyperliquid 26.0.0 → 27.0.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/dist/cjs/services/getAccount.d.ts.map +1 -1
- package/dist/cjs/services/getAccount.js +7 -6
- package/dist/cjs/services/getAccount.js.map +1 -1
- package/dist/cjs/services/getOrders.d.ts.map +1 -1
- package/dist/cjs/services/getOrders.js +5 -27
- package/dist/cjs/services/getOrders.js.map +1 -1
- package/dist/cjs/services/getPortfolioHistory.d.ts.map +1 -1
- package/dist/cjs/services/getPortfolioHistory.js +3 -1
- package/dist/cjs/services/getPortfolioHistory.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -1
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +3 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/liquidation.d.ts +4 -1
- package/dist/cjs/utils/liquidation.d.ts.map +1 -1
- package/dist/cjs/utils/liquidation.js +9 -8
- package/dist/cjs/utils/liquidation.js.map +1 -1
- package/dist/cjs/utils/mapActivity.d.ts.map +1 -1
- package/dist/cjs/utils/mapActivity.js +9 -3
- package/dist/cjs/utils/mapActivity.js.map +1 -1
- package/dist/cjs/utils/mapFill.d.ts.map +1 -1
- package/dist/cjs/utils/mapFill.js +4 -1
- package/dist/cjs/utils/mapFill.js.map +1 -1
- package/dist/cjs/utils/mapMarket.d.ts.map +1 -1
- package/dist/cjs/utils/mapMarket.js +1 -1
- package/dist/cjs/utils/mapMarket.js.map +1 -1
- package/dist/cjs/utils/mapOrder.d.ts +2 -0
- package/dist/cjs/utils/mapOrder.d.ts.map +1 -1
- package/dist/cjs/utils/mapOrder.js +31 -19
- package/dist/cjs/utils/mapOrder.js.map +1 -1
- package/dist/cjs/utils/mapPosition.d.ts.map +1 -1
- package/dist/cjs/utils/mapPosition.js +4 -4
- package/dist/cjs/utils/mapPosition.js.map +1 -1
- package/dist/cjs/utils/spotBalance.d.ts +1 -1
- package/dist/cjs/utils/spotBalance.d.ts.map +1 -1
- package/dist/cjs/utils/spotBalance.js +4 -1
- package/dist/cjs/utils/spotBalance.js.map +1 -1
- package/dist/cjs/utils/transferMargin.js +1 -1
- package/dist/cjs/utils/transferMargin.js.map +1 -1
- package/dist/cjs/utils/venueTotals.d.ts +0 -1
- package/dist/cjs/utils/venueTotals.d.ts.map +1 -1
- package/dist/cjs/utils/venueTotals.js +13 -4
- package/dist/cjs/utils/venueTotals.js.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts +2 -0
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.js +63 -51
- package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/esm/services/getAccount.d.ts.map +1 -1
- package/dist/esm/services/getAccount.js +8 -7
- package/dist/esm/services/getAccount.js.map +1 -1
- package/dist/esm/services/getOrders.d.ts.map +1 -1
- package/dist/esm/services/getOrders.js +7 -35
- package/dist/esm/services/getOrders.js.map +1 -1
- package/dist/esm/services/getPortfolioHistory.d.ts.map +1 -1
- package/dist/esm/services/getPortfolioHistory.js +3 -1
- package/dist/esm/services/getPortfolioHistory.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -1
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/liquidation.d.ts +24 -23
- package/dist/esm/utils/liquidation.d.ts.map +1 -1
- package/dist/esm/utils/liquidation.js +29 -31
- package/dist/esm/utils/liquidation.js.map +1 -1
- package/dist/esm/utils/mapActivity.d.ts.map +1 -1
- package/dist/esm/utils/mapActivity.js +9 -3
- package/dist/esm/utils/mapActivity.js.map +1 -1
- package/dist/esm/utils/mapFill.d.ts.map +1 -1
- package/dist/esm/utils/mapFill.js +4 -1
- package/dist/esm/utils/mapFill.js.map +1 -1
- package/dist/esm/utils/mapMarket.d.ts.map +1 -1
- package/dist/esm/utils/mapMarket.js +2 -2
- package/dist/esm/utils/mapMarket.js.map +1 -1
- package/dist/esm/utils/mapOrder.d.ts +7 -0
- package/dist/esm/utils/mapOrder.d.ts.map +1 -1
- package/dist/esm/utils/mapOrder.js +35 -19
- package/dist/esm/utils/mapOrder.js.map +1 -1
- package/dist/esm/utils/mapPosition.d.ts.map +1 -1
- package/dist/esm/utils/mapPosition.js +4 -4
- package/dist/esm/utils/mapPosition.js.map +1 -1
- package/dist/esm/utils/spotBalance.d.ts +2 -1
- package/dist/esm/utils/spotBalance.d.ts.map +1 -1
- package/dist/esm/utils/spotBalance.js +5 -1
- package/dist/esm/utils/spotBalance.js.map +1 -1
- package/dist/esm/utils/transferMargin.js +1 -1
- package/dist/esm/utils/transferMargin.js.map +1 -1
- package/dist/esm/utils/venueTotals.d.ts +2 -6
- package/dist/esm/utils/venueTotals.d.ts.map +1 -1
- package/dist/esm/utils/venueTotals.js +15 -8
- package/dist/esm/utils/venueTotals.js.map +1 -1
- package/dist/esm/utils/withdrawableBalances.d.ts +2 -2
- package/dist/esm/utils/withdrawableBalances.js +2 -2
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts +3 -1
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.js +66 -54
- package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/types/services/getAccount.d.ts.map +1 -1
- package/dist/types/services/getOrders.d.ts.map +1 -1
- package/dist/types/services/getPortfolioHistory.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/liquidation.d.ts +24 -23
- package/dist/types/utils/liquidation.d.ts.map +1 -1
- package/dist/types/utils/mapActivity.d.ts.map +1 -1
- package/dist/types/utils/mapFill.d.ts.map +1 -1
- package/dist/types/utils/mapMarket.d.ts.map +1 -1
- package/dist/types/utils/mapOrder.d.ts +7 -0
- package/dist/types/utils/mapOrder.d.ts.map +1 -1
- package/dist/types/utils/mapPosition.d.ts.map +1 -1
- package/dist/types/utils/spotBalance.d.ts +2 -1
- package/dist/types/utils/spotBalance.d.ts.map +1 -1
- package/dist/types/utils/venueTotals.d.ts +2 -6
- package/dist/types/utils/venueTotals.d.ts.map +1 -1
- package/dist/types/utils/withdrawableBalances.d.ts +2 -2
- package/dist/types/websocket/HyperliquidWsProvider.d.ts +3 -1
- package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/services/getAccount.ts +16 -6
- package/src/services/getOrders.ts +9 -44
- package/src/services/getPortfolioHistory.ts +3 -7
- package/src/utils/index.ts +2 -0
- package/src/utils/liquidation.ts +42 -34
- package/src/utils/mapActivity.ts +9 -3
- package/src/utils/mapFill.ts +4 -1
- package/src/utils/mapMarket.ts +4 -2
- package/src/utils/mapOrder.ts +46 -20
- package/src/utils/mapPosition.ts +8 -4
- package/src/utils/spotBalance.ts +8 -1
- package/src/utils/transferMargin.ts +1 -1
- package/src/utils/venueTotals.ts +21 -28
- package/src/utils/withdrawableBalances.ts +2 -2
- package/src/websocket/HyperliquidWsProvider.ts +105 -69
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"mapOrder.js","sourceRoot":"","sources":["../../../src/utils/mapOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"mapPosition.d.ts","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAmBxD,eAAO,MAAM,mBAAmB,GAAI,IAAI,eAAe,KAAG,OACP,CAAA;AAYnD,eAAO,MAAM,WAAW,GACtB,IAAI,eAAe,EACnB,QAAQ,kBAAkB,KACzB,QAAQ,GAAG,SAsDb,CAAA"}
|
|
@@ -5,8 +5,8 @@ const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
|
5
5
|
const perps_types_1 = require("@lifi/perps-types");
|
|
6
6
|
const constants_js_1 = require("../constants.js");
|
|
7
7
|
const warnNonPositiveLeverageOnce = (0, perps_sdk_1.createWarnOnce)();
|
|
8
|
-
const skipPosition = (field, value) => {
|
|
9
|
-
(0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.PROVIDER_KEY, 'position', field, value);
|
|
8
|
+
const skipPosition = (marketId, field, value) => {
|
|
9
|
+
(0, perps_sdk_1.warnSkippedVenueRow)(constants_js_1.PROVIDER_KEY, 'position', field, value, { marketId });
|
|
10
10
|
return undefined;
|
|
11
11
|
};
|
|
12
12
|
const isOpenAssetPosition = (ap) => (0, perps_sdk_1.safeIsDecimalStringZero)(ap.position.szi) !== true;
|
|
@@ -14,7 +14,7 @@ exports.isOpenAssetPosition = isOpenAssetPosition;
|
|
|
14
14
|
const mapPosition = (ap, market) => {
|
|
15
15
|
const pos = ap.position;
|
|
16
16
|
if (!(0, perps_sdk_1.isDecimalString)(pos.szi)) {
|
|
17
|
-
return skipPosition('szi', pos.szi);
|
|
17
|
+
return skipPosition(market.id, 'szi', pos.szi);
|
|
18
18
|
}
|
|
19
19
|
const size = (0, perps_sdk_1.absDecimalString)(pos.szi);
|
|
20
20
|
const positionValue = (0, perps_sdk_1.safeAbsDecimalString)(pos.positionValue);
|
|
@@ -44,7 +44,7 @@ const mapPosition = (ap, market) => {
|
|
|
44
44
|
size,
|
|
45
45
|
entryPrice: pos.entryPx ?? '0',
|
|
46
46
|
...(markPrice === undefined ? {} : { markPrice }),
|
|
47
|
-
liquidationPrice: pos.liquidationPx
|
|
47
|
+
liquidationPrice: pos.liquidationPx || '0',
|
|
48
48
|
unrealizedPnl: pos.unrealizedPnl,
|
|
49
49
|
...(accruedFunding === undefined ? {} : { accruedFunding }),
|
|
50
50
|
...(leverage === undefined ? {} : { leverage }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":";;;AAAA,+CAYwB;AAExB,mDAA4D;AAC5D,kDAA8C;AAG9C,MAAM,2BAA2B,GAAG,IAAA,0BAAc,GAAE,CAAA;AAEpD,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"mapPosition.js","sourceRoot":"","sources":["../../../src/utils/mapPosition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Asset, Balance, DecimalString, Market } from '@lifi/perps-types';
|
|
2
2
|
import type { HlSpotBalance } from '../types/index.js';
|
|
3
3
|
export declare const spotPriceById: (markets: readonly Market[], priceByMarketId: ReadonlyMap<string, DecimalString>) => Map<string, DecimalString>;
|
|
4
|
-
export declare const spotAssetFromToken: (b: HlSpotBalance) => Asset;
|
|
4
|
+
export declare const spotAssetFromToken: (b: HlSpotBalance, registered?: Asset) => Asset;
|
|
5
5
|
export declare const spotBalance: (asset: Asset, total: DecimalString, priceById: ReadonlyMap<string, DecimalString>) => Balance;
|
|
6
6
|
//# sourceMappingURL=spotBalance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAUtD,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,KAClD,GAAG,CAAC,MAAM,EAAE,aAAa,CAc3B,CAAA;
|
|
1
|
+
{"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAUtD,eAAO,MAAM,aAAa,GACxB,SAAS,SAAS,MAAM,EAAE,EAC1B,iBAAiB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,KAClD,GAAG,CAAC,MAAM,EAAE,aAAa,CAc3B,CAAA;AASD,eAAO,MAAM,kBAAkB,GAC7B,GAAG,aAAa,EAChB,aAAa,KAAK,KACjB,KAOD,CAAA;AAGF,eAAO,MAAM,WAAW,GACtB,OAAO,KAAK,EACZ,OAAO,aAAa,EACpB,WAAW,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,KAC5C,OAUF,CAAA"}
|
|
@@ -21,10 +21,13 @@ const spotPriceById = (markets, priceByMarketId) => {
|
|
|
21
21
|
return map;
|
|
22
22
|
};
|
|
23
23
|
exports.spotPriceById = spotPriceById;
|
|
24
|
-
const spotAssetFromToken = (b) => ({
|
|
24
|
+
const spotAssetFromToken = (b, registered) => ({
|
|
25
25
|
...(0, marketDisplay_js_1.coinAsset)(b.coin),
|
|
26
26
|
id: String(b.token),
|
|
27
27
|
logoURI: (0, assetLogo_js_1.spotLogoURI)(b.coin),
|
|
28
|
+
...(registered?.decimals === undefined
|
|
29
|
+
? {}
|
|
30
|
+
: { decimals: registered.decimals }),
|
|
28
31
|
});
|
|
29
32
|
exports.spotAssetFromToken = spotAssetFromToken;
|
|
30
33
|
const spotBalance = (asset, total, priceById) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotBalance.js","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":";;;AAAA,+CAIwB;AAExB,kDAAgD;AAEhD,iDAA4C;AAC5C,yDAA8C;AAQvC,MAAM,aAAa,GAAG,CAC3B,OAA0B,EAC1B,eAAmD,EACvB,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,6BAAc,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAjBY,QAAA,aAAa,iBAiBzB;
|
|
1
|
+
{"version":3,"file":"spotBalance.js","sourceRoot":"","sources":["../../../src/utils/spotBalance.ts"],"names":[],"mappings":";;;AAAA,+CAIwB;AAExB,kDAAgD;AAEhD,iDAA4C;AAC5C,yDAA8C;AAQvC,MAAM,aAAa,GAAG,CAC3B,OAA0B,EAC1B,eAAmD,EACvB,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,UAAU,KAAK,6BAAc,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAjBY,QAAA,aAAa,iBAiBzB;AASM,MAAM,kBAAkB,GAAG,CAChC,CAAgB,EAChB,UAAkB,EACX,EAAE,CAAC,CAAC;IACX,GAAG,IAAA,4BAAS,EAAC,CAAC,CAAC,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC,IAAI,CAAC;IAC5B,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC;CACvC,CAAC,CAAA;AAVW,QAAA,kBAAkB,sBAU7B;AAGK,MAAM,WAAW,GAAG,CACzB,KAAY,EACZ,KAAoB,EACpB,SAA6C,EACpC,EAAE;IACX,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,CAAA;IAC5C,OAAO;QACL,UAAU,EAAE,6BAAc;QAC1B,KAAK;QACL,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAA,iCAAqB,EAAC,KAAK,EAAE,KAAK,CAAC;QAE7C,GAAG,CAAC,IAAA,sCAA0B,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7D,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,WAAW,eAcvB"}
|
|
@@ -7,7 +7,7 @@ const NOTIONAL_FLOOR_RATIO = '0.1';
|
|
|
7
7
|
const AMOUNT_DECIMALS = 6;
|
|
8
8
|
function requirePositionAmount(value, field) {
|
|
9
9
|
if (!(0, perps_sdk_1.isDecimalString)(value)) {
|
|
10
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid \`Position.${field}\`: '${value}'
|
|
10
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ValidationError, `Invalid \`Position.${field}\`: '${value}' does not match the decimal pattern.`);
|
|
11
11
|
}
|
|
12
12
|
return value;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMargin.js","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":";;AAgEA,0DA8BC;AA9FD,+CASwB;AACxB,mDAI0B;AAE1B,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,SAAS,qBAAqB,CAC5B,KAAoB,EACpB,KAAa;IAEb,IAAI,CAAC,IAAA,2BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,sBAAsB,KAAK,QAAQ,KAAK,
|
|
1
|
+
{"version":3,"file":"transferMargin.js","sourceRoot":"","sources":["../../../src/utils/transferMargin.ts"],"names":[],"mappings":";;AAgEA,0DA8BC;AA9FD,+CASwB;AACxB,mDAI0B;AAE1B,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,SAAS,qBAAqB,CAC5B,KAAoB,EACpB,KAAa;IAEb,IAAI,CAAC,IAAA,2BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,sBAAsB,KAAK,QAAQ,KAAK,uCAAuC,CAChF,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAgC,EAChC,KAAa;IAEb,IACE,KAAK,KAAK,SAAS;QACnB,CAAC,IAAA,sCAA0B,EAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,EACrE,CAAC;QACD,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,eAAe,EAC9B,YAAY,KAAK,6BAA6B,CAC/C,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAkBD,SAAgB,uBAAuB,CACrC,QAAkB;IAElB,IAAI,CAAC,IAAA,4CAAgC,EAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,IAAA,yCAA6B,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IAC3E,MAAM,aAAa,GAAG,6BAA6B,CACjD,QAAQ,CAAC,wBAAwB,EACjC,0BAA0B,CAC3B,CAAA;IACD,MAAM,aAAa,GAAG,IAAA,iCAAqB,EACzC,IAAA,iCAAqB,EACnB,6BAA6B,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EACpD,6BAA6B,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAC/D,EACD,oBAAoB,CACrB,CAAA;IACD,MAAM,aAAa,GAAG,IAAA,sCAA0B,EAAC,aAAa,EAAE,aAAa,CAAC;QAC5E,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,aAAa,CAAA;IAEjB,MAAM,SAAS,GAAG,IAAA,iCAAqB,EAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAClE,IAAI,CAAC,IAAA,sCAA0B,EAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,IAAA,8BAAkB,EAAC,SAAS,EAAE,eAAe,EAAE,UAAU,CAAC,CAAA;AACnE,CAAC"}
|
|
@@ -7,5 +7,4 @@ export declare const perpsTotals: (dexStates: readonly DexMarginSummary[]) => {
|
|
|
7
7
|
marginUsed: DecimalString;
|
|
8
8
|
};
|
|
9
9
|
export declare const sumUnrealizedPnl: (positions: readonly Position[]) => DecimalString;
|
|
10
|
-
export declare const safeSumDecimalStrings: (terms: readonly string[]) => DecimalString | undefined;
|
|
11
10
|
//# sourceMappingURL=venueTotals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venueTotals.d.ts","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"venueTotals.d.ts","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAQ1B,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,EAAE,wBAAwB,CAAA;CACzC;AASD,eAAO,MAAM,WAAW,GACtB,WAAW,SAAS,gBAAgB,EAAE,KACrC;IAAE,YAAY,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,aAAa,CAAA;CAyB1D,CAAA;AASD,eAAO,MAAM,gBAAgB,GAC3B,WAAW,SAAS,QAAQ,EAAE,KAC7B,aAaF,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.sumUnrealizedPnl = exports.perpsTotals = void 0;
|
|
4
4
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
5
|
const constants_js_1 = require("../constants.js");
|
|
6
6
|
const perpsTotals = (dexStates) => {
|
|
@@ -16,8 +16,17 @@ const perpsTotals = (dexStates) => {
|
|
|
16
16
|
return { accountValue, marginUsed };
|
|
17
17
|
};
|
|
18
18
|
exports.perpsTotals = perpsTotals;
|
|
19
|
-
const
|
|
19
|
+
const warnSkippedTermOnce = (0, perps_sdk_1.createWarnOnce)();
|
|
20
|
+
const sumUnrealizedPnl = (positions) => {
|
|
21
|
+
const terms = [];
|
|
22
|
+
for (const { unrealizedPnl } of positions) {
|
|
23
|
+
if ((0, perps_sdk_1.isDecimalString)(unrealizedPnl)) {
|
|
24
|
+
terms.push(unrealizedPnl);
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
warnSkippedTermOnce(`${constants_js_1.PROVIDER_KEY}|position.unrealizedPnl`, `[${constants_js_1.PROVIDER_KEY}] skipping a \`position.unrealizedPnl\` term that does not match the decimal pattern: '${String(unrealizedPnl).slice(0, 64)}'`);
|
|
28
|
+
}
|
|
29
|
+
return (0, perps_sdk_1.addDecimalStrings)(terms);
|
|
30
|
+
};
|
|
20
31
|
exports.sumUnrealizedPnl = sumUnrealizedPnl;
|
|
21
|
-
const safeSumDecimalStrings = (terms) => terms.reduce((sum, term) => sum === undefined ? undefined : (0, perps_sdk_1.safeAddDecimalString)(sum, term), '0');
|
|
22
|
-
exports.safeSumDecimalStrings = safeSumDecimalStrings;
|
|
23
32
|
//# sourceMappingURL=venueTotals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venueTotals.js","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"venueTotals.js","sourceRoot":"","sources":["../../../src/utils/venueTotals.ts"],"names":[],"mappings":";;;AAAA,+CAMwB;AAMxB,kDAA8C;AAkBvC,MAAM,WAAW,GAAG,CACzB,SAAsC,EACsB,EAAE;IAC9D,IAAI,YAAY,GAAG,GAAG,CAAA;IACtB,IAAI,UAAU,GAAG,GAAG,CAAA;IACpB,KAAK,MAAM,EAAE,aAAa,EAAE,IAAI,SAAS,EAAE,CAAC;QAC1C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,SAAQ;QACV,CAAC;QACD,YAAY,GAAG,IAAA,4BAAgB,EAC7B,YAAY,EACZ,IAAA,kCAAsB,EACpB,aAAa,CAAC,YAAY,EAC1B,4BAA4B,EAC5B,2BAAY,CACb,CACF,CAAA;QACD,UAAU,GAAG,IAAA,4BAAgB,EAC3B,UAAU,EACV,IAAA,kCAAsB,EACpB,aAAa,CAAC,eAAe,EAC7B,+BAA+B,EAC/B,2BAAY,CACb,CACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;AACrC,CAAC,CAAA;AA3BY,QAAA,WAAW,eA2BvB;AAED,MAAM,mBAAmB,GAAG,IAAA,0BAAc,GAAE,CAAA;AAOrC,MAAM,gBAAgB,GAAG,CAC9B,SAA8B,EACf,EAAE;IACjB,MAAM,KAAK,GAAoB,EAAE,CAAA;IACjC,KAAK,MAAM,EAAE,aAAa,EAAE,IAAI,SAAS,EAAE,CAAC;QAC1C,IAAI,IAAA,2BAAe,EAAC,aAAa,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACzB,SAAQ;QACV,CAAC;QACD,mBAAmB,CACjB,GAAG,2BAAY,yBAAyB,EACxC,IAAI,2BAAY,0FAA0F,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAChJ,CAAA;IACH,CAAC;IACD,OAAO,IAAA,6BAAiB,EAAC,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAfY,QAAA,gBAAgB,oBAe5B"}
|
|
@@ -8,6 +8,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
|
|
|
8
8
|
private readonly clearinghouseRefs;
|
|
9
9
|
private readonly client;
|
|
10
10
|
private readonly registry;
|
|
11
|
+
private readonly assetRegistry;
|
|
11
12
|
private readonly accountChecksByUser;
|
|
12
13
|
private readonly abstractionByUser;
|
|
13
14
|
private readonly summaryUsers;
|
|
@@ -67,6 +68,7 @@ export declare class HyperliquidWsProvider extends WsProviderBase<object> {
|
|
|
67
68
|
private handleCandle;
|
|
68
69
|
private handleTrades;
|
|
69
70
|
private handleOrderUpdates;
|
|
71
|
+
private readOrderDetail;
|
|
70
72
|
private handleUserFills;
|
|
71
73
|
private handleAllDexsClearinghouseState;
|
|
72
74
|
private static summaryComputableFor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const constants_js_1 = require("../constants.js");
|
|
|
8
8
|
const getAccountExists_js_1 = require("../services/getAccountExists.js");
|
|
9
9
|
const index_js_1 = require("../types/index.js");
|
|
10
10
|
const index_js_2 = require("../utils/index.js");
|
|
11
|
+
const mapOrder_js_1 = require("../utils/mapOrder.js");
|
|
11
12
|
const HL_L2_BOOK_MAX_LEVELS_PER_SIDE = 20;
|
|
12
13
|
const normalizeHlAddress = (address) => (0, viem_1.isAddress)(address, { strict: false }) ? address.toLowerCase() : address;
|
|
13
14
|
const availableAfterMaintenance = (spotState, quoteAssetId) => spotState.tokenToAvailableAfterMaintenance?.find(([token]) => String(token) === quoteAssetId)?.[1];
|
|
@@ -20,6 +21,7 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
20
21
|
clearinghouseRefs = new Map();
|
|
21
22
|
client;
|
|
22
23
|
registry;
|
|
24
|
+
assetRegistry;
|
|
23
25
|
accountChecksByUser = new Map();
|
|
24
26
|
abstractionByUser = new Map();
|
|
25
27
|
summaryUsers = new Set();
|
|
@@ -51,6 +53,7 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
51
53
|
super(new perps_sdk_1.ReconnectingWebSocket(wsUrl, { pingPayload: '{"method":"ping"}' }), providerKey);
|
|
52
54
|
this.client = client;
|
|
53
55
|
this.registry = client && (0, perps_sdk_1.getMarketRegistry)(client, providerKey);
|
|
56
|
+
this.assetRegistry = client && (0, perps_sdk_1.getAssetRegistry)(client, providerKey);
|
|
54
57
|
const orderApiUrl = new URL(wsUrl);
|
|
55
58
|
orderApiUrl.protocol = orderApiUrl.protocol === 'wss:' ? 'https:' : 'http:';
|
|
56
59
|
this.orderApiUrl = orderApiUrl.origin;
|
|
@@ -663,10 +666,10 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
663
666
|
provider: this.providerKey,
|
|
664
667
|
marketId: data.coin,
|
|
665
668
|
bids: data.levels[0]
|
|
666
|
-
.flatMap((l) => toOrderbookLevel(l.px, l.sz))
|
|
669
|
+
.flatMap((l) => toOrderbookLevel(data.coin, l.px, l.sz))
|
|
667
670
|
.slice(0, HL_L2_BOOK_MAX_LEVELS_PER_SIDE),
|
|
668
671
|
asks: data.levels[1]
|
|
669
|
-
.flatMap((l) => toOrderbookLevel(l.px, l.sz))
|
|
672
|
+
.flatMap((l) => toOrderbookLevel(data.coin, l.px, l.sz))
|
|
670
673
|
.slice(0, HL_L2_BOOK_MAX_LEVELS_PER_SIDE),
|
|
671
674
|
timestamp: data.time,
|
|
672
675
|
};
|
|
@@ -699,8 +702,8 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
699
702
|
const book = {
|
|
700
703
|
provider: this.providerKey,
|
|
701
704
|
marketId: delta.c,
|
|
702
|
-
bids: applyCompressedL2Side(previous.bids, delta.l[0], delta.r?.[0] ?? [], 'bid'),
|
|
703
|
-
asks: applyCompressedL2Side(previous.asks, delta.l[1], delta.r?.[1] ?? [], 'ask'),
|
|
705
|
+
bids: applyCompressedL2Side(delta.c, previous.bids, delta.l[0], delta.r?.[0] ?? [], 'bid'),
|
|
706
|
+
asks: applyCompressedL2Side(delta.c, previous.asks, delta.l[1], delta.r?.[1] ?? [], 'ask'),
|
|
704
707
|
timestamp: delta.t,
|
|
705
708
|
};
|
|
706
709
|
this.latestOrderbookByMarketId.set(delta.c, book);
|
|
@@ -763,39 +766,25 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
763
766
|
if (epoch !== this.orderUpdatesEpoch || key !== this.orderUpdatesKey) {
|
|
764
767
|
return;
|
|
765
768
|
}
|
|
769
|
+
const user = key.slice('orderUpdates:'.length);
|
|
766
770
|
const mapped = await Promise.all(data.map(async (update) => {
|
|
767
771
|
const basic = update.order;
|
|
768
|
-
if ((0, index_js_2.assetIsOutcome)(basic.coin)
|
|
772
|
+
if ((0, index_js_2.assetIsOutcome)(basic.coin) ||
|
|
773
|
+
this.registry?.get(basic.coin) === undefined) {
|
|
769
774
|
return undefined;
|
|
770
775
|
}
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
776
|
+
let detail;
|
|
777
|
+
try {
|
|
778
|
+
detail = await this.readOrderDetail(user, client, update);
|
|
774
779
|
}
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Hyperliquid order metadata not found: ${basic.oid}`);
|
|
780
|
+
catch (error) {
|
|
781
|
+
if (!(error instanceof perps_sdk_1.PerpsError)) {
|
|
782
|
+
throw error;
|
|
783
|
+
}
|
|
784
|
+
perps_sdk_1.wsLog.droppedRow(this.providerKey, 'order', `${basic.oid}: ${error.message}`);
|
|
785
|
+
return undefined;
|
|
782
786
|
}
|
|
783
|
-
|
|
784
|
-
status: update.status,
|
|
785
|
-
statusTimestamp: update.statusTimestamp,
|
|
786
|
-
order: {
|
|
787
|
-
...response.order.order,
|
|
788
|
-
coin: basic.coin,
|
|
789
|
-
side: basic.side,
|
|
790
|
-
limitPx: basic.limitPx,
|
|
791
|
-
sz: basic.sz,
|
|
792
|
-
oid: basic.oid,
|
|
793
|
-
timestamp: basic.timestamp,
|
|
794
|
-
origSz: basic.origSz,
|
|
795
|
-
cloid: basic.cloid ?? response.order.order.cloid,
|
|
796
|
-
},
|
|
797
|
-
};
|
|
798
|
-
return (0, index_js_2.mapOrder)(detail, market);
|
|
787
|
+
return (0, mapOrder_js_1.mapOrderRow)(basic.coin, this.registry, (resolved) => (0, index_js_2.mapOrder)(detail, resolved));
|
|
799
788
|
}));
|
|
800
789
|
if (epoch !== this.orderUpdatesEpoch || key !== this.orderUpdatesKey) {
|
|
801
790
|
return;
|
|
@@ -814,6 +803,28 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
814
803
|
this.emit(key, { channel: 'orderUpdates', data: { orders, terminated } });
|
|
815
804
|
});
|
|
816
805
|
}
|
|
806
|
+
async readOrderDetail(user, client, update) {
|
|
807
|
+
const basic = update.order;
|
|
808
|
+
const response = await (0, index_js_2.infoRequest)(this.orderApiUrl, { type: 'orderStatus', user, oid: basic.oid }, (0, index_js_2.hlInfoOptions)(client));
|
|
809
|
+
if (response.status !== 'order') {
|
|
810
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.OrderNotFound, `Hyperliquid order metadata not found: ${basic.oid}`);
|
|
811
|
+
}
|
|
812
|
+
return {
|
|
813
|
+
status: update.status,
|
|
814
|
+
statusTimestamp: update.statusTimestamp,
|
|
815
|
+
order: {
|
|
816
|
+
...response.order.order,
|
|
817
|
+
coin: basic.coin,
|
|
818
|
+
side: basic.side,
|
|
819
|
+
limitPx: basic.limitPx,
|
|
820
|
+
sz: basic.sz,
|
|
821
|
+
oid: basic.oid,
|
|
822
|
+
timestamp: basic.timestamp,
|
|
823
|
+
origSz: basic.origSz,
|
|
824
|
+
cloid: basic.cloid ?? response.order.order.cloid,
|
|
825
|
+
},
|
|
826
|
+
};
|
|
827
|
+
}
|
|
817
828
|
handleUserFills(data) {
|
|
818
829
|
const items = data.isSnapshot
|
|
819
830
|
? []
|
|
@@ -888,6 +899,7 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
888
899
|
}
|
|
889
900
|
};
|
|
890
901
|
try {
|
|
902
|
+
await this.assetRegistry?.sync();
|
|
891
903
|
if (count === 0) {
|
|
892
904
|
await this.registerSub(wireKey, payload);
|
|
893
905
|
}
|
|
@@ -1059,11 +1071,8 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
1059
1071
|
const priceById = (0, index_js_2.spotPriceById)(markets, this.mergedMids());
|
|
1060
1072
|
const balances = data.spotState.balances
|
|
1061
1073
|
.filter((balance) => !(0, index_js_2.assetIsOutcome)(balance.coin))
|
|
1062
|
-
.
|
|
1063
|
-
balance,
|
|
1064
|
-
total: (0, perps_sdk_1.unknownToDecimalString)(balance.total, 'spotState.balances.total', this.providerKey),
|
|
1065
|
-
}))
|
|
1066
|
-
.filter(({ total }) => (0, perps_sdk_1.isDecimalStringGreaterThan)(total, '0'));
|
|
1074
|
+
.filter((balance) => (0, perps_sdk_1.safeIsDecimalStringGreaterThan)(balance.total, '0') === true)
|
|
1075
|
+
.map((balance) => ({ balance, total: balance.total }));
|
|
1067
1076
|
const pipeline = this.unifiedSummaryByUser.get(user);
|
|
1068
1077
|
if (balances.some(({ balance }) => {
|
|
1069
1078
|
const price = priceById.get(String(balance.token));
|
|
@@ -1074,11 +1083,14 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
1074
1083
|
}
|
|
1075
1084
|
return;
|
|
1076
1085
|
}
|
|
1077
|
-
const rows = balances.map(({ balance, total }) =>
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1086
|
+
const rows = balances.map(({ balance, total }) => {
|
|
1087
|
+
const free = (0, perps_sdk_1.safeSubtractDecimalString)(total, balance.hold);
|
|
1088
|
+
return {
|
|
1089
|
+
...(0, index_js_2.spotBalance)((0, index_js_2.spotAssetFromToken)(balance, this.assetRegistry?.get(String(balance.token))), total, priceById),
|
|
1090
|
+
locked: balance.hold,
|
|
1091
|
+
transferable: free === undefined ? '0' : (0, perps_sdk_1.calculateTransferable)(free, total),
|
|
1092
|
+
};
|
|
1093
|
+
});
|
|
1082
1094
|
this.emit(`spotState:${user}`, {
|
|
1083
1095
|
channel: 'spotBalances',
|
|
1084
1096
|
data: rows,
|
|
@@ -1206,23 +1218,23 @@ function mapSpotMarketContext(marketId, ctx, fast) {
|
|
|
1206
1218
|
};
|
|
1207
1219
|
}
|
|
1208
1220
|
const BOOK_LEVEL_ROW = 'order book level';
|
|
1209
|
-
function bookLevelPrice(price) {
|
|
1221
|
+
function bookLevelPrice(marketId, price) {
|
|
1210
1222
|
if (!(0, perps_sdk_1.isDecimalString)(price)) {
|
|
1211
|
-
perps_sdk_1.wsLog.skippedRow(constants_js_1.PROVIDER_KEY, BOOK_LEVEL_ROW, 'price', price);
|
|
1223
|
+
perps_sdk_1.wsLog.skippedRow(constants_js_1.PROVIDER_KEY, BOOK_LEVEL_ROW, 'price', price, marketId);
|
|
1212
1224
|
return undefined;
|
|
1213
1225
|
}
|
|
1214
1226
|
return price;
|
|
1215
1227
|
}
|
|
1216
|
-
function bookLevelSize(size) {
|
|
1228
|
+
function bookLevelSize(marketId, size) {
|
|
1217
1229
|
if (!(0, perps_sdk_1.isDecimalString)(size)) {
|
|
1218
|
-
perps_sdk_1.wsLog.skippedRow(constants_js_1.PROVIDER_KEY, BOOK_LEVEL_ROW, 'size', size);
|
|
1230
|
+
perps_sdk_1.wsLog.skippedRow(constants_js_1.PROVIDER_KEY, BOOK_LEVEL_ROW, 'size', size, marketId);
|
|
1219
1231
|
return undefined;
|
|
1220
1232
|
}
|
|
1221
1233
|
return size;
|
|
1222
1234
|
}
|
|
1223
|
-
function toOrderbookLevel(price, size) {
|
|
1224
|
-
const levelPrice = bookLevelPrice(price);
|
|
1225
|
-
const levelSize = levelPrice === undefined ? undefined : bookLevelSize(size);
|
|
1235
|
+
function toOrderbookLevel(marketId, price, size) {
|
|
1236
|
+
const levelPrice = bookLevelPrice(marketId, price);
|
|
1237
|
+
const levelSize = levelPrice === undefined ? undefined : bookLevelSize(marketId, size);
|
|
1226
1238
|
return levelPrice === undefined || levelSize === undefined
|
|
1227
1239
|
? []
|
|
1228
1240
|
: [{ price: levelPrice, size: levelSize }];
|
|
@@ -1233,7 +1245,7 @@ function compactRemovalPrice(levels, value) {
|
|
|
1233
1245
|
}
|
|
1234
1246
|
return typeof value === 'string' ? value : value.p;
|
|
1235
1247
|
}
|
|
1236
|
-
function applyCompressedL2Side(previous, updates, removals, side) {
|
|
1248
|
+
function applyCompressedL2Side(marketId, previous, updates, removals, side) {
|
|
1237
1249
|
const byPrice = new Map(previous.map((level) => [level.price, level.size]));
|
|
1238
1250
|
for (const removal of removals) {
|
|
1239
1251
|
const price = compactRemovalPrice(previous, removal);
|
|
@@ -1242,11 +1254,11 @@ function applyCompressedL2Side(previous, updates, removals, side) {
|
|
|
1242
1254
|
}
|
|
1243
1255
|
}
|
|
1244
1256
|
for (const update of updates) {
|
|
1245
|
-
const price = bookLevelPrice(update.p);
|
|
1257
|
+
const price = bookLevelPrice(marketId, update.p);
|
|
1246
1258
|
if (price === undefined) {
|
|
1247
1259
|
continue;
|
|
1248
1260
|
}
|
|
1249
|
-
const size = bookLevelSize(update.s);
|
|
1261
|
+
const size = bookLevelSize(marketId, update.s);
|
|
1250
1262
|
if (size === undefined || (0, perps_sdk_1.safeIsDecimalStringZero)(size) !== false) {
|
|
1251
1263
|
byPrice.delete(price);
|
|
1252
1264
|
}
|