opentool 0.19.8 → 0.20.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/adapters/hyperliquid/browser.d.ts +1 -1
- package/dist/adapters/hyperliquid/browser.js +156 -3
- package/dist/adapters/hyperliquid/browser.js.map +1 -1
- package/dist/adapters/hyperliquid/index.d.ts +2 -2
- package/dist/adapters/hyperliquid/index.js +156 -3
- package/dist/adapters/hyperliquid/index.js.map +1 -1
- package/dist/{browser-DhzKDXIg.d.ts → browser-z97Ptt32.d.ts} +36 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +156 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/templates/base/package.json +1 -1
- package/templates/polymarket-simple-trade/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { D as DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, a as DEFAULT_HYPERLIQUID_TPSL_MARKET_SLIPPAGE_BPS, H as HYPERLIQUID_HIP3_DEXES, b as HyperliquidAbstraction, c as HyperliquidAccountMode, d as HyperliquidActiveAsset, e as HyperliquidApiError,
|
|
1
|
+
export { D as DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, a as DEFAULT_HYPERLIQUID_TPSL_MARKET_SLIPPAGE_BPS, H as HYPERLIQUID_HIP3_DEXES, b as HyperliquidAbstraction, c as HyperliquidAccountMode, d as HyperliquidActiveAsset, e as HyperliquidApiError, bl as HyperliquidApproveBuilderFeeOptions, bm as HyperliquidApproveBuilderFeeResponse, f as HyperliquidApproximateLiquidationParams, i as HyperliquidBuilderApprovalError, j as HyperliquidBuilderFee, bn as HyperliquidClearinghouseState, bo as HyperliquidDepositResult, k as HyperliquidEnvironment, l as HyperliquidExchangeClient, m as HyperliquidExchangeResponse, n as HyperliquidGrouping, o as HyperliquidGuardError, p as HyperliquidHip3Dex, r as HyperliquidInfoClient, s as HyperliquidMarketDescriptor, t as HyperliquidMarketDescriptorInput, u as HyperliquidMarketIdentityInput, x as HyperliquidOrderIntent, bp as HyperliquidOrderOptions, bq as HyperliquidOrderResponse, br as HyperliquidOrderStatus, y as HyperliquidOutcomeMarketIdentityInput, z as HyperliquidOutcomeSymbol, A as HyperliquidParsedSymbol, B as HyperliquidParsedSymbolKind, E as HyperliquidPlaceOrderWithTpSlOptions, F as HyperliquidPlacePositionTpSlOptions, K as HyperliquidResolvedMarketDescriptor, M as HyperliquidTermsError, O as HyperliquidTimeInForce, P as HyperliquidTpSlExecutionType, Q as HyperliquidTpSlLegInput, R as HyperliquidTriggerOptions, S as HyperliquidTriggerType, bs as HyperliquidWithdrawResult, T as MarketIdentity, bt as approveHyperliquidBuilderFee, U as batchModifyHyperliquidOrders, V as buildHyperliquidMarketDescriptor, W as buildHyperliquidMarketIdentity, X as buildHyperliquidOutcomeMarketIdentity, Y as buildHyperliquidProfileAssets, $ as cancelAllHyperliquidOrders, a0 as cancelHyperliquidOrders, a1 as cancelHyperliquidOrdersByCloid, a2 as cancelHyperliquidTwapOrder, a3 as computeHyperliquidMarketIocLimitPrice, bu as createHyperliquidActionHash, a4 as createHyperliquidSubAccount, a5 as createMonotonicNonceFactory, bv as depositToHyperliquidBridge, a6 as estimateHyperliquidLiquidationPrice, a7 as extractHyperliquidDex, a9 as fetchHyperliquidActiveAsset, ab as fetchHyperliquidAssetCtxs, bw as fetchHyperliquidClearinghouseState, ae as fetchHyperliquidDexMetaAndAssetCtxs, af as fetchHyperliquidFrontendOpenOrders, ag as fetchHyperliquidFrontendOpenOrdersAcrossDexes, ah as fetchHyperliquidHistoricalOrders, ai as fetchHyperliquidMeta, aj as fetchHyperliquidMetaAndAssetCtxs, ak as fetchHyperliquidOpenOrders, al as fetchHyperliquidOpenOrdersAcrossDexes, am as fetchHyperliquidOrderStatus, ap as fetchHyperliquidPreTransferCheck, aq as fetchHyperliquidResolvedInfoCoin, ar as fetchHyperliquidResolvedMarketDescriptor, as as fetchHyperliquidSizeDecimals, au as fetchHyperliquidSpotAssetCtxs, av as fetchHyperliquidSpotClearinghouseState, ax as fetchHyperliquidSpotMeta, ay as fetchHyperliquidSpotMetaAndAssetCtxs, aB as fetchHyperliquidTickSize, aC as fetchHyperliquidUserFills, aD as fetchHyperliquidUserFillsByTime, aE as fetchHyperliquidUserRateLimit, aF as formatHyperliquidMarketablePrice, aH as formatHyperliquidPrice, aI as formatHyperliquidSize, bx as getHyperliquidMaxBuilderFee, aJ as getKnownHyperliquidDexes, aK as isHyperliquidSpotSymbol, aL as modifyHyperliquidOrder, aM as normalizeHyperliquidBaseSymbol, aO as normalizeHyperliquidMetaSymbol, aP as normalizeSpotTokenName, aQ as parseHyperliquidOutcomeSymbol, aR as parseHyperliquidSymbol, aS as parseSpotPairSymbol, by as placeHyperliquidOrder, aT as placeHyperliquidOrderWithTpSl, aU as placeHyperliquidPositionTpSl, aV as placeHyperliquidTwapOrder, aW as reserveHyperliquidRequestWeight, aX as resolveHyperliquidAbstractionFromMode, aZ as resolveHyperliquidLeverageMode, a_ as resolveHyperliquidMarketDataCoin, b0 as resolveHyperliquidOrderSymbol, b1 as resolveHyperliquidPair, b2 as resolveHyperliquidPerpSymbol, b3 as resolveHyperliquidProfileChain, b4 as resolveHyperliquidSpotSymbol, b5 as resolveHyperliquidSymbol, b6 as resolveSpotMidCandidates, b7 as resolveSpotTokenCandidates, b9 as scheduleHyperliquidCancel, ba as sendHyperliquidSpot, bb as setHyperliquidAccountAbstractionMode, bc as setHyperliquidPortfolioMargin, bd as supportsHyperliquidBuilderFee, be as transferHyperliquidSubAccount, bf as updateHyperliquidIsolatedMargin, bg as updateHyperliquidLeverage, bz as withdrawFromHyperliquid } from '../../browser-z97Ptt32.js';
|
|
2
2
|
import '../../types-BaTmu0gS.js';
|
|
3
3
|
import 'viem';
|
|
4
4
|
import 'viem/accounts';
|
|
@@ -45,6 +45,18 @@ var metaCache = /* @__PURE__ */ new Map();
|
|
|
45
45
|
var spotMetaCache = /* @__PURE__ */ new Map();
|
|
46
46
|
var perpDexsCache = /* @__PURE__ */ new Map();
|
|
47
47
|
var UNKNOWN_SYMBOL = "UNKNOWN";
|
|
48
|
+
var OUTCOME_ORDER_ASSET_OFFSET = 1e8;
|
|
49
|
+
var OUTCOME_MARKET_DATA_PATTERN = /^#([0-9]+)$/;
|
|
50
|
+
var OUTCOME_TOKEN_PATTERN = /^\+([0-9]+)$/;
|
|
51
|
+
function parseHyperliquidOutcomeEncoding(value) {
|
|
52
|
+
const trimmed = value?.trim();
|
|
53
|
+
if (!trimmed) return null;
|
|
54
|
+
const encodedMatch = OUTCOME_MARKET_DATA_PATTERN.exec(trimmed) ?? OUTCOME_TOKEN_PATTERN.exec(trimmed);
|
|
55
|
+
if (!encodedMatch) return null;
|
|
56
|
+
const encoding = Number.parseInt(encodedMatch[1] ?? "", 10);
|
|
57
|
+
const side = encoding % 10;
|
|
58
|
+
return Number.isSafeInteger(encoding) && encoding >= 0 && side <= 1 ? encoding : null;
|
|
59
|
+
}
|
|
48
60
|
var extractDexPrefix = (value) => {
|
|
49
61
|
if (!value) return null;
|
|
50
62
|
const trimmed = value.trim();
|
|
@@ -65,6 +77,22 @@ var normalizeHyperliquidBase = (value) => {
|
|
|
65
77
|
if (!normalized || normalized === UNKNOWN_SYMBOL) return null;
|
|
66
78
|
return normalized;
|
|
67
79
|
};
|
|
80
|
+
var normalizeText = (value) => {
|
|
81
|
+
const trimmed = value?.trim();
|
|
82
|
+
return trimmed ? trimmed : null;
|
|
83
|
+
};
|
|
84
|
+
var normalizeSymbolText = (value) => {
|
|
85
|
+
const trimmed = value?.trim().toUpperCase();
|
|
86
|
+
return trimmed ? trimmed : null;
|
|
87
|
+
};
|
|
88
|
+
var normalizeOutcomeMarketDataCoin = (value) => {
|
|
89
|
+
const encoding = parseHyperliquidOutcomeEncoding(value);
|
|
90
|
+
return encoding == null ? null : `#${encoding}`;
|
|
91
|
+
};
|
|
92
|
+
var normalizeOutcomeTokenName = (value) => {
|
|
93
|
+
const encoding = parseHyperliquidOutcomeEncoding(value);
|
|
94
|
+
return encoding == null ? null : `+${encoding}`;
|
|
95
|
+
};
|
|
68
96
|
var normalizeSpotTokenName = (value) => {
|
|
69
97
|
const raw = (value ?? "").trim().toUpperCase();
|
|
70
98
|
if (!raw) return "";
|
|
@@ -119,6 +147,32 @@ function buildHyperliquidMarketIdentity(input) {
|
|
|
119
147
|
canonical_symbol: `perp:hyperliquid:${base}`
|
|
120
148
|
};
|
|
121
149
|
}
|
|
150
|
+
function buildHyperliquidOutcomeMarketIdentity(input) {
|
|
151
|
+
const rawSymbol = normalizeText(input.rawSymbol);
|
|
152
|
+
const marketDataCoin = normalizeOutcomeMarketDataCoin(input.marketDataCoin) ?? normalizeOutcomeMarketDataCoin(rawSymbol) ?? normalizeOutcomeMarketDataCoin(input.outcomeTokenName);
|
|
153
|
+
const outcomeTokenName = normalizeOutcomeTokenName(input.outcomeTokenName) ?? normalizeOutcomeTokenName(rawSymbol) ?? normalizeOutcomeTokenName(input.marketDataCoin);
|
|
154
|
+
const outcomeId = typeof input.outcomeId === "number" && Number.isSafeInteger(input.outcomeId) ? input.outcomeId : typeof input.outcomeId === "string" && input.outcomeId.trim().length > 0 ? Number.parseInt(input.outcomeId, 10) : null;
|
|
155
|
+
const outcomeSide = typeof input.outcomeSide === "number" && Number.isSafeInteger(input.outcomeSide) ? input.outcomeSide : typeof input.outcomeSide === "string" && input.outcomeSide.trim().length > 0 ? Number.parseInt(input.outcomeSide, 10) : null;
|
|
156
|
+
const derivedEncoding = outcomeId != null && outcomeId >= 0 && outcomeSide != null && outcomeSide >= 0 && outcomeSide <= 1 ? outcomeId * 10 + outcomeSide : null;
|
|
157
|
+
const derivedMarketDataCoin = marketDataCoin ?? (derivedEncoding != null ? `#${derivedEncoding}` : null);
|
|
158
|
+
const positionId = normalizeText(input.positionId) ?? derivedMarketDataCoin ?? outcomeTokenName ?? null;
|
|
159
|
+
const protocolMarketId = normalizeText(input.protocolMarketId) ?? normalizeText(input.roundKey) ?? normalizeText(input.seriesKey) ?? (outcomeId != null && outcomeId >= 0 ? `hip4-outcome-${outcomeId}` : null);
|
|
160
|
+
if (!protocolMarketId || !positionId) return null;
|
|
161
|
+
const sideName = normalizeSymbolText(input.sideName);
|
|
162
|
+
const underlying = normalizeSymbolText(input.underlying);
|
|
163
|
+
const base = underlying && sideName ? `${underlying}-${sideName}` : sideName ?? underlying ?? null;
|
|
164
|
+
return {
|
|
165
|
+
market_type: "prediction",
|
|
166
|
+
venue: "hyperliquid",
|
|
167
|
+
environment: input.environment,
|
|
168
|
+
base,
|
|
169
|
+
quote: "USDH",
|
|
170
|
+
raw_symbol: rawSymbol ?? derivedMarketDataCoin ?? outcomeTokenName,
|
|
171
|
+
protocol_market_id: protocolMarketId,
|
|
172
|
+
position_id: positionId,
|
|
173
|
+
canonical_symbol: `prediction:hyperliquid:${protocolMarketId}:${positionId}`
|
|
174
|
+
};
|
|
175
|
+
}
|
|
122
176
|
function resolveHyperliquidAbstractionFromMode(mode) {
|
|
123
177
|
switch (mode) {
|
|
124
178
|
case "standard":
|
|
@@ -342,6 +396,10 @@ async function resolveHyperliquidAssetIndex(args) {
|
|
|
342
396
|
if (!trimmed) {
|
|
343
397
|
throw new Error("Hyperliquid symbol must be a non-empty string.");
|
|
344
398
|
}
|
|
399
|
+
const outcomeEncoding = parseHyperliquidOutcomeEncoding(trimmed);
|
|
400
|
+
if (outcomeEncoding != null) {
|
|
401
|
+
return OUTCOME_ORDER_ASSET_OFFSET + outcomeEncoding;
|
|
402
|
+
}
|
|
345
403
|
if (trimmed.startsWith("@")) {
|
|
346
404
|
const rawIndex = trimmed.slice(1).trim();
|
|
347
405
|
const index = Number(rawIndex);
|
|
@@ -683,6 +741,9 @@ function assertPositiveNumber(value, label) {
|
|
|
683
741
|
|
|
684
742
|
// src/adapters/hyperliquid/symbols.ts
|
|
685
743
|
var UNKNOWN_SYMBOL2 = "UNKNOWN";
|
|
744
|
+
var OUTCOME_ORDER_ASSET_OFFSET2 = 1e8;
|
|
745
|
+
var OUTCOME_MARKET_DATA_PATTERN2 = /^#([0-9]+)$/;
|
|
746
|
+
var OUTCOME_TOKEN_PATTERN2 = /^\+([0-9]+)$/;
|
|
686
747
|
function extractHyperliquidDex(symbol) {
|
|
687
748
|
const idx = symbol.indexOf(":");
|
|
688
749
|
if (idx <= 0) return null;
|
|
@@ -693,6 +754,21 @@ function parseHyperliquidSymbol(value) {
|
|
|
693
754
|
if (!value) return null;
|
|
694
755
|
const trimmed = value.trim();
|
|
695
756
|
if (!trimmed) return null;
|
|
757
|
+
const outcome = parseHyperliquidOutcomeSymbol(trimmed);
|
|
758
|
+
if (outcome) {
|
|
759
|
+
return {
|
|
760
|
+
raw: trimmed,
|
|
761
|
+
kind: "outcome",
|
|
762
|
+
normalized: outcome.marketDataCoin,
|
|
763
|
+
routeTicker: outcome.routeTicker,
|
|
764
|
+
displaySymbol: outcome.displaySymbol,
|
|
765
|
+
base: outcome.sideName,
|
|
766
|
+
quote: "USDH",
|
|
767
|
+
pair: null,
|
|
768
|
+
dex: null,
|
|
769
|
+
leverageMode: "cross"
|
|
770
|
+
};
|
|
771
|
+
}
|
|
696
772
|
if (trimmed.startsWith("@")) {
|
|
697
773
|
return {
|
|
698
774
|
raw: trimmed,
|
|
@@ -754,6 +830,32 @@ function parseHyperliquidSymbol(value) {
|
|
|
754
830
|
leverageMode: "cross"
|
|
755
831
|
};
|
|
756
832
|
}
|
|
833
|
+
function parseHyperliquidOutcomeSymbol(value) {
|
|
834
|
+
const trimmed = value?.trim();
|
|
835
|
+
if (!trimmed) return null;
|
|
836
|
+
const encodedMatch = OUTCOME_MARKET_DATA_PATTERN2.exec(trimmed) ?? OUTCOME_TOKEN_PATTERN2.exec(trimmed);
|
|
837
|
+
if (!encodedMatch) return null;
|
|
838
|
+
const encoding = Number.parseInt(encodedMatch[1] ?? "", 10);
|
|
839
|
+
const outcomeId = Math.floor(encoding / 10);
|
|
840
|
+
const side = encoding % 10;
|
|
841
|
+
if (outcomeId == null || side == null || encoding == null || !Number.isSafeInteger(outcomeId) || !Number.isSafeInteger(side) || !Number.isSafeInteger(encoding) || outcomeId < 0 || side < 0 || side > 1 || encoding < 0) {
|
|
842
|
+
return null;
|
|
843
|
+
}
|
|
844
|
+
const marketDataCoin = `#${encoding}`;
|
|
845
|
+
const sideName = side === 0 ? "YES" : "NO";
|
|
846
|
+
return {
|
|
847
|
+
outcomeId,
|
|
848
|
+
side,
|
|
849
|
+
encoding,
|
|
850
|
+
orderSymbol: marketDataCoin,
|
|
851
|
+
marketDataCoin,
|
|
852
|
+
tokenName: `+${encoding}`,
|
|
853
|
+
sideName,
|
|
854
|
+
displaySymbol: marketDataCoin,
|
|
855
|
+
routeTicker: marketDataCoin,
|
|
856
|
+
assetId: OUTCOME_ORDER_ASSET_OFFSET2 + encoding
|
|
857
|
+
};
|
|
858
|
+
}
|
|
757
859
|
function normalizeHyperliquidQuoteSymbol(value) {
|
|
758
860
|
if (typeof value !== "string") return null;
|
|
759
861
|
const trimmed = value.trim();
|
|
@@ -834,6 +936,29 @@ function buildHyperliquidMarketDescriptor(input) {
|
|
|
834
936
|
if (!parsed) return null;
|
|
835
937
|
const explicitPair = resolveHyperliquidPair(input.pair);
|
|
836
938
|
const explicitQuote = normalizeHyperliquidQuoteSymbol(input.quote);
|
|
939
|
+
if (parsed.kind === "outcome") {
|
|
940
|
+
const outcome = parseHyperliquidOutcomeSymbol(rawSymbol);
|
|
941
|
+
if (!outcome) return null;
|
|
942
|
+
const orderSymbol2 = input.orderSymbol?.trim() || outcome.orderSymbol;
|
|
943
|
+
const marketDataCoin2 = input.marketDataCoin?.trim() || outcome.marketDataCoin;
|
|
944
|
+
return {
|
|
945
|
+
rawSymbol,
|
|
946
|
+
kind: "outcome",
|
|
947
|
+
routeTicker: outcome.routeTicker,
|
|
948
|
+
displaySymbol: input.displaySymbol?.trim() || outcome.displaySymbol,
|
|
949
|
+
normalized: outcome.marketDataCoin,
|
|
950
|
+
orderSymbol: orderSymbol2,
|
|
951
|
+
marketDataCoin: marketDataCoin2,
|
|
952
|
+
base: outcome.sideName,
|
|
953
|
+
quote: explicitQuote || "USDH",
|
|
954
|
+
pair: null,
|
|
955
|
+
canonicalPair: null,
|
|
956
|
+
dex: null,
|
|
957
|
+
leverageMode: "cross",
|
|
958
|
+
spotIndex: null,
|
|
959
|
+
assetId: input.assetId ?? outcome.assetId
|
|
960
|
+
};
|
|
961
|
+
}
|
|
837
962
|
if (parsed.kind === "spot" || parsed.kind === "spotIndex") {
|
|
838
963
|
const canonicalPair2 = explicitPair ?? parsed.pair;
|
|
839
964
|
const pair = canonicalPair2;
|
|
@@ -932,6 +1057,7 @@ function parseSpotPairSymbol(symbol) {
|
|
|
932
1057
|
function isHyperliquidSpotSymbol(symbol) {
|
|
933
1058
|
const trimmed = symbol.trim();
|
|
934
1059
|
if (!trimmed) return false;
|
|
1060
|
+
if (parseHyperliquidOutcomeSymbol(trimmed)) return false;
|
|
935
1061
|
if (trimmed.startsWith("@") || trimmed.includes("/")) return true;
|
|
936
1062
|
if (trimmed.includes(":")) return false;
|
|
937
1063
|
return resolveHyperliquidPair(trimmed) !== null;
|
|
@@ -940,6 +1066,8 @@ function resolveHyperliquidMarketDataCoin(value) {
|
|
|
940
1066
|
if (!value) return null;
|
|
941
1067
|
const trimmed = value.trim();
|
|
942
1068
|
if (!trimmed) return null;
|
|
1069
|
+
const outcome = parseHyperliquidOutcomeSymbol(trimmed);
|
|
1070
|
+
if (outcome) return outcome.marketDataCoin;
|
|
943
1071
|
if (trimmed.startsWith("@")) return trimmed;
|
|
944
1072
|
const pair = resolveHyperliquidPair(trimmed);
|
|
945
1073
|
if (pair && !extractHyperliquidDex(trimmed)) {
|
|
@@ -948,6 +1076,9 @@ function resolveHyperliquidMarketDataCoin(value) {
|
|
|
948
1076
|
return trimmed;
|
|
949
1077
|
}
|
|
950
1078
|
function supportsHyperliquidBuilderFee(params) {
|
|
1079
|
+
if (parseHyperliquidOutcomeSymbol(params.symbol)) {
|
|
1080
|
+
return false;
|
|
1081
|
+
}
|
|
951
1082
|
if (!isHyperliquidSpotSymbol(params.symbol)) {
|
|
952
1083
|
return true;
|
|
953
1084
|
}
|
|
@@ -975,6 +1106,8 @@ function resolveHyperliquidOrderSymbol(value) {
|
|
|
975
1106
|
if (!value) return null;
|
|
976
1107
|
const trimmed = value.trim();
|
|
977
1108
|
if (!trimmed) return null;
|
|
1109
|
+
const outcome = parseHyperliquidOutcomeSymbol(trimmed);
|
|
1110
|
+
if (outcome) return outcome.orderSymbol;
|
|
978
1111
|
if (trimmed.startsWith("@")) return trimmed;
|
|
979
1112
|
if (trimmed.includes(":")) {
|
|
980
1113
|
const [rawDex, ...restParts] = trimmed.split(":");
|
|
@@ -993,6 +1126,8 @@ function resolveHyperliquidOrderSymbol(value) {
|
|
|
993
1126
|
function resolveHyperliquidSymbol(asset, override) {
|
|
994
1127
|
const raw = override && override.trim().length > 0 ? override.trim() : asset.trim();
|
|
995
1128
|
if (!raw) return raw;
|
|
1129
|
+
const outcome = parseHyperliquidOutcomeSymbol(raw);
|
|
1130
|
+
if (outcome) return outcome.orderSymbol;
|
|
996
1131
|
if (raw.startsWith("@")) return raw;
|
|
997
1132
|
if (raw.includes(":")) {
|
|
998
1133
|
const [dexRaw, ...restParts] = raw.split(":");
|
|
@@ -1114,6 +1249,9 @@ var HyperliquidInfoClient = class {
|
|
|
1114
1249
|
spotAssetCtxs() {
|
|
1115
1250
|
return fetchHyperliquidSpotAssetCtxs(this.environment);
|
|
1116
1251
|
}
|
|
1252
|
+
outcomeMeta() {
|
|
1253
|
+
return fetchHyperliquidOutcomeMeta(this.environment);
|
|
1254
|
+
}
|
|
1117
1255
|
openOrders(user) {
|
|
1118
1256
|
return fetchHyperliquidOpenOrders({ user, environment: this.environment });
|
|
1119
1257
|
}
|
|
@@ -1195,6 +1333,9 @@ async function fetchHyperliquidAssetCtxs(environment = "mainnet") {
|
|
|
1195
1333
|
async function fetchHyperliquidSpotAssetCtxs(environment = "mainnet") {
|
|
1196
1334
|
return postInfo(environment, { type: "spotAssetCtxs" });
|
|
1197
1335
|
}
|
|
1336
|
+
async function fetchHyperliquidOutcomeMeta(environment = "mainnet") {
|
|
1337
|
+
return postInfo(environment, { type: "outcomeMeta" });
|
|
1338
|
+
}
|
|
1198
1339
|
async function fetchHyperliquidOpenOrders(params) {
|
|
1199
1340
|
const env = params.environment ?? "mainnet";
|
|
1200
1341
|
const orders = await postInfo(env, {
|
|
@@ -2666,6 +2807,15 @@ async function fetchHyperliquidResolvedMarketDescriptor(params) {
|
|
|
2666
2807
|
if (!parsed) {
|
|
2667
2808
|
throw new Error(`Unable to parse Hyperliquid symbol: ${params.symbol}`);
|
|
2668
2809
|
}
|
|
2810
|
+
if (parsed.kind === "outcome") {
|
|
2811
|
+
const descriptor2 = buildHyperliquidMarketDescriptor({
|
|
2812
|
+
symbol: params.symbol
|
|
2813
|
+
});
|
|
2814
|
+
if (!descriptor2) {
|
|
2815
|
+
throw new Error(`Unable to build Hyperliquid outcome market descriptor: ${params.symbol}`);
|
|
2816
|
+
}
|
|
2817
|
+
return descriptor2;
|
|
2818
|
+
}
|
|
2669
2819
|
if (parsed.kind === "spot" || parsed.kind === "spotIndex") {
|
|
2670
2820
|
const spotInfo = parsed.kind === "spotIndex" ? await fetchHyperliquidSpotMarketInfoByIndex({
|
|
2671
2821
|
environment: params.environment,
|
|
@@ -2724,6 +2874,10 @@ async function fetchHyperliquidResolvedInfoCoin(params) {
|
|
|
2724
2874
|
}
|
|
2725
2875
|
async function fetchHyperliquidSizeDecimals(params) {
|
|
2726
2876
|
const { symbol, environment } = params;
|
|
2877
|
+
const parsed = parseHyperliquidSymbol(symbol);
|
|
2878
|
+
if (parsed?.kind === "outcome") {
|
|
2879
|
+
return 0;
|
|
2880
|
+
}
|
|
2727
2881
|
if (isHyperliquidSpotSymbol(symbol)) {
|
|
2728
2882
|
const meta2 = await fetchHyperliquidSpotMeta(environment);
|
|
2729
2883
|
return resolveSpotSizeDecimals(meta2, symbol);
|
|
@@ -2737,7 +2891,6 @@ async function fetchHyperliquidSizeDecimals(params) {
|
|
|
2737
2891
|
if (match && typeof match.szDecimals === "number") {
|
|
2738
2892
|
return match.szDecimals;
|
|
2739
2893
|
}
|
|
2740
|
-
const parsed = parseHyperliquidSymbol(symbol);
|
|
2741
2894
|
const dex = parsed?.dex ?? null;
|
|
2742
2895
|
if (!dex) {
|
|
2743
2896
|
throw new Error(`No size decimals found for ${symbol}.`);
|
|
@@ -3000,7 +3153,7 @@ function formatHyperliquidMarketablePrice(params) {
|
|
|
3000
3153
|
if (!formatted) {
|
|
3001
3154
|
throw new RangeError("Marketable price is too small and was truncated to 0.");
|
|
3002
3155
|
}
|
|
3003
|
-
return formatted;
|
|
3156
|
+
return tick ? roundHyperliquidPriceToTick(formatted, tick, side) : formatted;
|
|
3004
3157
|
}
|
|
3005
3158
|
const midString = normalizeDecimalString(mid.toString());
|
|
3006
3159
|
const baseDecimals = countDecimalPlaces(midString);
|
|
@@ -3255,6 +3408,6 @@ function estimateHyperliquidLiquidationPrice(params) {
|
|
|
3255
3408
|
return liquidationPrice;
|
|
3256
3409
|
}
|
|
3257
3410
|
|
|
3258
|
-
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, DEFAULT_HYPERLIQUID_TPSL_MARKET_SLIPPAGE_BPS, HYPERLIQUID_HIP3_DEXES, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, buildHyperliquidMarketDescriptor, buildHyperliquidMarketIdentity, buildHyperliquidProfileAssets, cancelAllHyperliquidOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, computeHyperliquidMarketIocLimitPrice, createHyperliquidActionHash, createHyperliquidSubAccount, createMonotonicNonceFactory, depositToHyperliquidBridge, estimateHyperliquidLiquidationPrice, extractHyperliquidDex, fetchHyperliquidActiveAsset, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidDexMetaAndAssetCtxs, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidFrontendOpenOrdersAcrossDexes, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOpenOrdersAcrossDexes, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidResolvedInfoCoin, fetchHyperliquidResolvedMarketDescriptor, fetchHyperliquidSizeDecimals, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidTickSize, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, formatHyperliquidMarketablePrice, formatHyperliquidPrice, formatHyperliquidSize, getHyperliquidMaxBuilderFee, getKnownHyperliquidDexes, isHyperliquidSpotSymbol, modifyHyperliquidOrder, normalizeHyperliquidBaseSymbol, normalizeHyperliquidMetaSymbol, normalizeSpotTokenName2 as normalizeSpotTokenName, parseHyperliquidSymbol, parseSpotPairSymbol, placeHyperliquidOrder, placeHyperliquidOrderWithTpSl, placeHyperliquidPositionTpSl, placeHyperliquidTwapOrder, reserveHyperliquidRequestWeight, resolveHyperliquidAbstractionFromMode, resolveHyperliquidLeverageMode, resolveHyperliquidMarketDataCoin, resolveHyperliquidOrderSymbol, resolveHyperliquidPair, resolveHyperliquidPerpSymbol, resolveHyperliquidProfileChain, resolveHyperliquidSpotSymbol, resolveHyperliquidSymbol, resolveSpotMidCandidates, resolveSpotTokenCandidates, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidAccountAbstractionMode, setHyperliquidPortfolioMargin, supportsHyperliquidBuilderFee, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, withdrawFromHyperliquid };
|
|
3411
|
+
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, DEFAULT_HYPERLIQUID_TPSL_MARKET_SLIPPAGE_BPS, HYPERLIQUID_HIP3_DEXES, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, buildHyperliquidMarketDescriptor, buildHyperliquidMarketIdentity, buildHyperliquidOutcomeMarketIdentity, buildHyperliquidProfileAssets, cancelAllHyperliquidOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, computeHyperliquidMarketIocLimitPrice, createHyperliquidActionHash, createHyperliquidSubAccount, createMonotonicNonceFactory, depositToHyperliquidBridge, estimateHyperliquidLiquidationPrice, extractHyperliquidDex, fetchHyperliquidActiveAsset, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidDexMetaAndAssetCtxs, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidFrontendOpenOrdersAcrossDexes, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOpenOrdersAcrossDexes, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidResolvedInfoCoin, fetchHyperliquidResolvedMarketDescriptor, fetchHyperliquidSizeDecimals, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidTickSize, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, formatHyperliquidMarketablePrice, formatHyperliquidPrice, formatHyperliquidSize, getHyperliquidMaxBuilderFee, getKnownHyperliquidDexes, isHyperliquidSpotSymbol, modifyHyperliquidOrder, normalizeHyperliquidBaseSymbol, normalizeHyperliquidMetaSymbol, normalizeSpotTokenName2 as normalizeSpotTokenName, parseHyperliquidOutcomeSymbol, parseHyperliquidSymbol, parseSpotPairSymbol, placeHyperliquidOrder, placeHyperliquidOrderWithTpSl, placeHyperliquidPositionTpSl, placeHyperliquidTwapOrder, reserveHyperliquidRequestWeight, resolveHyperliquidAbstractionFromMode, resolveHyperliquidLeverageMode, resolveHyperliquidMarketDataCoin, resolveHyperliquidOrderSymbol, resolveHyperliquidPair, resolveHyperliquidPerpSymbol, resolveHyperliquidProfileChain, resolveHyperliquidSpotSymbol, resolveHyperliquidSymbol, resolveSpotMidCandidates, resolveSpotTokenCandidates, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidAccountAbstractionMode, setHyperliquidPortfolioMargin, supportsHyperliquidBuilderFee, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, withdrawFromHyperliquid };
|
|
3259
3412
|
//# sourceMappingURL=browser.js.map
|
|
3260
3413
|
//# sourceMappingURL=browser.js.map
|