opentool 0.19.5 → 0.19.8
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 +80 -7
- package/dist/adapters/hyperliquid/browser.js.map +1 -1
- package/dist/adapters/hyperliquid/index.d.ts +8 -5
- package/dist/adapters/hyperliquid/index.js +80 -7
- package/dist/adapters/hyperliquid/index.js.map +1 -1
- package/dist/{browser-Bieph3Ou.d.ts → browser-DhzKDXIg.d.ts} +2 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +80 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -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, bg as HyperliquidApproveBuilderFeeOptions, bh as HyperliquidApproveBuilderFeeResponse, f as HyperliquidApproximateLiquidationParams, i as HyperliquidBuilderApprovalError, j as HyperliquidBuilderFee, bi as HyperliquidClearinghouseState, bj 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, bk as HyperliquidOrderOptions, bl as HyperliquidOrderResponse, bm as HyperliquidOrderStatus, y as HyperliquidParsedSymbol, z as HyperliquidParsedSymbolKind, B as HyperliquidPlaceOrderWithTpSlOptions, C as HyperliquidPlacePositionTpSlOptions, I as HyperliquidResolvedMarketDescriptor, K as HyperliquidTermsError, M as HyperliquidTimeInForce, N as HyperliquidTpSlExecutionType, O as HyperliquidTpSlLegInput, P as HyperliquidTriggerOptions, Q as HyperliquidTriggerType, bn as HyperliquidWithdrawResult, R as MarketIdentity, bo as approveHyperliquidBuilderFee, S as batchModifyHyperliquidOrders, T as buildHyperliquidMarketDescriptor, U as buildHyperliquidMarketIdentity, V as buildHyperliquidProfileAssets, X as cancelAllHyperliquidOrders, Y as cancelHyperliquidOrders, Z as cancelHyperliquidOrdersByCloid, $ as cancelHyperliquidTwapOrder, a0 as computeHyperliquidMarketIocLimitPrice, bp as createHyperliquidActionHash, a1 as createHyperliquidSubAccount, a2 as createMonotonicNonceFactory, bq as depositToHyperliquidBridge, a3 as estimateHyperliquidLiquidationPrice, a4 as extractHyperliquidDex, a6 as fetchHyperliquidActiveAsset, a8 as fetchHyperliquidAssetCtxs, br as fetchHyperliquidClearinghouseState, ab as fetchHyperliquidDexMetaAndAssetCtxs, ac as fetchHyperliquidFrontendOpenOrders, ad as fetchHyperliquidFrontendOpenOrdersAcrossDexes, ae as fetchHyperliquidHistoricalOrders, af as fetchHyperliquidMeta, ag as fetchHyperliquidMetaAndAssetCtxs, ah as fetchHyperliquidOpenOrders, ai as fetchHyperliquidOpenOrdersAcrossDexes, aj as fetchHyperliquidOrderStatus, al as fetchHyperliquidPreTransferCheck, am as fetchHyperliquidResolvedInfoCoin, an as fetchHyperliquidResolvedMarketDescriptor, ao as fetchHyperliquidSizeDecimals, aq as fetchHyperliquidSpotAssetCtxs, ar as fetchHyperliquidSpotClearinghouseState, at as fetchHyperliquidSpotMeta, au as fetchHyperliquidSpotMetaAndAssetCtxs, ax as fetchHyperliquidTickSize, ay as fetchHyperliquidUserFills, az as fetchHyperliquidUserFillsByTime, aA as fetchHyperliquidUserRateLimit, aB as formatHyperliquidMarketablePrice, aD as formatHyperliquidPrice, aE as formatHyperliquidSize, bs as getHyperliquidMaxBuilderFee, aF as getKnownHyperliquidDexes, aG as isHyperliquidSpotSymbol, aH as modifyHyperliquidOrder, aI as normalizeHyperliquidBaseSymbol, aK as normalizeHyperliquidMetaSymbol, aL as normalizeSpotTokenName, aM as parseHyperliquidSymbol, aN as parseSpotPairSymbol, bt as placeHyperliquidOrder, aO as placeHyperliquidOrderWithTpSl, aP as placeHyperliquidPositionTpSl, aQ as placeHyperliquidTwapOrder, aR as reserveHyperliquidRequestWeight, aS as resolveHyperliquidAbstractionFromMode, aU as resolveHyperliquidLeverageMode, aV as resolveHyperliquidMarketDataCoin, aX as resolveHyperliquidOrderSymbol, aY as resolveHyperliquidPair, aZ as resolveHyperliquidPerpSymbol, a_ as resolveHyperliquidProfileChain, a$ as resolveHyperliquidSpotSymbol, b0 as resolveHyperliquidSymbol, b1 as resolveSpotMidCandidates, b2 as resolveSpotTokenCandidates, b4 as scheduleHyperliquidCancel, b5 as sendHyperliquidSpot, b6 as setHyperliquidAccountAbstractionMode, b7 as setHyperliquidPortfolioMargin, b8 as supportsHyperliquidBuilderFee, b9 as transferHyperliquidSubAccount, ba as updateHyperliquidIsolatedMargin, bb as updateHyperliquidLeverage, bu as withdrawFromHyperliquid } from '../../browser-
|
|
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, bg as HyperliquidApproveBuilderFeeOptions, bh as HyperliquidApproveBuilderFeeResponse, f as HyperliquidApproximateLiquidationParams, i as HyperliquidBuilderApprovalError, j as HyperliquidBuilderFee, bi as HyperliquidClearinghouseState, bj 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, bk as HyperliquidOrderOptions, bl as HyperliquidOrderResponse, bm as HyperliquidOrderStatus, y as HyperliquidParsedSymbol, z as HyperliquidParsedSymbolKind, B as HyperliquidPlaceOrderWithTpSlOptions, C as HyperliquidPlacePositionTpSlOptions, I as HyperliquidResolvedMarketDescriptor, K as HyperliquidTermsError, M as HyperliquidTimeInForce, N as HyperliquidTpSlExecutionType, O as HyperliquidTpSlLegInput, P as HyperliquidTriggerOptions, Q as HyperliquidTriggerType, bn as HyperliquidWithdrawResult, R as MarketIdentity, bo as approveHyperliquidBuilderFee, S as batchModifyHyperliquidOrders, T as buildHyperliquidMarketDescriptor, U as buildHyperliquidMarketIdentity, V as buildHyperliquidProfileAssets, X as cancelAllHyperliquidOrders, Y as cancelHyperliquidOrders, Z as cancelHyperliquidOrdersByCloid, $ as cancelHyperliquidTwapOrder, a0 as computeHyperliquidMarketIocLimitPrice, bp as createHyperliquidActionHash, a1 as createHyperliquidSubAccount, a2 as createMonotonicNonceFactory, bq as depositToHyperliquidBridge, a3 as estimateHyperliquidLiquidationPrice, a4 as extractHyperliquidDex, a6 as fetchHyperliquidActiveAsset, a8 as fetchHyperliquidAssetCtxs, br as fetchHyperliquidClearinghouseState, ab as fetchHyperliquidDexMetaAndAssetCtxs, ac as fetchHyperliquidFrontendOpenOrders, ad as fetchHyperliquidFrontendOpenOrdersAcrossDexes, ae as fetchHyperliquidHistoricalOrders, af as fetchHyperliquidMeta, ag as fetchHyperliquidMetaAndAssetCtxs, ah as fetchHyperliquidOpenOrders, ai as fetchHyperliquidOpenOrdersAcrossDexes, aj as fetchHyperliquidOrderStatus, al as fetchHyperliquidPreTransferCheck, am as fetchHyperliquidResolvedInfoCoin, an as fetchHyperliquidResolvedMarketDescriptor, ao as fetchHyperliquidSizeDecimals, aq as fetchHyperliquidSpotAssetCtxs, ar as fetchHyperliquidSpotClearinghouseState, at as fetchHyperliquidSpotMeta, au as fetchHyperliquidSpotMetaAndAssetCtxs, ax as fetchHyperliquidTickSize, ay as fetchHyperliquidUserFills, az as fetchHyperliquidUserFillsByTime, aA as fetchHyperliquidUserRateLimit, aB as formatHyperliquidMarketablePrice, aD as formatHyperliquidPrice, aE as formatHyperliquidSize, bs as getHyperliquidMaxBuilderFee, aF as getKnownHyperliquidDexes, aG as isHyperliquidSpotSymbol, aH as modifyHyperliquidOrder, aI as normalizeHyperliquidBaseSymbol, aK as normalizeHyperliquidMetaSymbol, aL as normalizeSpotTokenName, aM as parseHyperliquidSymbol, aN as parseSpotPairSymbol, bt as placeHyperliquidOrder, aO as placeHyperliquidOrderWithTpSl, aP as placeHyperliquidPositionTpSl, aQ as placeHyperliquidTwapOrder, aR as reserveHyperliquidRequestWeight, aS as resolveHyperliquidAbstractionFromMode, aU as resolveHyperliquidLeverageMode, aV as resolveHyperliquidMarketDataCoin, aX as resolveHyperliquidOrderSymbol, aY as resolveHyperliquidPair, aZ as resolveHyperliquidPerpSymbol, a_ as resolveHyperliquidProfileChain, a$ as resolveHyperliquidSpotSymbol, b0 as resolveHyperliquidSymbol, b1 as resolveSpotMidCandidates, b2 as resolveSpotTokenCandidates, b4 as scheduleHyperliquidCancel, b5 as sendHyperliquidSpot, b6 as setHyperliquidAccountAbstractionMode, b7 as setHyperliquidPortfolioMargin, b8 as supportsHyperliquidBuilderFee, b9 as transferHyperliquidSubAccount, ba as updateHyperliquidIsolatedMargin, bb as updateHyperliquidLeverage, bu as withdrawFromHyperliquid } from '../../browser-DhzKDXIg.js';
|
|
2
2
|
import '../../types-BaTmu0gS.js';
|
|
3
3
|
import 'viem';
|
|
4
4
|
import 'viem/accounts';
|
|
@@ -2734,10 +2734,24 @@ async function fetchHyperliquidSizeDecimals(params) {
|
|
|
2734
2734
|
const match = universe.find(
|
|
2735
2735
|
(entry) => normalizeHyperliquidMetaSymbol(entry?.name ?? "").toUpperCase() === normalized
|
|
2736
2736
|
);
|
|
2737
|
-
if (
|
|
2737
|
+
if (match && typeof match.szDecimals === "number") {
|
|
2738
|
+
return match.szDecimals;
|
|
2739
|
+
}
|
|
2740
|
+
const parsed = parseHyperliquidSymbol(symbol);
|
|
2741
|
+
const dex = parsed?.dex ?? null;
|
|
2742
|
+
if (!dex) {
|
|
2743
|
+
throw new Error(`No size decimals found for ${symbol}.`);
|
|
2744
|
+
}
|
|
2745
|
+
const dexMetaAndCtxs = await fetchHyperliquidDexMetaAndAssetCtxs(environment, dex);
|
|
2746
|
+
const dexUniverse = Array.isArray(dexMetaAndCtxs?.[0]?.universe) ? dexMetaAndCtxs[0].universe : [];
|
|
2747
|
+
const dexMatch = dexUniverse.find(
|
|
2748
|
+
(entry) => normalizeHyperliquidMetaSymbol(entry?.name ?? "").toUpperCase() === normalized
|
|
2749
|
+
);
|
|
2750
|
+
const dexSizeDecimals = readHyperliquidNumber(dexMatch?.szDecimals);
|
|
2751
|
+
if (dexSizeDecimals == null) {
|
|
2738
2752
|
throw new Error(`No size decimals found for ${symbol}.`);
|
|
2739
2753
|
}
|
|
2740
|
-
return
|
|
2754
|
+
return dexSizeDecimals;
|
|
2741
2755
|
}
|
|
2742
2756
|
|
|
2743
2757
|
// src/adapters/hyperliquid/order-utils.ts
|
|
@@ -2818,6 +2832,31 @@ var StringMath = {
|
|
|
2818
2832
|
}
|
|
2819
2833
|
return digits.join("").replace(/^0+(?=\d)/, "") || "0";
|
|
2820
2834
|
},
|
|
2835
|
+
toPrecisionDirectional(value, precision, mode) {
|
|
2836
|
+
if (!Number.isInteger(precision) || precision < 1) {
|
|
2837
|
+
throw new RangeError("Precision must be a positive integer.");
|
|
2838
|
+
}
|
|
2839
|
+
if (/^-?0+(\.0*)?$/.test(value)) return "0";
|
|
2840
|
+
const negative = value.startsWith("-");
|
|
2841
|
+
const abs = negative ? value.slice(1) : value;
|
|
2842
|
+
const magnitude = StringMath.log10Floor(abs);
|
|
2843
|
+
const shiftAmount = precision - magnitude - 1;
|
|
2844
|
+
const shifted = StringMath.multiplyByPow10(abs, shiftAmount);
|
|
2845
|
+
const rounded = StringMath.roundInteger(shifted, mode);
|
|
2846
|
+
const shiftedBack = StringMath.multiplyByPow10(rounded, -shiftAmount);
|
|
2847
|
+
return normalizeDecimalString(negative ? `-${shiftedBack}` : shiftedBack);
|
|
2848
|
+
},
|
|
2849
|
+
toFixedDirectional(value, decimals, mode) {
|
|
2850
|
+
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
2851
|
+
throw new RangeError("Decimals must be a non-negative integer.");
|
|
2852
|
+
}
|
|
2853
|
+
if (decimals === 0) {
|
|
2854
|
+
return normalizeDecimalString(StringMath.roundInteger(value, mode));
|
|
2855
|
+
}
|
|
2856
|
+
const shifted = StringMath.multiplyByPow10(value, decimals);
|
|
2857
|
+
const rounded = StringMath.roundInteger(shifted, mode);
|
|
2858
|
+
return normalizeDecimalString(StringMath.multiplyByPow10(rounded, -decimals));
|
|
2859
|
+
},
|
|
2821
2860
|
toPrecisionTruncate(value, precision) {
|
|
2822
2861
|
if (!Number.isInteger(precision) || precision < 1) {
|
|
2823
2862
|
throw new RangeError("Precision must be a positive integer.");
|
|
@@ -2902,6 +2941,26 @@ function formatHyperliquidSize(size, szDecimals) {
|
|
|
2902
2941
|
}
|
|
2903
2942
|
return truncated;
|
|
2904
2943
|
}
|
|
2944
|
+
function resolveSizeDecimals(value) {
|
|
2945
|
+
if (typeof value !== "number" || !Number.isFinite(value)) return 8;
|
|
2946
|
+
return Math.max(0, Math.min(8, Math.floor(value)));
|
|
2947
|
+
}
|
|
2948
|
+
function formatDirectionalHyperliquidPrice(price, params) {
|
|
2949
|
+
const normalized = price.toString().trim();
|
|
2950
|
+
assertNumberString(normalized);
|
|
2951
|
+
if (/^-?\d+$/.test(normalized)) {
|
|
2952
|
+
return normalizeDecimalString(normalized);
|
|
2953
|
+
}
|
|
2954
|
+
const szDecimals = resolveSizeDecimals(params.szDecimals);
|
|
2955
|
+
const maxDecimals2 = Math.max((params.marketType === "perp" ? 6 : 8) - szDecimals, 0);
|
|
2956
|
+
const decimalsAdjusted = StringMath.toFixedDirectional(normalized, maxDecimals2, params.mode);
|
|
2957
|
+
const sigFigAdjusted = StringMath.toPrecisionDirectional(
|
|
2958
|
+
decimalsAdjusted,
|
|
2959
|
+
5,
|
|
2960
|
+
params.mode
|
|
2961
|
+
);
|
|
2962
|
+
return sigFigAdjusted === "0" ? null : sigFigAdjusted;
|
|
2963
|
+
}
|
|
2905
2964
|
function roundHyperliquidPriceToTick(price, tick, side) {
|
|
2906
2965
|
if (!Number.isFinite(tick.tickDecimals) || tick.tickDecimals < 0) {
|
|
2907
2966
|
throw new Error("tick.tickDecimals must be a non-negative number.");
|
|
@@ -2924,13 +2983,25 @@ function roundHyperliquidPriceToTick(price, tick, side) {
|
|
|
2924
2983
|
return formatScaledDecimal(rounded, tick.tickDecimals);
|
|
2925
2984
|
}
|
|
2926
2985
|
function formatHyperliquidMarketablePrice(params) {
|
|
2927
|
-
const { mid, side, slippageBps, tick } = params;
|
|
2986
|
+
const { mid, side, slippageBps, tick, szDecimals, marketType = "perp" } = params;
|
|
2928
2987
|
if (!Number.isFinite(mid) || mid <= 0) {
|
|
2929
2988
|
throw new Error("mid must be a positive number.");
|
|
2930
2989
|
}
|
|
2931
2990
|
if (!Number.isFinite(slippageBps) || slippageBps < 0) {
|
|
2932
2991
|
throw new Error("slippageBps must be a non-negative number.");
|
|
2933
2992
|
}
|
|
2993
|
+
const adjustedMid = mid * (side === "buy" ? 1 + slippageBps / 1e4 : 1 - slippageBps / 1e4);
|
|
2994
|
+
if (typeof szDecimals === "number" && Number.isFinite(szDecimals)) {
|
|
2995
|
+
const formatted = formatDirectionalHyperliquidPrice(adjustedMid, {
|
|
2996
|
+
szDecimals,
|
|
2997
|
+
marketType,
|
|
2998
|
+
mode: side === "buy" ? "up" : "down"
|
|
2999
|
+
});
|
|
3000
|
+
if (!formatted) {
|
|
3001
|
+
throw new RangeError("Marketable price is too small and was truncated to 0.");
|
|
3002
|
+
}
|
|
3003
|
+
return formatted;
|
|
3004
|
+
}
|
|
2934
3005
|
const midString = normalizeDecimalString(mid.toString());
|
|
2935
3006
|
const baseDecimals = countDecimalPlaces(midString);
|
|
2936
3007
|
const workDecimals = Math.max(baseDecimals + 4, tick?.tickDecimals ?? 0, 8);
|
|
@@ -2939,12 +3010,12 @@ function formatHyperliquidMarketablePrice(params) {
|
|
|
2939
3010
|
side === "buy" ? 1e4 + slippageBps : 1e4 - slippageBps
|
|
2940
3011
|
);
|
|
2941
3012
|
const adjustedScaled = side === "buy" ? ceilDiv(scaledMid * slippageNumerator, 10000n) : scaledMid * slippageNumerator / 10000n;
|
|
2942
|
-
const
|
|
3013
|
+
const adjustedString = formatScaledDecimal(adjustedScaled, workDecimals);
|
|
2943
3014
|
if (tick) {
|
|
2944
|
-
return roundHyperliquidPriceToTick(
|
|
3015
|
+
return roundHyperliquidPriceToTick(adjustedString, tick, side);
|
|
2945
3016
|
}
|
|
2946
3017
|
const roundedScaled = scaleDecimalToInt(
|
|
2947
|
-
|
|
3018
|
+
adjustedString,
|
|
2948
3019
|
baseDecimals,
|
|
2949
3020
|
side === "buy" ? "up" : "down"
|
|
2950
3021
|
);
|
|
@@ -3047,7 +3118,9 @@ async function buildTpSlChildOrder(params) {
|
|
|
3047
3118
|
mid: triggerPxNumeric,
|
|
3048
3119
|
side: childSide,
|
|
3049
3120
|
slippageBps: params.triggerMarketSlippageBps,
|
|
3050
|
-
tick
|
|
3121
|
+
tick,
|
|
3122
|
+
szDecimals,
|
|
3123
|
+
marketType
|
|
3051
3124
|
});
|
|
3052
3125
|
return {
|
|
3053
3126
|
symbol: params.symbol,
|