@nktkas/hyperliquid 0.25.6 → 0.25.7
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 +53 -8
- package/esm/src/api/info/webData2.d.ts +146 -23
- package/esm/src/api/info/webData2.d.ts.map +1 -1
- package/esm/src/api/info/webData2.js +3 -54
- package/esm/src/api/info/webData2.js.map +1 -1
- package/esm/src/api/info/~client.d.ts +2 -2
- package/esm/src/api/subscription/webData2.d.ts +4 -4
- package/esm/src/api/subscription/webData2.js +1 -1
- package/esm/src/api/subscription/webData2.js.map +1 -1
- package/esm/src/api/subscription/webData3.d.ts +541 -0
- package/esm/src/api/subscription/webData3.d.ts.map +1 -0
- package/esm/src/api/subscription/webData3.js +94 -0
- package/esm/src/api/subscription/webData3.js.map +1 -0
- package/esm/src/api/subscription/~client.d.ts +22 -0
- package/esm/src/api/subscription/~client.d.ts.map +1 -1
- package/esm/src/api/subscription/~client.js +23 -0
- package/esm/src/api/subscription/~client.js.map +1 -1
- package/esm/src/api/subscription/~mod.d.ts +1 -0
- package/esm/src/api/subscription/~mod.d.ts.map +1 -1
- package/esm/src/api/subscription/~mod.js +1 -0
- package/esm/src/api/subscription/~mod.js.map +1 -1
- package/esm/src/utils/_format.d.ts +29 -0
- package/esm/src/utils/_format.d.ts.map +1 -0
- package/esm/src/utils/_format.js +147 -0
- package/esm/src/utils/_format.js.map +1 -0
- package/esm/src/utils/_symbolConverter.d.ts +13 -0
- package/esm/src/utils/_symbolConverter.d.ts.map +1 -1
- package/esm/src/utils/_symbolConverter.js +17 -0
- package/esm/src/utils/_symbolConverter.js.map +1 -1
- package/esm/src/utils/mod.d.ts +1 -0
- package/esm/src/utils/mod.d.ts.map +1 -1
- package/esm/src/utils/mod.js +1 -0
- package/esm/src/utils/mod.js.map +1 -1
- package/package.json +1 -1
- package/script/src/api/info/webData2.d.ts +146 -23
- package/script/src/api/info/webData2.d.ts.map +1 -1
- package/script/src/api/info/webData2.js +2 -53
- package/script/src/api/info/webData2.js.map +1 -1
- package/script/src/api/info/~client.d.ts +2 -2
- package/script/src/api/subscription/webData2.d.ts +4 -4
- package/script/src/api/subscription/webData2.js +1 -1
- package/script/src/api/subscription/webData2.js.map +1 -1
- package/script/src/api/subscription/webData3.d.ts +541 -0
- package/script/src/api/subscription/webData3.d.ts.map +1 -0
- package/script/src/api/subscription/webData3.js +131 -0
- package/script/src/api/subscription/webData3.js.map +1 -0
- package/script/src/api/subscription/~client.d.ts +22 -0
- package/script/src/api/subscription/~client.d.ts.map +1 -1
- package/script/src/api/subscription/~client.js +23 -0
- package/script/src/api/subscription/~client.js.map +1 -1
- package/script/src/api/subscription/~mod.d.ts +1 -0
- package/script/src/api/subscription/~mod.d.ts.map +1 -1
- package/script/src/api/subscription/~mod.js +1 -0
- package/script/src/api/subscription/~mod.js.map +1 -1
- package/script/src/utils/_format.d.ts +29 -0
- package/script/src/utils/_format.d.ts.map +1 -0
- package/script/src/utils/_format.js +151 -0
- package/script/src/utils/_format.js.map +1 -0
- package/script/src/utils/_symbolConverter.d.ts +13 -0
- package/script/src/utils/_symbolConverter.d.ts.map +1 -1
- package/script/src/utils/_symbolConverter.js +17 -0
- package/script/src/utils/_symbolConverter.js.map +1 -1
- package/script/src/utils/mod.d.ts +1 -0
- package/script/src/utils/mod.d.ts.map +1 -1
- package/script/src/utils/mod.js +1 -0
- package/script/src/utils/mod.js.map +1 -1
- package/src/src/api/info/webData2.ts +3 -104
- package/src/src/api/subscription/webData2.ts +1 -1
- package/src/src/api/subscription/webData3.ts +179 -0
- package/src/src/api/subscription/~client.ts +25 -0
- package/src/src/api/subscription/~mod.ts +1 -0
- package/src/src/utils/_format.ts +172 -0
- package/src/src/utils/_symbolConverter.ts +18 -0
- package/src/src/utils/mod.ts +1 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.WebData3Event = exports.WebData3Request = void 0;
|
|
37
|
+
exports.webData3 = webData3;
|
|
38
|
+
const v = __importStar(require("valibot"));
|
|
39
|
+
const _base_js_1 = require("../_base.js");
|
|
40
|
+
const _common_schemas_js_1 = require("../_common_schemas.js");
|
|
41
|
+
const metaAndAssetCtxs_js_1 = require("../info/metaAndAssetCtxs.js");
|
|
42
|
+
const clearinghouseState_js_1 = require("../info/clearinghouseState.js");
|
|
43
|
+
// -------------------- Schemas --------------------
|
|
44
|
+
/** Subscription to comprehensive user and market data events. */
|
|
45
|
+
exports.WebData3Request = (() => {
|
|
46
|
+
return v.pipe(v.object({
|
|
47
|
+
/** Type of subscription. */
|
|
48
|
+
type: v.pipe(v.literal("webData3"), v.description("Type of subscription.")),
|
|
49
|
+
/** User address. */
|
|
50
|
+
user: v.pipe(_base_js_1.Address, v.description("User address.")),
|
|
51
|
+
}), v.description("Subscription to comprehensive user and market data events."));
|
|
52
|
+
})();
|
|
53
|
+
/** Event of comprehensive user and market data. */
|
|
54
|
+
exports.WebData3Event = (() => {
|
|
55
|
+
return v.pipe(v.object({
|
|
56
|
+
/** User state information. */
|
|
57
|
+
userState: v.pipe(v.object({
|
|
58
|
+
/** Agent address if one exists. */
|
|
59
|
+
agentAddress: v.pipe(v.nullable(_base_js_1.Address), v.description("Agent address if one exists.")),
|
|
60
|
+
/** Timestamp until which the agent is valid. */
|
|
61
|
+
agentValidUntil: v.pipe(v.nullable(_base_js_1.UnsignedInteger), v.description("Timestamp until which the agent is valid.")),
|
|
62
|
+
/** Cumulative ledger value. */
|
|
63
|
+
cumLedger: v.pipe(_base_js_1.UnsignedDecimal, v.description("Cumulative ledger value.")),
|
|
64
|
+
/** Server timestamp (in ms since epoch). */
|
|
65
|
+
serverTime: v.pipe(_base_js_1.UnsignedInteger, v.description("Server timestamp (in ms since epoch).")),
|
|
66
|
+
/** Whether this account is a vault. */
|
|
67
|
+
isVault: v.pipe(v.boolean(), v.description("Whether this account is a vault.")),
|
|
68
|
+
/** User address. */
|
|
69
|
+
user: v.pipe(_base_js_1.Address, v.description("User address.")),
|
|
70
|
+
/** Whether the user has opted out of spot dusting. */
|
|
71
|
+
optOutOfSpotDusting: v.pipe(v.optional(v.literal(true)), v.description("Whether the user has opted out of spot dusting.")),
|
|
72
|
+
/** Whether DEX abstraction is enabled. */
|
|
73
|
+
dexAbstractionEnabled: v.pipe(v.optional(v.boolean()), v.description("Whether DEX abstraction is enabled.")),
|
|
74
|
+
}), v.description("User state information.")),
|
|
75
|
+
/** Array of perpetual DEX states. */
|
|
76
|
+
perpDexStates: v.pipe(v.array(v.object({
|
|
77
|
+
/** Account summary for perpetual trading. */
|
|
78
|
+
clearinghouseState: clearinghouseState_js_1.ClearinghouseStateResponse,
|
|
79
|
+
/** Total equity in vaults. */
|
|
80
|
+
totalVaultEquity: v.pipe(_base_js_1.UnsignedDecimal, v.description("Total equity in vaults.")),
|
|
81
|
+
/** Array of user open orders with frontend information. */
|
|
82
|
+
openOrders: v.pipe(v.optional(v.array(_common_schemas_js_1.DetailedOrderSchema)), v.description("User open orders with frontend information.")),
|
|
83
|
+
/** Context for each perpetual asset. */
|
|
84
|
+
assetCtxs: metaAndAssetCtxs_js_1.MetaAndAssetCtxsResponse.items[1],
|
|
85
|
+
/** Assets currently at their open interest cap. */
|
|
86
|
+
perpsAtOpenInterestCap: v.pipe(v.optional(v.array(v.string())), v.description("Assets currently at their open interest cap.")),
|
|
87
|
+
/** Array of leading vaults. */
|
|
88
|
+
leadingVaults: v.pipe(v.optional(v.array(
|
|
89
|
+
/** Vault that a user is leading. */
|
|
90
|
+
v.pipe(v.object({
|
|
91
|
+
/** Address of the vault. */
|
|
92
|
+
address: v.pipe(_base_js_1.Address, v.description("Address of the vault.")),
|
|
93
|
+
/** Name of the vault. */
|
|
94
|
+
name: v.pipe(v.string(), v.description("Name of the vault.")),
|
|
95
|
+
}), v.description("Vault that a user is leading.")))), v.description("Array of leading vaults.")),
|
|
96
|
+
})), v.description("Array of perpetual DEX states.")),
|
|
97
|
+
}), v.description("Comprehensive user and market data."));
|
|
98
|
+
})();
|
|
99
|
+
/**
|
|
100
|
+
* Subscribe to comprehensive user and market data updates.
|
|
101
|
+
* @param config - General configuration for Subscription API subscriptions.
|
|
102
|
+
* @param params - Parameters specific to the API subscription.
|
|
103
|
+
* @param listener - A callback function to be called when the event is received.
|
|
104
|
+
* @returns A request-promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.
|
|
105
|
+
*
|
|
106
|
+
* @throws {TransportError} When the transport layer throws an error.
|
|
107
|
+
*
|
|
108
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { WebSocketTransport } from "@nktkas/hyperliquid";
|
|
112
|
+
* import { webData3 } from "@nktkas/hyperliquid/api/subscription";
|
|
113
|
+
*
|
|
114
|
+
* const transport = new WebSocketTransport();
|
|
115
|
+
*
|
|
116
|
+
* const sub = await webData3(
|
|
117
|
+
* { transport },
|
|
118
|
+
* { user: "0x..." },
|
|
119
|
+
* (data) => console.log(data),
|
|
120
|
+
* );
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
function webData3(config, params, listener) {
|
|
124
|
+
const payload = (0, _base_js_1.parser)(exports.WebData3Request)({ type: "webData3", ...params });
|
|
125
|
+
return config.transport.subscribe(payload.type, payload, (e) => {
|
|
126
|
+
if (e.detail.userState.user === payload.user) {
|
|
127
|
+
listener(e.detail);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=webData3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webData3.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/webData3.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ import { userNonFundingLedgerUpdates } from "./userNonFundingLedgerUpdates.js";
|
|
|
24
24
|
import { userTwapHistory } from "./userTwapHistory.js";
|
|
25
25
|
import { userTwapSliceFills } from "./userTwapSliceFills.js";
|
|
26
26
|
import { webData2 } from "./webData2.js";
|
|
27
|
+
import { webData3 } from "./webData3.js";
|
|
27
28
|
export type { ActiveAssetCtxEvent as WsActiveAssetCtxEvent, ActiveAssetCtxParameters as WsActiveAssetCtxParameters, } from "./activeAssetCtx.js";
|
|
28
29
|
export type { ActiveAssetDataEvent as WsActiveAssetDataEvent, ActiveAssetDataParameters as WsActiveAssetDataParameters, } from "./activeAssetData.js";
|
|
29
30
|
export type { ActiveSpotAssetCtxEvent as WsActiveSpotAssetCtxEvent, ActiveSpotAssetCtxParameters as WsActiveSpotAssetCtxParameters, } from "./activeSpotAssetCtx.js";
|
|
@@ -47,6 +48,7 @@ export type { UserNonFundingLedgerUpdatesEvent as WsUserNonFundingLedgerUpdatesE
|
|
|
47
48
|
export type { UserTwapHistoryEvent as WsUserTwapHistoryEvent, UserTwapHistoryParameters as WsUserTwapHistoryParameters, } from "./userTwapHistory.js";
|
|
48
49
|
export type { UserTwapSliceFillsEvent as WsUserTwapSliceFillsEvent, UserTwapSliceFillsParameters as WsUserTwapSliceFillsParameters, } from "./userTwapSliceFills.js";
|
|
49
50
|
export type { WebData2Event as WsWebData2Event, WebData2Parameters as WsWebData2Parameters } from "./webData2.js";
|
|
51
|
+
export type { WebData3Event as WsWebData3Event, WebData3Parameters as WsWebData3Parameters } from "./webData3.js";
|
|
50
52
|
export type { SubscriptionRequestConfig } from "./_types.js";
|
|
51
53
|
/**
|
|
52
54
|
* A client for interacting with the Hyperliquid Subscription API.
|
|
@@ -529,5 +531,25 @@ export declare class SubscriptionClient<T extends ISubscriptionTransport = ISubs
|
|
|
529
531
|
* ```
|
|
530
532
|
*/
|
|
531
533
|
webData2(...args: OmitFirst<OverloadedParameters<typeof webData2>>): Promise<import("../../transport/base.js").Subscription>;
|
|
534
|
+
/**
|
|
535
|
+
* Subscribe to comprehensive user and market data updates.
|
|
536
|
+
* @param params - Parameters specific to the API subscription.
|
|
537
|
+
* @param listener - A callback function to be called when the event is received.
|
|
538
|
+
* @returns A request-promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.
|
|
539
|
+
*
|
|
540
|
+
* @throws {TransportError} When the transport layer throws an error.
|
|
541
|
+
*
|
|
542
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
543
|
+
* @example
|
|
544
|
+
* ```ts
|
|
545
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
546
|
+
*
|
|
547
|
+
* const transport = new hl.WebSocketTransport();
|
|
548
|
+
*
|
|
549
|
+
* const client = new hl.SubscriptionClient({ transport });
|
|
550
|
+
* const sub = await client.webData3({ user: "0x..." }, (data) => console.log(data));
|
|
551
|
+
* ```
|
|
552
|
+
*/
|
|
553
|
+
webData3(...args: OmitFirst<OverloadedParameters<typeof webData3>>): Promise<import("../../transport/base.js").Subscription>;
|
|
532
554
|
}
|
|
533
555
|
//# sourceMappingURL=~client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"~client.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/~client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"~client.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/~client.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const userNonFundingLedgerUpdates_js_1 = require("./userNonFundingLedgerUpdates.
|
|
|
24
24
|
const userTwapHistory_js_1 = require("./userTwapHistory.js");
|
|
25
25
|
const userTwapSliceFills_js_1 = require("./userTwapSliceFills.js");
|
|
26
26
|
const webData2_js_1 = require("./webData2.js");
|
|
27
|
+
const webData3_js_1 = require("./webData3.js");
|
|
27
28
|
/**
|
|
28
29
|
* A client for interacting with the Hyperliquid Subscription API.
|
|
29
30
|
* @typeParam T - The transport (extends {@linkcode ISubscriptionTransport}) used to connect to the Hyperliquid API.
|
|
@@ -557,6 +558,28 @@ class SubscriptionClient {
|
|
|
557
558
|
webData2(...args) {
|
|
558
559
|
return (0, webData2_js_1.webData2)(this, ...args);
|
|
559
560
|
}
|
|
561
|
+
/**
|
|
562
|
+
* Subscribe to comprehensive user and market data updates.
|
|
563
|
+
* @param params - Parameters specific to the API subscription.
|
|
564
|
+
* @param listener - A callback function to be called when the event is received.
|
|
565
|
+
* @returns A request-promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.
|
|
566
|
+
*
|
|
567
|
+
* @throws {TransportError} When the transport layer throws an error.
|
|
568
|
+
*
|
|
569
|
+
* @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions
|
|
570
|
+
* @example
|
|
571
|
+
* ```ts
|
|
572
|
+
* import * as hl from "@nktkas/hyperliquid";
|
|
573
|
+
*
|
|
574
|
+
* const transport = new hl.WebSocketTransport();
|
|
575
|
+
*
|
|
576
|
+
* const client = new hl.SubscriptionClient({ transport });
|
|
577
|
+
* const sub = await client.webData3({ user: "0x..." }, (data) => console.log(data));
|
|
578
|
+
* ```
|
|
579
|
+
*/
|
|
580
|
+
webData3(...args) {
|
|
581
|
+
return (0, webData3_js_1.webData3)(this, ...args);
|
|
582
|
+
}
|
|
560
583
|
}
|
|
561
584
|
exports.SubscriptionClient = SubscriptionClient;
|
|
562
585
|
//# sourceMappingURL=~client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"~client.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/~client.ts"],"names":[],"mappings":";;;AAIA,2DAAqD;AACrD,6DAAuD;AACvD,mEAA6D;AAC7D,6CAAuC;AACvC,iDAA2C;AAC3C,qCAA+B;AAC/B,2CAAqC;AACrC,mEAA6D;AAC7D,yDAAmD;AACnD,qDAA+C;AAC/C,2CAAqC;AACrC,uDAAiD;AACjD,mDAA6C;AAC7C,uDAAiD;AACjD,2CAAqC;AACrC,mDAA6C;AAC7C,iDAA2C;AAC3C,uDAAiD;AACjD,uEAAiE;AACjE,qFAA+E;AAC/E,6DAAuD;AACvD,mEAA6D;AAC7D,+CAAyC;
|
|
1
|
+
{"version":3,"file":"~client.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/~client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"~mod.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/~mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"~mod.d.ts","sourceRoot":"","sources":["../../../../src/src/api/subscription/~mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -65,4 +65,5 @@ __exportStar(require("./userNonFundingLedgerUpdates.js"), exports);
|
|
|
65
65
|
__exportStar(require("./userTwapHistory.js"), exports);
|
|
66
66
|
__exportStar(require("./userTwapSliceFills.js"), exports);
|
|
67
67
|
__exportStar(require("./webData2.js"), exports);
|
|
68
|
+
__exportStar(require("./webData3.js"), exports);
|
|
68
69
|
//# sourceMappingURL=~mod.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"~mod.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/~mod.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;AAEH,wCAAkD;AAAzC,kGAAA,MAAM,OAAA;AAAE,uGAAA,WAAW,OAAA;AAG5B,sDAAoC;AACpC,uDAAqC;AACrC,0DAAwC;AACxC,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,8CAA4B;AAC5B,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AACjC,8CAA4B;AAC5B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC;AAChC,iDAA+B;AAC/B,oDAAkC;AAClC,4DAA0C;AAC1C,mEAAiD;AACjD,uDAAqC;AACrC,0DAAwC;AACxC,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"~mod.js","sourceRoot":"","sources":["../../../../src/src/api/subscription/~mod.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;;;;;;;;;;;;;;;AAEH,wCAAkD;AAAzC,kGAAA,MAAM,OAAA;AAAE,uGAAA,WAAW,OAAA;AAG5B,sDAAoC;AACpC,uDAAqC;AACrC,0DAAwC;AACxC,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AACzB,8CAA4B;AAC5B,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AACjC,8CAA4B;AAC5B,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC;AAChC,iDAA+B;AAC/B,oDAAkC;AAClC,4DAA0C;AAC1C,mEAAiD;AACjD,uDAAqC;AACrC,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format price according to Hyperliquid {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size | rules}:
|
|
3
|
+
* - Maximum 5 significant figures
|
|
4
|
+
* - Maximum (6 for perp, 8 for spot) - `szDecimals` decimal places
|
|
5
|
+
* - Integer prices are always allowed regardless of significant figures
|
|
6
|
+
* - Remove trailing zeros
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { formatPrice } from "@nktkas/hyperliquid/utils";
|
|
10
|
+
*
|
|
11
|
+
* // `true` for perp (default), `false` for spot
|
|
12
|
+
* // ⌄⌄⌄⌄⌄
|
|
13
|
+
* const price = formatPrice("0.0000123456789", 0, false); // → "0.00001234"
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatPrice(price: string | number, szDecimals: number, isPerp?: boolean): string;
|
|
17
|
+
/**
|
|
18
|
+
* Format size according to Hyperliquid {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size | rules}:
|
|
19
|
+
* - Truncate to `szDecimals` decimal places
|
|
20
|
+
* - Remove trailing zeros
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { formatSize } from "@nktkas/hyperliquid/utils";
|
|
24
|
+
*
|
|
25
|
+
* const size = formatSize("1.23456789", 5); // → "1.23456"
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatSize(size: string | number, szDecimals: number): string;
|
|
29
|
+
//# sourceMappingURL=_format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_format.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_format.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,OAAc,GACrB,MAAM,CAiBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQ5E"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatPrice = formatPrice;
|
|
4
|
+
exports.formatSize = formatSize;
|
|
5
|
+
const _base_js_1 = require("../_base.js");
|
|
6
|
+
/**
|
|
7
|
+
* Format price according to Hyperliquid {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size | rules}:
|
|
8
|
+
* - Maximum 5 significant figures
|
|
9
|
+
* - Maximum (6 for perp, 8 for spot) - `szDecimals` decimal places
|
|
10
|
+
* - Integer prices are always allowed regardless of significant figures
|
|
11
|
+
* - Remove trailing zeros
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { formatPrice } from "@nktkas/hyperliquid/utils";
|
|
15
|
+
*
|
|
16
|
+
* // `true` for perp (default), `false` for spot
|
|
17
|
+
* // ⌄⌄⌄⌄⌄
|
|
18
|
+
* const price = formatPrice("0.0000123456789", 0, false); // → "0.00001234"
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
function formatPrice(price, szDecimals, isPerp = true) {
|
|
22
|
+
// Prepare: trim, validate, normalize leading/trailing zeros
|
|
23
|
+
let priceStr = prepareNumber(typeof price === "string" ? price : price.toString());
|
|
24
|
+
// Integer prices bypass sig figs limit per spec
|
|
25
|
+
if (!priceStr.includes(".")) {
|
|
26
|
+
return priceStr;
|
|
27
|
+
}
|
|
28
|
+
// Apply decimal limit: max (6 for perp, 8 for spot) - `szDecimals` decimals
|
|
29
|
+
const maxDecimals = Math.max((isPerp ? 6 : 8) - szDecimals, 0);
|
|
30
|
+
priceStr = truncateDecimals(priceStr, maxDecimals);
|
|
31
|
+
// Apply sig figs limit: max 5 significant figures
|
|
32
|
+
priceStr = truncateSigFigs(priceStr, 5);
|
|
33
|
+
return priceStr;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Format size according to Hyperliquid {@link https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/tick-and-lot-size | rules}:
|
|
37
|
+
* - Truncate to `szDecimals` decimal places
|
|
38
|
+
* - Remove trailing zeros
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { formatSize } from "@nktkas/hyperliquid/utils";
|
|
42
|
+
*
|
|
43
|
+
* const size = formatSize("1.23456789", 5); // → "1.23456"
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
function formatSize(size, szDecimals) {
|
|
47
|
+
// Prepare: trim, validate, normalize leading/trailing zeros
|
|
48
|
+
let sizeStr = prepareNumber(typeof size === "string" ? size : size.toString());
|
|
49
|
+
// Truncate to `szDecimals` decimal places
|
|
50
|
+
sizeStr = truncateDecimals(sizeStr, szDecimals);
|
|
51
|
+
return sizeStr;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Prepare number string for processing:
|
|
55
|
+
* 1. Trim whitespace
|
|
56
|
+
* 2. Validate format (decimal number, not hex/scientific)
|
|
57
|
+
* 3. Normalize: remove leading zeros from integer part, trailing zeros from decimal part
|
|
58
|
+
*/
|
|
59
|
+
function prepareNumber(numStr) {
|
|
60
|
+
const trimmed = numStr.trim();
|
|
61
|
+
// Validate: only decimal numbers allowed (no hex, scientific notation, etc)
|
|
62
|
+
if (!/^-?(\d+\.?\d*|\.\d+)$/.test(trimmed)) {
|
|
63
|
+
throw new _base_js_1.HyperliquidError(`Invalid number format: ${numStr}`);
|
|
64
|
+
}
|
|
65
|
+
// Normalize: remove leading zeros from integer, trailing zeros from decimal
|
|
66
|
+
const [int, dec] = trimmed.split(".");
|
|
67
|
+
const trimmedInt = int.replace(/^0+/, "") || "0";
|
|
68
|
+
const trimmedDec = dec?.replace(/0+$/, "");
|
|
69
|
+
return trimmedInt + (trimmedDec ? "." + trimmedDec : "");
|
|
70
|
+
}
|
|
71
|
+
/** String-based Math operations for arbitrary precision */
|
|
72
|
+
const StringMath = {
|
|
73
|
+
/** Absolute value: remove negative sign if present */
|
|
74
|
+
abs(numStr) {
|
|
75
|
+
return numStr[0] === "-" ? numStr.slice(1) : numStr;
|
|
76
|
+
},
|
|
77
|
+
/** Floor log10 (magnitude): position of most significant digit */
|
|
78
|
+
log10Floor(numStr) {
|
|
79
|
+
const abs = this.abs(numStr);
|
|
80
|
+
const [int, dec] = abs.split(".");
|
|
81
|
+
// Number >= 1: magnitude = length of integer part - 1
|
|
82
|
+
if (int !== "0") {
|
|
83
|
+
const trimmed = int.replace(/^0+/, "");
|
|
84
|
+
return trimmed.length - 1;
|
|
85
|
+
}
|
|
86
|
+
// Number < 1: count leading zeros in decimal part
|
|
87
|
+
if (!dec)
|
|
88
|
+
return -Infinity;
|
|
89
|
+
const leadingZeros = dec.match(/^0*/)?.[0].length ?? 0;
|
|
90
|
+
return -(leadingZeros + 1);
|
|
91
|
+
},
|
|
92
|
+
/** Multiply by 10^exp: shift decimal point left (negative) or right (positive) */
|
|
93
|
+
multiplyByPow10(numStr, exp) {
|
|
94
|
+
if (exp === 0)
|
|
95
|
+
return numStr;
|
|
96
|
+
const neg = numStr[0] === "-";
|
|
97
|
+
const abs = neg ? numStr.slice(1) : numStr;
|
|
98
|
+
const [int, dec = ""] = abs.split(".");
|
|
99
|
+
if (exp > 0) {
|
|
100
|
+
// Shift right: move digits from decimal to integer
|
|
101
|
+
if (exp >= dec.length) {
|
|
102
|
+
return (neg ? "-" : "") + int + dec + "0".repeat(exp - dec.length);
|
|
103
|
+
}
|
|
104
|
+
return (neg ? "-" : "") + int + dec.slice(0, exp) + "." + dec.slice(exp);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
// Shift left: move digits from integer to decimal
|
|
108
|
+
const absExp = -exp;
|
|
109
|
+
if (absExp >= int.length) {
|
|
110
|
+
return (neg ? "-" : "") + "0." + "0".repeat(absExp - int.length) + int + dec;
|
|
111
|
+
}
|
|
112
|
+
return (neg ? "-" : "") + int.slice(0, -absExp) + "." + int.slice(-absExp) + dec;
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
/** Truncate: remove decimal part */
|
|
116
|
+
trunc(numStr) {
|
|
117
|
+
const dotIndex = numStr.indexOf(".");
|
|
118
|
+
return dotIndex === -1 ? numStr : numStr.slice(0, dotIndex);
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
/** Truncate to specified decimal places */
|
|
122
|
+
function truncateDecimals(numStr, maxDecimals) {
|
|
123
|
+
const dotIndex = numStr.indexOf(".");
|
|
124
|
+
if (dotIndex === -1)
|
|
125
|
+
return numStr;
|
|
126
|
+
const truncated = numStr.substring(0, dotIndex + maxDecimals + 1);
|
|
127
|
+
// Remove trailing zeros from decimal
|
|
128
|
+
const [int, dec] = truncated.split(".");
|
|
129
|
+
const trimmedDec = dec?.replace(/0+$/, "");
|
|
130
|
+
return trimmedDec ? int + "." + trimmedDec : int;
|
|
131
|
+
}
|
|
132
|
+
/** Truncate to specified significant figures using string-based math */
|
|
133
|
+
function truncateSigFigs(numStr, maxSigFigs) {
|
|
134
|
+
if (parseFloat(numStr) === 0)
|
|
135
|
+
return "0";
|
|
136
|
+
const neg = numStr[0] === "-";
|
|
137
|
+
const abs = neg ? numStr.slice(1) : numStr;
|
|
138
|
+
// Calculate how much to shift: align most significant digit to ones place + (maxSigFigs-1)
|
|
139
|
+
const magnitude = StringMath.log10Floor(abs);
|
|
140
|
+
const shiftAmount = maxSigFigs - magnitude - 1;
|
|
141
|
+
// Shift right, truncate integer part, shift back
|
|
142
|
+
const shifted = StringMath.multiplyByPow10(abs, shiftAmount);
|
|
143
|
+
const truncated = StringMath.trunc(shifted);
|
|
144
|
+
const result = StringMath.multiplyByPow10(truncated, -shiftAmount);
|
|
145
|
+
// Remove trailing zeros introduced by shifting
|
|
146
|
+
const final = neg ? "-" + result : result;
|
|
147
|
+
const [int, dec] = final.split(".");
|
|
148
|
+
const trimmedDec = dec?.replace(/0+$/, "");
|
|
149
|
+
return trimmedDec ? int + "." + trimmedDec : int;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=_format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_format.js","sourceRoot":"","sources":["../../../src/src/utils/_format.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,9 @@ export interface SymbolConverterOptions {
|
|
|
19
19
|
* const transport = new HttpTransport(); // or `WebSocketTransport`
|
|
20
20
|
* const converter = await SymbolConverter.create({ transport });
|
|
21
21
|
*
|
|
22
|
+
* // By default, dexs are not loaded; specify them when creating an instance
|
|
23
|
+
* // const converter = await SymbolConverter.create({ transport, dexs: ["test"] });
|
|
24
|
+
*
|
|
22
25
|
* const btcId = converter.getAssetId("BTC"); // perpetual → 0
|
|
23
26
|
* const hypeUsdcId = converter.getAssetId("HYPE/USDC"); // spot market → 10107
|
|
24
27
|
* const dexAbcId = converter.getAssetId("test:ABC"); // builder dex (if enabled) → 110000
|
|
@@ -26,6 +29,8 @@ export interface SymbolConverterOptions {
|
|
|
26
29
|
* const btcSzDecimals = converter.getSzDecimals("BTC"); // perpetual → 5
|
|
27
30
|
* const hypeUsdcSzDecimals = converter.getSzDecimals("HYPE/USDC"); // spot market → 2
|
|
28
31
|
* const dexAbcSzDecimals = converter.getSzDecimals("test:ABC"); // builder dex (if enabled) → 0
|
|
32
|
+
*
|
|
33
|
+
* const spotPairId = converter.getSpotPairId("HFUN/USDC"); // → "@2"
|
|
29
34
|
* ```
|
|
30
35
|
*/
|
|
31
36
|
export declare class SymbolConverter {
|
|
@@ -33,6 +38,7 @@ export declare class SymbolConverter {
|
|
|
33
38
|
private readonly dexOption;
|
|
34
39
|
private readonly nameToAssetId;
|
|
35
40
|
private readonly nameToSzDecimals;
|
|
41
|
+
private readonly nameToSpotPairId;
|
|
36
42
|
private constructor();
|
|
37
43
|
/**
|
|
38
44
|
* Create and initialize a SymbolConverter instance.
|
|
@@ -73,5 +79,12 @@ export declare class SymbolConverter {
|
|
|
73
79
|
* @example "BTC" → 5, "HYPE/USDC" → 2, "test:ABC" → 0
|
|
74
80
|
*/
|
|
75
81
|
getSzDecimals(name: string): number | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Get spot pair ID for info endpoints and subscriptions (e.g., l2book, trades).
|
|
84
|
+
*
|
|
85
|
+
* Accepts spot markets in the "BASE/QUOTE" format (e.g., "HFUN/USDC").
|
|
86
|
+
* @example "HFUN/USDC" → "@2", "PURR/USDC" → "PURR/USDC"
|
|
87
|
+
*/
|
|
88
|
+
getSpotPairId(name: string): string | undefined;
|
|
76
89
|
}
|
|
77
90
|
//# sourceMappingURL=_symbolConverter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_symbolConverter.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;AAE3C,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,SAAS,EAAE,iBAAiB,CAAC;IAC7B,+FAA+F;IAC/F,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"_symbolConverter.d.ts","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;AAE3C,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,SAAS,EAAE,iBAAiB,CAAC;IAC7B,+FAA+F;IAC/F,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;IAE9D,OAAO;IAKP;;;;;;;;;;;;OAYG;WACU,MAAM,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAM9E;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B7B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;IA6BhC,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,iBAAiB;IAoBzB;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGhD"}
|
|
@@ -16,6 +16,9 @@ const perpDexs_js_1 = require("../api/info/perpDexs.js");
|
|
|
16
16
|
* const transport = new HttpTransport(); // or `WebSocketTransport`
|
|
17
17
|
* const converter = await SymbolConverter.create({ transport });
|
|
18
18
|
*
|
|
19
|
+
* // By default, dexs are not loaded; specify them when creating an instance
|
|
20
|
+
* // const converter = await SymbolConverter.create({ transport, dexs: ["test"] });
|
|
21
|
+
*
|
|
19
22
|
* const btcId = converter.getAssetId("BTC"); // perpetual → 0
|
|
20
23
|
* const hypeUsdcId = converter.getAssetId("HYPE/USDC"); // spot market → 10107
|
|
21
24
|
* const dexAbcId = converter.getAssetId("test:ABC"); // builder dex (if enabled) → 110000
|
|
@@ -23,6 +26,8 @@ const perpDexs_js_1 = require("../api/info/perpDexs.js");
|
|
|
23
26
|
* const btcSzDecimals = converter.getSzDecimals("BTC"); // perpetual → 5
|
|
24
27
|
* const hypeUsdcSzDecimals = converter.getSzDecimals("HYPE/USDC"); // spot market → 2
|
|
25
28
|
* const dexAbcSzDecimals = converter.getSzDecimals("test:ABC"); // builder dex (if enabled) → 0
|
|
29
|
+
*
|
|
30
|
+
* const spotPairId = converter.getSpotPairId("HFUN/USDC"); // → "@2"
|
|
26
31
|
* ```
|
|
27
32
|
*/
|
|
28
33
|
class SymbolConverter {
|
|
@@ -30,6 +35,7 @@ class SymbolConverter {
|
|
|
30
35
|
dexOption;
|
|
31
36
|
nameToAssetId = new Map();
|
|
32
37
|
nameToSzDecimals = new Map();
|
|
38
|
+
nameToSpotPairId = new Map();
|
|
33
39
|
constructor(options) {
|
|
34
40
|
this.transport = options.transport;
|
|
35
41
|
this.dexOption = options.dexs ?? false;
|
|
@@ -71,6 +77,7 @@ class SymbolConverter {
|
|
|
71
77
|
}
|
|
72
78
|
this.nameToAssetId.clear();
|
|
73
79
|
this.nameToSzDecimals.clear();
|
|
80
|
+
this.nameToSpotPairId.clear();
|
|
74
81
|
this.processDefaultPerps(perpMetaData);
|
|
75
82
|
this.processSpotAssets(spotMetaData);
|
|
76
83
|
// Only process builder dexs if dex support is enabled
|
|
@@ -132,6 +139,7 @@ class SymbolConverter {
|
|
|
132
139
|
const baseQuoteKey = `${baseToken.name}/${quoteToken.name}`;
|
|
133
140
|
this.nameToAssetId.set(baseQuoteKey, assetId);
|
|
134
141
|
this.nameToSzDecimals.set(baseQuoteKey, baseToken.szDecimals);
|
|
142
|
+
this.nameToSpotPairId.set(baseQuoteKey, market.name);
|
|
135
143
|
});
|
|
136
144
|
}
|
|
137
145
|
/**
|
|
@@ -154,6 +162,15 @@ class SymbolConverter {
|
|
|
154
162
|
getSzDecimals(name) {
|
|
155
163
|
return this.nameToSzDecimals.get(name);
|
|
156
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Get spot pair ID for info endpoints and subscriptions (e.g., l2book, trades).
|
|
167
|
+
*
|
|
168
|
+
* Accepts spot markets in the "BASE/QUOTE" format (e.g., "HFUN/USDC").
|
|
169
|
+
* @example "HFUN/USDC" → "@2", "PURR/USDC" → "PURR/USDC"
|
|
170
|
+
*/
|
|
171
|
+
getSpotPairId(name) {
|
|
172
|
+
return this.nameToSpotPairId.get(name);
|
|
173
|
+
}
|
|
157
174
|
}
|
|
158
175
|
exports.SymbolConverter = SymbolConverter;
|
|
159
176
|
//# sourceMappingURL=_symbolConverter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_symbolConverter.js","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":";;;AACA,iDAA8D;AAC9D,yDAA0E;AAC1E,yDAA0E;AAY1E
|
|
1
|
+
{"version":3,"file":"_symbolConverter.js","sourceRoot":"","sources":["../../../src/src/utils/_symbolConverter.ts"],"names":[],"mappings":"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"}
|