opentool 0.19.3 → 0.19.4
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 +83 -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 +83 -3
- package/dist/adapters/hyperliquid/index.js.map +1 -1
- package/dist/{browser-CnpOj35m.d.ts → browser-DxqvU3eA.d.ts} +11 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.js +83 -3
- 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,7 +1,7 @@
|
|
|
1
1
|
import { h as WalletFullContext } from '../../types-BaTmu0gS.js';
|
|
2
2
|
import { StoreOptions, StoreResponse } from '../../store/index.js';
|
|
3
|
-
import { k as HyperliquidEnvironment, bb as NonceSource, x as HyperliquidOrderIntent, n as HyperliquidGrouping, bc as toApiDecimal, bd as createL1ActionHash, be as splitSignature } from '../../browser-
|
|
4
|
-
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, f as HyperliquidApproximateLiquidationParams, g as HyperliquidBar, h as HyperliquidBarResolution, i as HyperliquidBuilderApprovalError, j as HyperliquidBuilderFee, l as HyperliquidExchangeClient, m as HyperliquidExchangeResponse, o as HyperliquidGuardError, p as HyperliquidHip3Dex, q as HyperliquidIndicatorBar, r as HyperliquidInfoClient, s as HyperliquidMarketDescriptor, t as HyperliquidMarketDescriptorInput, u as HyperliquidMarketIdentityInput, v as HyperliquidMarketType, w as HyperliquidOpenOrderLike, y as HyperliquidParsedSymbol, z as HyperliquidParsedSymbolKind, A as HyperliquidPerpMarketInfo, B as HyperliquidPlaceOrderWithTpSlOptions, C as HyperliquidPlacePositionTpSlOptions, E as HyperliquidProfileAsset, F as HyperliquidProfileAssetInput, G as HyperliquidProfileChain, I as HyperliquidResolvedMarketDescriptor, J as HyperliquidSpotMarketInfo, K as HyperliquidTermsError, L as HyperliquidTickSize, M as HyperliquidTimeInForce, N as HyperliquidTpSlExecutionType, O as HyperliquidTpSlLegInput, P as HyperliquidTriggerOptions, Q as HyperliquidTriggerType, R as MarketIdentity, _ as __hyperliquidMarketDataInternals, S as batchModifyHyperliquidOrders, T as buildHyperliquidMarketDescriptor, U as buildHyperliquidMarketIdentity, V as buildHyperliquidProfileAssets, W as buildHyperliquidSpotUsdPriceMap, X as cancelAllHyperliquidOrders, Y as cancelHyperliquidOrders, Z as cancelHyperliquidOrdersByCloid, $ as cancelHyperliquidTwapOrder, a0 as computeHyperliquidMarketIocLimitPrice, a1 as createHyperliquidSubAccount, a2 as createMonotonicNonceFactory, a3 as estimateHyperliquidLiquidationPrice, a4 as extractHyperliquidDex, a5 as extractHyperliquidOrderIds, a6 as fetchHyperliquidActiveAsset, a7 as fetchHyperliquidAllMids, a8 as fetchHyperliquidAssetCtxs, a9 as fetchHyperliquidBars, aa as fetchHyperliquidDexMeta, 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, ak as fetchHyperliquidPerpMarketInfo, al as fetchHyperliquidPreTransferCheck, am as fetchHyperliquidResolvedMarketDescriptor, an as fetchHyperliquidSizeDecimals, ao as fetchHyperliquidSpotAccountValue, ap as fetchHyperliquidSpotAssetCtxs, aq as fetchHyperliquidSpotClearinghouseState, ar as fetchHyperliquidSpotMarketInfo, as as fetchHyperliquidSpotMeta, at as fetchHyperliquidSpotMetaAndAssetCtxs, au as fetchHyperliquidSpotTickSize, av as fetchHyperliquidSpotUsdPriceMap, aw as fetchHyperliquidTickSize, ax as fetchHyperliquidUserFills, ay as fetchHyperliquidUserFillsByTime, az as fetchHyperliquidUserRateLimit, aA as formatHyperliquidMarketablePrice, aB as formatHyperliquidOrderSize, aC as formatHyperliquidPrice, aD as formatHyperliquidSize, aE as getKnownHyperliquidDexes, aF as isHyperliquidSpotSymbol, aG as modifyHyperliquidOrder, aH as normalizeHyperliquidBaseSymbol, aI as normalizeHyperliquidIndicatorBars, aJ as normalizeHyperliquidMetaSymbol, aK as normalizeSpotTokenName, aL as parseHyperliquidSymbol, aM as parseSpotPairSymbol, aN as placeHyperliquidOrderWithTpSl, aO as placeHyperliquidPositionTpSl, aP as placeHyperliquidTwapOrder, aQ as reserveHyperliquidRequestWeight, aR as resolveHyperliquidAbstractionFromMode, aS as resolveHyperliquidErrorDetail, aT as resolveHyperliquidLeverageMode, aU as resolveHyperliquidMarketDataCoin, aV as resolveHyperliquidOrderRef, aW as resolveHyperliquidOrderSymbol, aX as resolveHyperliquidPair, aY as resolveHyperliquidPerpSymbol, aZ as resolveHyperliquidProfileChain, a_ as resolveHyperliquidSpotSymbol, a$ as resolveHyperliquidSymbol, b0 as resolveSpotMidCandidates, b1 as resolveSpotTokenCandidates, b2 as roundHyperliquidPriceToTick, b3 as scheduleHyperliquidCancel, b4 as sendHyperliquidSpot, b5 as setHyperliquidAccountAbstractionMode, b6 as setHyperliquidPortfolioMargin, b7 as supportsHyperliquidBuilderFee, b8 as transferHyperliquidSubAccount, b9 as updateHyperliquidIsolatedMargin, ba as updateHyperliquidLeverage } from '../../browser-
|
|
3
|
+
import { k as HyperliquidEnvironment, bb as NonceSource, x as HyperliquidOrderIntent, n as HyperliquidGrouping, bc as toApiDecimal, bd as createL1ActionHash, be as splitSignature } from '../../browser-DxqvU3eA.js';
|
|
4
|
+
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, f as HyperliquidApproximateLiquidationParams, g as HyperliquidBar, h as HyperliquidBarResolution, i as HyperliquidBuilderApprovalError, j as HyperliquidBuilderFee, l as HyperliquidExchangeClient, m as HyperliquidExchangeResponse, o as HyperliquidGuardError, p as HyperliquidHip3Dex, q as HyperliquidIndicatorBar, r as HyperliquidInfoClient, s as HyperliquidMarketDescriptor, t as HyperliquidMarketDescriptorInput, u as HyperliquidMarketIdentityInput, v as HyperliquidMarketType, w as HyperliquidOpenOrderLike, y as HyperliquidParsedSymbol, z as HyperliquidParsedSymbolKind, A as HyperliquidPerpMarketInfo, B as HyperliquidPlaceOrderWithTpSlOptions, C as HyperliquidPlacePositionTpSlOptions, E as HyperliquidProfileAsset, F as HyperliquidProfileAssetInput, G as HyperliquidProfileChain, I as HyperliquidResolvedMarketDescriptor, J as HyperliquidSpotMarketInfo, K as HyperliquidTermsError, L as HyperliquidTickSize, M as HyperliquidTimeInForce, N as HyperliquidTpSlExecutionType, O as HyperliquidTpSlLegInput, P as HyperliquidTriggerOptions, Q as HyperliquidTriggerType, R as MarketIdentity, _ as __hyperliquidMarketDataInternals, S as batchModifyHyperliquidOrders, T as buildHyperliquidMarketDescriptor, U as buildHyperliquidMarketIdentity, V as buildHyperliquidProfileAssets, W as buildHyperliquidSpotUsdPriceMap, X as cancelAllHyperliquidOrders, Y as cancelHyperliquidOrders, Z as cancelHyperliquidOrdersByCloid, $ as cancelHyperliquidTwapOrder, a0 as computeHyperliquidMarketIocLimitPrice, a1 as createHyperliquidSubAccount, a2 as createMonotonicNonceFactory, a3 as estimateHyperliquidLiquidationPrice, a4 as extractHyperliquidDex, a5 as extractHyperliquidOrderIds, a6 as fetchHyperliquidActiveAsset, a7 as fetchHyperliquidAllMids, a8 as fetchHyperliquidAssetCtxs, a9 as fetchHyperliquidBars, aa as fetchHyperliquidDexMeta, 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, ak as fetchHyperliquidPerpMarketInfo, al as fetchHyperliquidPreTransferCheck, am as fetchHyperliquidResolvedMarketDescriptor, an as fetchHyperliquidSizeDecimals, ao as fetchHyperliquidSpotAccountValue, ap as fetchHyperliquidSpotAssetCtxs, aq as fetchHyperliquidSpotClearinghouseState, ar as fetchHyperliquidSpotMarketInfo, as as fetchHyperliquidSpotMeta, at as fetchHyperliquidSpotMetaAndAssetCtxs, au as fetchHyperliquidSpotTickSize, av as fetchHyperliquidSpotUsdPriceMap, aw as fetchHyperliquidTickSize, ax as fetchHyperliquidUserFills, ay as fetchHyperliquidUserFillsByTime, az as fetchHyperliquidUserRateLimit, aA as formatHyperliquidMarketablePrice, aB as formatHyperliquidOrderSize, aC as formatHyperliquidPrice, aD as formatHyperliquidSize, aE as getKnownHyperliquidDexes, aF as isHyperliquidSpotSymbol, aG as modifyHyperliquidOrder, aH as normalizeHyperliquidBaseSymbol, aI as normalizeHyperliquidIndicatorBars, aJ as normalizeHyperliquidMetaSymbol, aK as normalizeSpotTokenName, aL as parseHyperliquidSymbol, aM as parseSpotPairSymbol, aN as placeHyperliquidOrderWithTpSl, aO as placeHyperliquidPositionTpSl, aP as placeHyperliquidTwapOrder, aQ as reserveHyperliquidRequestWeight, aR as resolveHyperliquidAbstractionFromMode, aS as resolveHyperliquidErrorDetail, aT as resolveHyperliquidLeverageMode, aU as resolveHyperliquidMarketDataCoin, aV as resolveHyperliquidOrderRef, aW as resolveHyperliquidOrderSymbol, aX as resolveHyperliquidPair, aY as resolveHyperliquidPerpSymbol, aZ as resolveHyperliquidProfileChain, a_ as resolveHyperliquidSpotSymbol, a$ as resolveHyperliquidSymbol, b0 as resolveSpotMidCandidates, b1 as resolveSpotTokenCandidates, b2 as roundHyperliquidPriceToTick, b3 as scheduleHyperliquidCancel, b4 as sendHyperliquidSpot, b5 as setHyperliquidAccountAbstractionMode, b6 as setHyperliquidPortfolioMargin, b7 as supportsHyperliquidBuilderFee, b8 as transferHyperliquidSubAccount, b9 as updateHyperliquidIsolatedMargin, ba as updateHyperliquidLeverage } from '../../browser-DxqvU3eA.js';
|
|
5
5
|
import 'viem';
|
|
6
6
|
import 'viem/accounts';
|
|
7
7
|
|
|
@@ -1210,6 +1210,16 @@ function mergeHyperliquidOpenOrders(batches) {
|
|
|
1210
1210
|
}
|
|
1211
1211
|
return [...merged.values()];
|
|
1212
1212
|
}
|
|
1213
|
+
function applyHyperliquidOpenOrderDexContext(orders, dex) {
|
|
1214
|
+
const resolvedDex = typeof dex === "string" && dex.trim().length > 0 ? dex.trim().toLowerCase() : null;
|
|
1215
|
+
return orders.map((order) => {
|
|
1216
|
+
const existingDex = typeof order.dex === "string" && order.dex.trim().length > 0 ? order.dex.trim().toLowerCase() : null;
|
|
1217
|
+
return {
|
|
1218
|
+
...order,
|
|
1219
|
+
dex: existingDex ?? resolvedDex
|
|
1220
|
+
};
|
|
1221
|
+
});
|
|
1222
|
+
}
|
|
1213
1223
|
function readNumber(value) {
|
|
1214
1224
|
if (typeof value === "number") {
|
|
1215
1225
|
return Number.isFinite(value) ? value : null;
|
|
@@ -1328,19 +1338,21 @@ async function fetchHyperliquidSpotAssetCtxs(environment = "mainnet") {
|
|
|
1328
1338
|
}
|
|
1329
1339
|
async function fetchHyperliquidOpenOrders(params) {
|
|
1330
1340
|
const env = params.environment ?? "mainnet";
|
|
1331
|
-
|
|
1341
|
+
const orders = await postInfo(env, {
|
|
1332
1342
|
type: "openOrders",
|
|
1333
1343
|
user: normalizeAddress(params.user),
|
|
1334
1344
|
...params.dex ? { dex: params.dex.trim().toLowerCase() } : {}
|
|
1335
1345
|
});
|
|
1346
|
+
return applyHyperliquidOpenOrderDexContext(orders, params.dex);
|
|
1336
1347
|
}
|
|
1337
1348
|
async function fetchHyperliquidFrontendOpenOrders(params) {
|
|
1338
1349
|
const env = params.environment ?? "mainnet";
|
|
1339
|
-
|
|
1350
|
+
const orders = await postInfo(env, {
|
|
1340
1351
|
type: "frontendOpenOrders",
|
|
1341
1352
|
user: normalizeAddress(params.user),
|
|
1342
1353
|
...params.dex ? { dex: params.dex.trim().toLowerCase() } : {}
|
|
1343
1354
|
});
|
|
1355
|
+
return applyHyperliquidOpenOrderDexContext(orders, params.dex);
|
|
1344
1356
|
}
|
|
1345
1357
|
async function fetchHyperliquidOrderStatus(params) {
|
|
1346
1358
|
const env = params.environment ?? "mainnet";
|
|
@@ -1451,6 +1463,8 @@ async function fetchHyperliquidActiveAsset(params) {
|
|
|
1451
1463
|
}
|
|
1452
1464
|
|
|
1453
1465
|
// src/adapters/hyperliquid/exchange.ts
|
|
1466
|
+
var DEFAULT_HYPERLIQUID_LEVERAGE_VERIFY_ATTEMPTS = 4;
|
|
1467
|
+
var DEFAULT_HYPERLIQUID_LEVERAGE_VERIFY_DELAY_MS = 250;
|
|
1454
1468
|
function resolveRequiredExchangeNonce(options) {
|
|
1455
1469
|
if (typeof options.nonce === "number") {
|
|
1456
1470
|
return options.nonce;
|
|
@@ -1461,6 +1475,51 @@ function resolveRequiredExchangeNonce(options) {
|
|
|
1461
1475
|
}
|
|
1462
1476
|
return resolved;
|
|
1463
1477
|
}
|
|
1478
|
+
function sleep(ms) {
|
|
1479
|
+
return new Promise((resolve) => {
|
|
1480
|
+
setTimeout(resolve, ms);
|
|
1481
|
+
});
|
|
1482
|
+
}
|
|
1483
|
+
function normalizeReportedLeverageMode(value) {
|
|
1484
|
+
if (!value) return null;
|
|
1485
|
+
const normalized = value.trim().toLowerCase();
|
|
1486
|
+
if (normalized === "cross" || normalized === "isolated") {
|
|
1487
|
+
return normalized;
|
|
1488
|
+
}
|
|
1489
|
+
return null;
|
|
1490
|
+
}
|
|
1491
|
+
function resolveLeverageVerificationUser(options) {
|
|
1492
|
+
return normalizeAddress(
|
|
1493
|
+
options.input.verifyUser ?? options.vaultAddress ?? options.wallet.address
|
|
1494
|
+
);
|
|
1495
|
+
}
|
|
1496
|
+
async function verifyAppliedHyperliquidLeverage(params) {
|
|
1497
|
+
const attempts = typeof params.attempts === "number" && Number.isFinite(params.attempts) && params.attempts > 0 ? Math.max(1, Math.floor(params.attempts)) : DEFAULT_HYPERLIQUID_LEVERAGE_VERIFY_ATTEMPTS;
|
|
1498
|
+
const delayMs = typeof params.delayMs === "number" && Number.isFinite(params.delayMs) && params.delayMs >= 0 ? Math.max(0, Math.floor(params.delayMs)) : DEFAULT_HYPERLIQUID_LEVERAGE_VERIFY_DELAY_MS;
|
|
1499
|
+
let lastReportedLeverage = null;
|
|
1500
|
+
let lastReportedMode = null;
|
|
1501
|
+
for (let index = 0; index < attempts; index += 1) {
|
|
1502
|
+
const asset = await fetchHyperliquidActiveAsset({
|
|
1503
|
+
environment: params.environment,
|
|
1504
|
+
user: params.user,
|
|
1505
|
+
symbol: params.symbol
|
|
1506
|
+
});
|
|
1507
|
+
lastReportedLeverage = asset.leverage;
|
|
1508
|
+
lastReportedMode = normalizeReportedLeverageMode(asset.leverageType);
|
|
1509
|
+
const leverageMatches = asset.leverage === params.leverage;
|
|
1510
|
+
const modeMatches = lastReportedMode == null || lastReportedMode === params.leverageMode;
|
|
1511
|
+
if (leverageMatches && modeMatches) {
|
|
1512
|
+
return asset;
|
|
1513
|
+
}
|
|
1514
|
+
if (index < attempts - 1 && delayMs > 0) {
|
|
1515
|
+
await sleep(delayMs);
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
const reportedLabel = lastReportedLeverage != null ? `${lastReportedLeverage}x${lastReportedMode ? ` ${lastReportedMode}` : ""}` : "unknown leverage";
|
|
1519
|
+
throw new Error(
|
|
1520
|
+
`Hyperliquid still reports ${reportedLabel} for ${params.symbol} after requesting ${params.leverage}x ${params.leverageMode}.`
|
|
1521
|
+
);
|
|
1522
|
+
}
|
|
1464
1523
|
var HyperliquidExchangeClient = class {
|
|
1465
1524
|
constructor(args) {
|
|
1466
1525
|
this.wallet = args.wallet;
|
|
@@ -1810,7 +1869,20 @@ async function updateHyperliquidLeverage(options) {
|
|
|
1810
1869
|
isCross: options.input.leverageMode === "cross",
|
|
1811
1870
|
leverage: options.input.leverage
|
|
1812
1871
|
};
|
|
1813
|
-
|
|
1872
|
+
const response = await submitExchangeAction(options, action);
|
|
1873
|
+
if (options.input.verifyApplied === false) {
|
|
1874
|
+
return response;
|
|
1875
|
+
}
|
|
1876
|
+
await verifyAppliedHyperliquidLeverage({
|
|
1877
|
+
environment: env,
|
|
1878
|
+
user: resolveLeverageVerificationUser(options),
|
|
1879
|
+
symbol: options.input.symbol,
|
|
1880
|
+
leverage: options.input.leverage,
|
|
1881
|
+
leverageMode: options.input.leverageMode,
|
|
1882
|
+
...typeof options.input.verifyAttempts === "number" ? { attempts: options.input.verifyAttempts } : {},
|
|
1883
|
+
...typeof options.input.verifyDelayMs === "number" ? { delayMs: options.input.verifyDelayMs } : {}
|
|
1884
|
+
});
|
|
1885
|
+
return response;
|
|
1814
1886
|
}
|
|
1815
1887
|
async function updateHyperliquidIsolatedMargin(options) {
|
|
1816
1888
|
assertSymbol(options.input.symbol);
|
|
@@ -3367,6 +3439,13 @@ function toPositiveNumber(value, label) {
|
|
|
3367
3439
|
function normalizeExecutionType(value) {
|
|
3368
3440
|
return value ?? "market";
|
|
3369
3441
|
}
|
|
3442
|
+
function assertSupportedParentOrder(parent) {
|
|
3443
|
+
if (parent.reduceOnly) {
|
|
3444
|
+
throw new Error(
|
|
3445
|
+
"Reduce-only parent orders are not supported with attached TP/SL. Use placeHyperliquidPositionTpSl for existing positions."
|
|
3446
|
+
);
|
|
3447
|
+
}
|
|
3448
|
+
}
|
|
3370
3449
|
function resolveTriggerDirection(params) {
|
|
3371
3450
|
const isLong = params.parentSide === "buy";
|
|
3372
3451
|
if (params.leg === "tp") {
|
|
@@ -3474,6 +3553,7 @@ async function buildAttachedTpSlOrders(params) {
|
|
|
3474
3553
|
return legs.filter((entry) => Boolean(entry));
|
|
3475
3554
|
}
|
|
3476
3555
|
async function placeHyperliquidOrderWithTpSl(options) {
|
|
3556
|
+
assertSupportedParentOrder(options.parent);
|
|
3477
3557
|
const env = options.environment ?? "mainnet";
|
|
3478
3558
|
const childOrders = await buildAttachedTpSlOrders({
|
|
3479
3559
|
symbol: options.parent.symbol,
|