@lifi/perps-sdk-provider-hyperliquid 12.0.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/HyperliquidProvider.d.ts.map +1 -1
- package/dist/cjs/HyperliquidProvider.js +2 -0
- package/dist/cjs/HyperliquidProvider.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/getAccount.d.ts.map +1 -1
- package/dist/cjs/services/getAccount.js +9 -6
- package/dist/cjs/services/getAccount.js.map +1 -1
- package/dist/cjs/services/getPortfolioHistory.d.ts +10 -0
- package/dist/cjs/services/getPortfolioHistory.d.ts.map +1 -0
- package/dist/cjs/services/getPortfolioHistory.js +59 -0
- package/dist/cjs/services/getPortfolioHistory.js.map +1 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/portfolio.d.ts +9 -0
- package/dist/cjs/types/portfolio.d.ts.map +1 -0
- package/dist/cjs/types/portfolio.js +3 -0
- package/dist/cjs/types/portfolio.js.map +1 -0
- package/dist/cjs/utils/abstractionMode.d.ts +3 -0
- package/dist/cjs/utils/abstractionMode.d.ts.map +1 -0
- package/dist/cjs/utils/abstractionMode.js +8 -0
- package/dist/cjs/utils/abstractionMode.js.map +1 -0
- package/dist/cjs/utils/decimal.d.ts +3 -0
- package/dist/cjs/utils/decimal.d.ts.map +1 -0
- package/dist/cjs/utils/decimal.js +19 -0
- package/dist/cjs/utils/decimal.js.map +1 -0
- package/dist/cjs/utils/mapMarketContext.d.ts +2 -2
- package/dist/cjs/utils/mapMarketContext.d.ts.map +1 -1
- package/dist/cjs/utils/mapMarketContext.js +21 -4
- package/dist/cjs/utils/mapMarketContext.js.map +1 -1
- package/dist/cjs/utils/spotCollateral.d.ts.map +1 -1
- package/dist/cjs/utils/spotCollateral.js +4 -0
- package/dist/cjs/utils/spotCollateral.js.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/cjs/websocket/HyperliquidWsProvider.js +8 -10
- package/dist/cjs/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/esm/HyperliquidProvider.d.ts.map +1 -1
- package/dist/esm/HyperliquidProvider.js +2 -0
- package/dist/esm/HyperliquidProvider.js.map +1 -1
- package/dist/esm/index.d.ts +2 -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/services/getAccount.d.ts.map +1 -1
- package/dist/esm/services/getAccount.js +9 -6
- package/dist/esm/services/getAccount.js.map +1 -1
- package/dist/esm/services/getPortfolioHistory.d.ts +18 -0
- package/dist/esm/services/getPortfolioHistory.d.ts.map +1 -0
- package/dist/esm/services/getPortfolioHistory.js +71 -0
- package/dist/esm/services/getPortfolioHistory.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/portfolio.d.ts +17 -0
- package/dist/esm/types/portfolio.d.ts.map +1 -0
- package/dist/esm/types/portfolio.js +3 -0
- package/dist/esm/types/portfolio.js.map +1 -0
- package/dist/esm/utils/abstractionMode.d.ts +8 -0
- package/dist/esm/utils/abstractionMode.d.ts.map +1 -0
- package/dist/esm/utils/abstractionMode.js +9 -0
- package/dist/esm/utils/abstractionMode.js.map +1 -0
- package/dist/esm/utils/decimal.d.ts +10 -0
- package/dist/esm/utils/decimal.d.ts.map +1 -0
- package/dist/esm/utils/decimal.js +19 -0
- package/dist/esm/utils/decimal.js.map +1 -0
- package/dist/esm/utils/mapMarketContext.d.ts +7 -4
- package/dist/esm/utils/mapMarketContext.d.ts.map +1 -1
- package/dist/esm/utils/mapMarketContext.js +27 -6
- package/dist/esm/utils/mapMarketContext.js.map +1 -1
- package/dist/esm/utils/spotCollateral.d.ts.map +1 -1
- package/dist/esm/utils/spotCollateral.js +4 -0
- package/dist/esm/utils/spotCollateral.js.map +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/dist/esm/websocket/HyperliquidWsProvider.js +9 -11
- package/dist/esm/websocket/HyperliquidWsProvider.js.map +1 -1
- package/dist/types/HyperliquidProvider.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/services/getAccount.d.ts.map +1 -1
- package/dist/types/services/getPortfolioHistory.d.ts +18 -0
- package/dist/types/services/getPortfolioHistory.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/portfolio.d.ts +17 -0
- package/dist/types/types/portfolio.d.ts.map +1 -0
- package/dist/types/utils/abstractionMode.d.ts +8 -0
- package/dist/types/utils/abstractionMode.d.ts.map +1 -0
- package/dist/types/utils/decimal.d.ts +10 -0
- package/dist/types/utils/decimal.d.ts.map +1 -0
- package/dist/types/utils/mapMarketContext.d.ts +7 -4
- package/dist/types/utils/mapMarketContext.d.ts.map +1 -1
- package/dist/types/utils/spotCollateral.d.ts.map +1 -1
- package/dist/types/websocket/HyperliquidWsProvider.d.ts +1 -1
- package/dist/types/websocket/HyperliquidWsProvider.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/HyperliquidProvider.ts +13 -0
- package/src/index.ts +2 -0
- package/src/services/getAccount.ts +11 -9
- package/src/services/getPortfolioHistory.ts +118 -0
- package/src/types/index.ts +1 -0
- package/src/types/portfolio.ts +29 -0
- package/src/utils/abstractionMode.ts +12 -0
- package/src/utils/decimal.ts +21 -0
- package/src/utils/mapMarketContext.ts +32 -7
- package/src/utils/spotCollateral.ts +4 -0
- package/src/websocket/HyperliquidWsProvider.ts +22 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.d.ts","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,mBAAmB,EAgBxB,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AA0BxB,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,MAAM,CAAA;AAoBxD,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,oCAAoC,CAAA;AAa3C,MAAM,WAAW,0BAA0B;IAOzC,MAAM,CAAC,EAAE,MAAM,CAAA;IAMf,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAWD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IAKnE,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEnD,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAK5C,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC1E;AAuBD,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,0BAA+B,GACvC,wBAAwB,CA+S1B"}
|
|
@@ -15,6 +15,7 @@ const getFills_js_1 = require("./services/getFills.js");
|
|
|
15
15
|
const getMarketSettings_js_1 = require("./services/getMarketSettings.js");
|
|
16
16
|
const getOrder_js_1 = require("./services/getOrder.js");
|
|
17
17
|
const getOrders_js_1 = require("./services/getOrders.js");
|
|
18
|
+
const getPortfolioHistory_js_1 = require("./services/getPortfolioHistory.js");
|
|
18
19
|
const getPositions_js_1 = require("./services/getPositions.js");
|
|
19
20
|
const getRunningTwaps_js_1 = require("./services/getRunningTwaps.js");
|
|
20
21
|
const HyperliquidAgentStore_js_1 = require("./signers/HyperliquidAgentStore.js");
|
|
@@ -131,6 +132,7 @@ function hyperliquidProvider(options = {}) {
|
|
|
131
132
|
endTime: params.endTime,
|
|
132
133
|
type: params.type,
|
|
133
134
|
}, opts),
|
|
135
|
+
getPortfolioHistory: (params, opts) => (0, getPortfolioHistory_js_1.getPortfolioHistory)(contextRef.require(), { address: params.address, range: params.range }, opts),
|
|
134
136
|
getQuote: (params, opts) => (0, perps_sdk_1.resolveQuote)(contextRef.require().client, constants_js_1.PROVIDER_KEY, params, constants_js_1.HYPERLIQUID_FEE_TIER_FALLBACK, opts),
|
|
135
137
|
getAccountSummary: (account, positions) => (0, accountSummary_js_1.getAccountSummary)(account, positions),
|
|
136
138
|
formatOrderPrice: (market, price) => (0, orderFormatting_js_1.formatOrderPrice)(price, market.szDecimals, market.categoryId === constants_js_1.SPOT_MARKET_ID ? 'spot' : undefined),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"HyperliquidProvider.js","sourceRoot":"","sources":["../../src/HyperliquidProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export type { GetOrderParams } from './services/getOrder.js';
|
|
|
14
14
|
export { getOrder } from './services/getOrder.js';
|
|
15
15
|
export type { GetOrdersParams } from './services/getOrders.js';
|
|
16
16
|
export { getOrders } from './services/getOrders.js';
|
|
17
|
+
export type { GetPortfolioHistoryParams } from './services/getPortfolioHistory.js';
|
|
18
|
+
export { getPortfolioHistory } from './services/getPortfolioHistory.js';
|
|
17
19
|
export type { GetPositionsParams } from './services/getPositions.js';
|
|
18
20
|
export { getPositions } from './services/getPositions.js';
|
|
19
21
|
export type { GetRunningTwapsParams } from './services/getRunningTwaps.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":"AAaA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,IAAI,wBAAwB,GACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,YAAY,IAAI,wBAAwB,GACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAA"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.hyperliquidWsProvider = exports.HyperliquidWsProvider = exports.HyperliquidAgentStore = exports.getRunningTwaps = exports.getPositions = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = exports.getAccountExists = exports.getAccount = exports.hyperliquidProvider = exports.HYPERLIQUID_PROVIDER_KEY = exports.HYPERLIQUID_FEE_TIER_FALLBACK = exports.DEFAULT_HYPERLIQUID_API_URL = exports.getAccountSummary = exports.projectHyperliquidConfigSettings = void 0;
|
|
17
|
+
exports.hyperliquidWsProvider = exports.HyperliquidWsProvider = exports.HyperliquidAgentStore = exports.getRunningTwaps = exports.getPositions = exports.getPortfolioHistory = exports.getOrders = exports.getOrder = exports.getFills = exports.getActivity = exports.getAccountExists = exports.getAccount = exports.hyperliquidProvider = exports.HYPERLIQUID_PROVIDER_KEY = exports.HYPERLIQUID_FEE_TIER_FALLBACK = exports.DEFAULT_HYPERLIQUID_API_URL = exports.getAccountSummary = exports.projectHyperliquidConfigSettings = void 0;
|
|
18
18
|
var accountConfig_js_1 = require("./accountConfig.js");
|
|
19
19
|
Object.defineProperty(exports, "projectHyperliquidConfigSettings", { enumerable: true, get: function () { return accountConfig_js_1.projectHyperliquidConfigSettings; } });
|
|
20
20
|
var accountSummary_js_1 = require("./accountSummary.js");
|
|
@@ -37,6 +37,8 @@ var getOrder_js_1 = require("./services/getOrder.js");
|
|
|
37
37
|
Object.defineProperty(exports, "getOrder", { enumerable: true, get: function () { return getOrder_js_1.getOrder; } });
|
|
38
38
|
var getOrders_js_1 = require("./services/getOrders.js");
|
|
39
39
|
Object.defineProperty(exports, "getOrders", { enumerable: true, get: function () { return getOrders_js_1.getOrders; } });
|
|
40
|
+
var getPortfolioHistory_js_1 = require("./services/getPortfolioHistory.js");
|
|
41
|
+
Object.defineProperty(exports, "getPortfolioHistory", { enumerable: true, get: function () { return getPortfolioHistory_js_1.getPortfolioHistory; } });
|
|
40
42
|
var getPositions_js_1 = require("./services/getPositions.js");
|
|
41
43
|
Object.defineProperty(exports, "getPositions", { enumerable: true, get: function () { return getPositions_js_1.getPositions; } });
|
|
42
44
|
var getRunningTwaps_js_1 = require("./services/getRunningTwaps.js");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,uDAAqE;AAA5D,oIAAA,gCAAgC,OAAA;AACzC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,+CAIuB;AAHrB,2HAAA,2BAA2B,OAAA;AAC3B,6HAAA,6BAA6B,OAAA;AAC7B,wHAAA,YAAY,OAA4B;AAE1C,mEAIiC;AAD/B,6HAAA,mBAAmB,OAAA;AAGrB,0DAAqD;AAA5C,2GAAA,UAAU,OAAA;AAEnB,sEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AAEzB,4DAAuD;AAA9C,6GAAA,WAAW,OAAA;AAEpB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,wDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAElB,8DAAyD;AAAhD,+GAAA,YAAY,OAAA;AAErB,oEAA+D;AAAtD,qHAAA,eAAe,OAAA;AAExB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,mDAAgC;AAChC,mDAAgC;AAChC,iFAG6C;AAF3C,iIAAA,qBAAqB,OAAA;AACrB,iIAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAaA,uDAAqE;AAA5D,oIAAA,gCAAgC,OAAA;AACzC,yDAAuD;AAA9C,sHAAA,iBAAiB,OAAA;AAC1B,+CAIuB;AAHrB,2HAAA,2BAA2B,OAAA;AAC3B,6HAAA,6BAA6B,OAAA;AAC7B,wHAAA,YAAY,OAA4B;AAE1C,mEAIiC;AAD/B,6HAAA,mBAAmB,OAAA;AAGrB,0DAAqD;AAA5C,2GAAA,UAAU,OAAA;AAEnB,sEAAiE;AAAxD,uHAAA,gBAAgB,OAAA;AAEzB,4DAAuD;AAA9C,6GAAA,WAAW,OAAA;AAEpB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,sDAAiD;AAAxC,uGAAA,QAAQ,OAAA;AAEjB,wDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAElB,4EAAuE;AAA9D,6HAAA,mBAAmB,OAAA;AAE5B,8DAAyD;AAAhD,+GAAA,YAAY,OAAA;AAErB,oEAA+D;AAAtD,qHAAA,eAAe,OAAA;AAExB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,mDAAgC;AAChC,mDAAgC;AAChC,iFAG6C;AAF3C,iIAAA,qBAAqB,OAAA;AACrB,iIAAA,qBAAqB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"getAccount.d.ts","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAyBvD,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,CAAA;AA4GvD,eAAO,MAAM,UAAU,GACrB,oBAAoB,kBAAkB,EACtC,QAAQ,gBAAgB,EACxB,UAAU,iBAAiB,KAC1B,OAAO,CAAC,eAAe,CAgHzB,CAAA"}
|
|
@@ -4,10 +4,12 @@ exports.getAccount = void 0;
|
|
|
4
4
|
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
5
|
const constants_js_1 = require("../constants.js");
|
|
6
6
|
const index_js_1 = require("../types/index.js");
|
|
7
|
+
const abstractionMode_js_1 = require("../utils/abstractionMode.js");
|
|
8
|
+
const decimal_js_1 = require("../utils/decimal.js");
|
|
7
9
|
const index_js_2 = require("../utils/index.js");
|
|
8
10
|
const infoClient_js_1 = require("../utils/infoClient.js");
|
|
9
11
|
const mapPosition_js_1 = require("../utils/mapPosition.js");
|
|
10
|
-
const getAccountValue = (state) =>
|
|
12
|
+
const getAccountValue = (state) => (0, decimal_js_1.toWireBig)(state.marginSummary.accountValue, 'marginSummary.accountValue');
|
|
11
13
|
const getTotalMarginUsed = (state) => Number.parseFloat(state.marginSummary.totalMarginUsed);
|
|
12
14
|
const getMarginUsed = (abstraction, positions, stateByDex) => {
|
|
13
15
|
if (abstraction === index_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
|
|
@@ -28,19 +30,20 @@ const getMarginUsed = (abstraction, positions, stateByDex) => {
|
|
|
28
30
|
}
|
|
29
31
|
return getTotalMarginUsed(mainState).toString();
|
|
30
32
|
};
|
|
31
|
-
const isUnifiedMode = (abstraction) => abstraction === index_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
|
|
32
|
-
abstraction === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN;
|
|
33
33
|
const buildBalances = (abstraction, spotState, stateByDex, quoteAssetIds, priceById, quoteAssetByCategory) => {
|
|
34
34
|
const { balances, collateralBalances } = (0, index_js_2.partitionSpotBalances)(spotState.balances.map((b) => (0, index_js_2.spotBalance)((0, index_js_2.spotAssetFromToken)(b), b.total, priceById)), quoteAssetIds, abstraction === index_js_1.HlAbstractionMode.PORTFOLIO_MARGIN);
|
|
35
|
-
if (!
|
|
35
|
+
if (!(0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)) {
|
|
36
36
|
for (const [dex, state] of stateByDex) {
|
|
37
37
|
const categoryId = dex || constants_js_1.PROVIDER_KEY;
|
|
38
38
|
const value = getAccountValue(state);
|
|
39
|
+
if (!value.gt(0)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
39
42
|
collateralBalances.push({
|
|
40
43
|
categoryId,
|
|
41
44
|
asset: quoteAssetByCategory.get(categoryId),
|
|
42
|
-
units: value.
|
|
43
|
-
valueUsd: value.
|
|
45
|
+
units: value.toFixed(),
|
|
46
|
+
valueUsd: value.toFixed(),
|
|
44
47
|
});
|
|
45
48
|
}
|
|
46
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":";;;AAAA,+CAOwB;
|
|
1
|
+
{"version":3,"file":"getAccount.js","sourceRoot":"","sources":["../../../src/services/getAccount.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SDKRequestOptions } from '@lifi/perps-sdk';
|
|
2
|
+
import { type PortfolioHistoryRange, type PortfolioHistoryResponse } from '@lifi/perps-types';
|
|
3
|
+
import type { Address } from 'viem';
|
|
4
|
+
import type { HyperliquidContext } from '../context.js';
|
|
5
|
+
export interface GetPortfolioHistoryParams {
|
|
6
|
+
address: Address;
|
|
7
|
+
range: PortfolioHistoryRange;
|
|
8
|
+
}
|
|
9
|
+
export declare function getPortfolioHistory(ctx: HyperliquidContext, params: GetPortfolioHistoryParams, options?: SDKRequestOptions): Promise<PortfolioHistoryResponse>;
|
|
10
|
+
//# sourceMappingURL=getPortfolioHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPortfolioHistory.d.ts","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC9B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAWvD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,qBAAqB,CAAA;CAC7B;AAwDD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,yBAAyB,EACjC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAmCnC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPortfolioHistory = getPortfolioHistory;
|
|
4
|
+
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
5
|
+
const perps_types_1 = require("@lifi/perps-types");
|
|
6
|
+
const abstractionMode_js_1 = require("../utils/abstractionMode.js");
|
|
7
|
+
const infoClient_js_1 = require("../utils/infoClient.js");
|
|
8
|
+
const COMBINED_PERIOD_BY_RANGE = {
|
|
9
|
+
'24h': 'day',
|
|
10
|
+
'7d': 'week',
|
|
11
|
+
'30d': 'month',
|
|
12
|
+
all: 'allTime',
|
|
13
|
+
};
|
|
14
|
+
const PERP_PERIOD_BY_RANGE = {
|
|
15
|
+
'24h': 'perpDay',
|
|
16
|
+
'7d': 'perpWeek',
|
|
17
|
+
'30d': 'perpMonth',
|
|
18
|
+
all: 'perpAllTime',
|
|
19
|
+
};
|
|
20
|
+
const joinWindow = (window, period) => {
|
|
21
|
+
const pnlByTimestamp = new Map(window.pnlHistory);
|
|
22
|
+
let matched = 0;
|
|
23
|
+
let cumulative = '0';
|
|
24
|
+
const points = window.accountValueHistory.map(([timestamp, accountValue]) => {
|
|
25
|
+
const sample = pnlByTimestamp.get(timestamp);
|
|
26
|
+
if (sample !== undefined) {
|
|
27
|
+
matched += 1;
|
|
28
|
+
cumulative = sample;
|
|
29
|
+
}
|
|
30
|
+
return { timestamp, accountValue, pnl: cumulative };
|
|
31
|
+
});
|
|
32
|
+
if (points.length > 0 && window.pnlHistory.length > 0 && matched === 0) {
|
|
33
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, `Hyperliquid portfolio window '${period}' samples PnL on no ` +
|
|
34
|
+
'account-value timestamp.');
|
|
35
|
+
}
|
|
36
|
+
return points;
|
|
37
|
+
};
|
|
38
|
+
async function getPortfolioHistory(ctx, params, options) {
|
|
39
|
+
const { client, apiUrl } = ctx;
|
|
40
|
+
const infoOpts = (0, infoClient_js_1.hlInfoOptions)(client, options);
|
|
41
|
+
const [portfolio, abstraction] = await Promise.all([
|
|
42
|
+
(0, infoClient_js_1.infoRequest)(apiUrl, { type: 'portfolio', user: params.address }, infoOpts),
|
|
43
|
+
(0, infoClient_js_1.infoRequest)(apiUrl, { type: 'userAbstraction', user: params.address }, infoOpts),
|
|
44
|
+
]);
|
|
45
|
+
const period = (0, abstractionMode_js_1.isUnifiedAbstraction)(abstraction)
|
|
46
|
+
? COMBINED_PERIOD_BY_RANGE[params.range]
|
|
47
|
+
: PERP_PERIOD_BY_RANGE[params.range];
|
|
48
|
+
const window = portfolio.find(([key]) => key === period)?.[1];
|
|
49
|
+
if (window === undefined) {
|
|
50
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.ThirdPartyError, `Hyperliquid portfolio response has no '${period}' window.`);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
range: params.range,
|
|
54
|
+
points: joinWindow(window, period),
|
|
55
|
+
volume: window.vlm,
|
|
56
|
+
totalPnl: window.pnlHistory.at(-1)?.[1],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=getPortfolioHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPortfolioHistory.js","sourceRoot":"","sources":["../../../src/services/getPortfolioHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -20,5 +20,6 @@ __exportStar(require("./asset.js"), exports);
|
|
|
20
20
|
__exportStar(require("./fill.js"), exports);
|
|
21
21
|
__exportStar(require("./ledger.js"), exports);
|
|
22
22
|
__exportStar(require("./order.js"), exports);
|
|
23
|
+
__exportStar(require("./portfolio.js"), exports);
|
|
23
24
|
__exportStar(require("./ws.js"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,4CAAyB;AACzB,8CAA2B;AAC3B,6CAA0B;AAC1B,0CAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,4CAAyB;AACzB,8CAA2B;AAC3B,6CAA0B;AAC1B,iDAA8B;AAC9B,0CAAuB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type HlPortfolioSample = [number, string];
|
|
2
|
+
export type HlPortfolioWindow = {
|
|
3
|
+
accountValueHistory: HlPortfolioSample[];
|
|
4
|
+
pnlHistory: HlPortfolioSample[];
|
|
5
|
+
vlm: string;
|
|
6
|
+
};
|
|
7
|
+
export type HlPortfolioPeriod = 'day' | 'week' | 'month' | 'allTime' | 'perpDay' | 'perpWeek' | 'perpMonth' | 'perpAllTime';
|
|
8
|
+
export type HlPortfolio = [HlPortfolioPeriod, HlPortfolioWindow][];
|
|
9
|
+
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/types/portfolio.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAOhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,mBAAmB,EAAE,iBAAiB,EAAE,CAAA;IACxC,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAGD,MAAM,MAAM,iBAAiB,GACzB,KAAK,GACL,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,aAAa,CAAA;AAGjB,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/types/portfolio.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractionMode.d.ts","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAOvD,eAAO,MAAM,oBAAoB,GAC/B,aAAa,iBAAiB,GAAG,IAAI,KACpC,OAEiD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isUnifiedAbstraction = void 0;
|
|
4
|
+
const account_js_1 = require("../types/account.js");
|
|
5
|
+
const isUnifiedAbstraction = (abstraction) => abstraction === account_js_1.HlAbstractionMode.UNIFIED_ACCOUNT ||
|
|
6
|
+
abstraction === account_js_1.HlAbstractionMode.PORTFOLIO_MARGIN;
|
|
7
|
+
exports.isUnifiedAbstraction = isUnifiedAbstraction;
|
|
8
|
+
//# sourceMappingURL=abstractionMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractionMode.js","sourceRoot":"","sources":["../../../src/utils/abstractionMode.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAOhD,MAAM,oBAAoB,GAAG,CAClC,WAAqC,EAC5B,EAAE,CACX,WAAW,KAAK,8BAAiB,CAAC,eAAe;IACjD,WAAW,KAAK,8BAAiB,CAAC,gBAAgB,CAAA;AAJvC,QAAA,oBAAoB,wBAImB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,MAAM,QAAQ,CAAA;AASxB,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,GASxD,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.toWireBig = void 0;
|
|
7
|
+
const perps_sdk_1 = require("@lifi/perps-sdk");
|
|
8
|
+
const perps_types_1 = require("@lifi/perps-types");
|
|
9
|
+
const big_js_1 = __importDefault(require("big.js"));
|
|
10
|
+
const toWireBig = (value, field) => {
|
|
11
|
+
try {
|
|
12
|
+
return new big_js_1.default(value);
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
throw new perps_sdk_1.PerpsError(perps_types_1.PerpsErrorCode.SDKError, `Hyperliquid field \`${field}\` is not a valid decimal: '${value}'`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.toWireBig = toWireBig;
|
|
19
|
+
//# sourceMappingURL=decimal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decimal.js","sourceRoot":"","sources":["../../../src/utils/decimal.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA4C;AAC5C,mDAAkD;AAClD,oDAAwB;AASjB,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa,EAAO,EAAE;IAC7D,IAAI,CAAC;QACH,OAAO,IAAI,gBAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,sBAAU,CAClB,4BAAc,CAAC,QAAQ,EACvB,uBAAuB,KAAK,+BAA+B,KAAK,GAAG,CACpE,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AATY,QAAA,SAAS,aASrB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { MarketContext } from '@lifi/perps-types';
|
|
2
|
-
import type { HlWsPerpAssetCtx } from '../types/index.js';
|
|
3
|
-
export declare const mapMarketContext: (marketId: string, ctx: HlWsPerpAssetCtx) => MarketContext;
|
|
2
|
+
import type { HlWsFastAssetCtx, HlWsPerpAssetCtx } from '../types/index.js';
|
|
3
|
+
export declare const mapMarketContext: (marketId: string, ctx: HlWsPerpAssetCtx, fast?: HlWsFastAssetCtx) => MarketContext;
|
|
4
4
|
//# sourceMappingURL=mapMarketContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapMarketContext.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"mapMarketContext.d.ts","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAgC3E,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,KAAK,gBAAgB,EACrB,OAAO,gBAAgB,KACtB,aAmBF,CAAA"}
|
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.mapMarketContext = void 0;
|
|
7
|
+
const big_js_1 = __importDefault(require("big.js"));
|
|
4
8
|
const NEXT_FUNDING_INTERVAL_MS = 60 * 60 * 1000;
|
|
5
|
-
const
|
|
9
|
+
const toOpenInterestNotional = (openInterest, markPrice) => {
|
|
10
|
+
try {
|
|
11
|
+
const mark = new big_js_1.default(markPrice);
|
|
12
|
+
if (mark.lte(0)) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return new big_js_1.default(openInterest).times(mark).toFixed();
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const mapMarketContext = (marketId, ctx, fast) => {
|
|
6
22
|
const now = Date.now();
|
|
7
23
|
const nextFundingTime = Math.ceil(now / NEXT_FUNDING_INTERVAL_MS) * NEXT_FUNDING_INTERVAL_MS;
|
|
24
|
+
const markPrice = fast?.markPx != null ? fast.markPx : ctx.markPx;
|
|
8
25
|
return {
|
|
9
26
|
marketId,
|
|
10
|
-
midPrice: ctx.midPx ?? ctx.markPx,
|
|
11
|
-
markPrice
|
|
27
|
+
midPrice: fast?.midPx != null ? fast.midPx : (ctx.midPx ?? ctx.markPx),
|
|
28
|
+
markPrice,
|
|
12
29
|
oraclePrice: ctx.oraclePx,
|
|
13
30
|
prevDayPrice: ctx.prevDayPx,
|
|
14
31
|
volume24h: ctx.dayNtlVlm,
|
|
15
|
-
openInterest: ctx.openInterest,
|
|
32
|
+
openInterest: toOpenInterestNotional(ctx.openInterest, markPrice),
|
|
16
33
|
funding: {
|
|
17
34
|
rate: ctx.funding,
|
|
18
35
|
nextFundingTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapMarketContext.js","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mapMarketContext.js","sourceRoot":"","sources":["../../../src/utils/mapMarketContext.ts"],"names":[],"mappings":";;;;;;AACA,oDAAwB;AAGxB,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAM/C,MAAM,sBAAsB,GAAG,CAC7B,YAAoB,EACpB,SAAiB,EACG,EAAE;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,gBAAG,CAAC,SAAS,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,gBAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAWM,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,GAAqB,EACrB,IAAuB,EACR,EAAE;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,wBAAwB,CAAC,GAAG,wBAAwB,CAAA;IACtE,MAAM,SAAS,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAA;IAEjE,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;QACtE,SAAS;QACT,WAAW,EAAE,GAAG,CAAC,QAAQ;QACzB,YAAY,EAAE,GAAG,CAAC,SAAS;QAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,YAAY,EAAE,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;QACjE,OAAO,EAAE;YACP,IAAI,EAAE,GAAG,CAAC,OAAO;YACjB,eAAe;SAChB;KACF,CAAA;AACH,CAAC,CAAA;AAvBY,QAAA,gBAAgB,oBAuB5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotCollateral.d.ts","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"spotCollateral.d.ts","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAqBhD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,OAAO,EAAE,CAAA;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAQD,eAAO,MAAM,qBAAqB,GAChC,cAAc,SAAS,OAAO,EAAE,EAChC,eAAe,WAAW,CAAC,MAAM,CAAC,EAClC,iBAAiB,OAAO,KACvB,aAqBF,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.partitionSpotBalances = void 0;
|
|
4
|
+
const decimal_js_1 = require("./decimal.js");
|
|
4
5
|
const PORTFOLIO_MARGIN_LTV = {
|
|
5
6
|
HYPE: 0.5,
|
|
6
7
|
UBTC: 0.5,
|
|
@@ -9,6 +10,9 @@ const partitionSpotBalances = (spotBalances, quoteAssetIds, portfolioMargin) =>
|
|
|
9
10
|
const collateralBalances = [];
|
|
10
11
|
const balances = [];
|
|
11
12
|
for (const balance of spotBalances) {
|
|
13
|
+
if (!(0, decimal_js_1.toWireBig)(balance.units, 'spotBalance.units').gt(0)) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
12
16
|
if (quoteAssetIds.has(balance.asset.id)) {
|
|
13
17
|
collateralBalances.push(balance);
|
|
14
18
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotCollateral.js","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"spotCollateral.js","sourceRoot":"","sources":["../../../src/utils/spotCollateral.ts"],"names":[],"mappings":";;;AACA,6CAAwC;AAUxC,MAAM,oBAAoB,GAAqC;IAC7D,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAA;AAkBM,MAAM,qBAAqB,GAAG,CACnC,YAAgC,EAChC,aAAkC,EAClC,eAAwB,EACT,EAAE;IACjB,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,SAAQ;QACV,CAAC;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAChC,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,eAAe;YACzB,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YACnD,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,CAAA;AACzC,CAAC,CAAA;AAzBY,QAAA,qBAAqB,yBAyBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAGzB,cAAc,EACd,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"HyperliquidWsProvider.d.ts","sourceRoot":"","sources":["../../../src/websocket/HyperliquidWsProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,12 @@ const big_js_1 = __importDefault(require("big.js"));
|
|
|
9
9
|
const viem_1 = require("viem");
|
|
10
10
|
const constants_js_1 = require("../constants.js");
|
|
11
11
|
const index_js_1 = require("../types/index.js");
|
|
12
|
+
const decimal_js_1 = require("../utils/decimal.js");
|
|
12
13
|
const index_js_2 = require("../utils/index.js");
|
|
13
14
|
const decodeChain_js_1 = require("./decodeChain.js");
|
|
14
15
|
const HL_L2_BOOK_MAX_LEVELS_PER_SIDE = 20;
|
|
15
16
|
const normalizeHlAddress = (address) => (0, viem_1.isAddress)(address, { strict: false }) ? address.toLowerCase() : address;
|
|
16
|
-
const hyperliquidWsProvider = () => ({ provider, wsUrl, client }) => new HyperliquidWsProvider(wsUrl, provider, client);
|
|
17
|
+
const hyperliquidWsProvider = () => Object.assign(({ provider, wsUrl, client }) => new HyperliquidWsProvider(wsUrl, provider, client), { streamsCandles: true });
|
|
17
18
|
exports.hyperliquidWsProvider = hyperliquidWsProvider;
|
|
18
19
|
class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
19
20
|
orderUpdatesKey;
|
|
@@ -478,12 +479,7 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
478
479
|
perpCtx = byMarketId[marketId] ?? perpCtx;
|
|
479
480
|
}
|
|
480
481
|
if (perpCtx !== undefined) {
|
|
481
|
-
|
|
482
|
-
return {
|
|
483
|
-
...base,
|
|
484
|
-
midPrice: fast?.midPx != null ? fast.midPx : base.midPrice,
|
|
485
|
-
markPrice: fast?.markPx != null ? fast.markPx : base.markPrice,
|
|
486
|
-
};
|
|
482
|
+
return (0, index_js_2.mapMarketContext)(marketId, perpCtx, fast);
|
|
487
483
|
}
|
|
488
484
|
const midPrice = fast?.midPx ?? fast?.markPx;
|
|
489
485
|
const markPrice = fast?.markPx ?? fast?.midPx;
|
|
@@ -830,9 +826,11 @@ class HyperliquidWsProvider extends perps_sdk_1.WsProviderBase {
|
|
|
830
826
|
const user = data.user.toLowerCase();
|
|
831
827
|
const markets = this.registry?.activeMarkets ?? [];
|
|
832
828
|
const priceById = (0, index_js_2.spotPriceById)(markets, this.mergedMids());
|
|
833
|
-
const rows = data.spotState.balances
|
|
834
|
-
balance
|
|
835
|
-
|
|
829
|
+
const rows = data.spotState.balances
|
|
830
|
+
.filter((balance) => (0, decimal_js_1.toWireBig)(balance.total, 'spotState.balances.total').gt(0))
|
|
831
|
+
.map((balance) => ({
|
|
832
|
+
balance: (0, index_js_2.spotBalance)((0, index_js_2.spotAssetFromToken)(balance), balance.total, priceById),
|
|
833
|
+
hold: balance.hold,
|
|
836
834
|
}));
|
|
837
835
|
this.emit(`spotState:${user}`, {
|
|
838
836
|
channel: 'spotBalances',
|