opentool 0.8.20 → 0.8.22
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/index.d.ts +53 -1
- package/dist/adapters/hyperliquid/index.js +283 -1
- package/dist/adapters/hyperliquid/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +283 -1
- package/dist/index.js.map +1 -1
- package/dist/store/index.d.ts +1 -0
- package/dist/store/index.js +11 -0
- package/dist/store/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/base/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { I as InternalToolDefinition, T as ToolResponse } from './validate-C4a9t
|
|
|
3
3
|
export { B as BuildConfig, m as BuildMetadata, p as ConnectedApp, C as CronSpec, r as GetHandler, H as HTTP_METHODS, f as HttpHandlerDefinition, e as HttpMethod, h as McpConfig, M as Metadata, N as NormalizedSchedule, P as PaymentConfig, s as PostHandler, S as ScheduleType, i as ServerConfig, j as Tool, o as ToolAsset, n as ToolCategory, d as ToolContent, k as ToolMetadataOverrides, w as ToolModule, t as ToolModuleGET, u as ToolModulePOST, q as ToolProfile, b as generateMetadata, g as generateMetadataCommand, l as loadAndValidateTools, v as validateCommand } from './validate-C4a9tmrQ.js';
|
|
4
4
|
export { CurrencySpec, DEFAULT_FACILITATOR, DefineX402PaymentConfig, EIP3009Authorization, PAYMENT_HEADERS, RequireX402PaymentOptions, RequireX402PaymentOutcome, RequireX402PaymentSuccess, SUPPORTED_CURRENCIES, X402BrowserClient, X402BrowserClientConfig, X402Client, X402ClientConfig, X402FacilitatorConfig, X402PayRequest, X402PayResult, X402Payment, X402PaymentContext, X402PaymentDefinition, X402PaymentRequiredError, X402VerificationResult, defineX402Payment, getX402PaymentContext, payX402, payX402WithWallet, requireX402Payment, withX402Payment } from './x402/index.js';
|
|
5
5
|
export { DEFAULT_CHAIN, DEFAULT_TOKENS, chains, getRpcUrl, registry, tokens, wallet, walletToolkit } from './wallet/index.js';
|
|
6
|
-
export { HyperliquidApiError, HyperliquidApproveBuilderFeeOptions, HyperliquidApproveBuilderFeeResponse, HyperliquidBuilderApprovalError, HyperliquidBuilderApprovalRecordInput, HyperliquidBuilderFee, HyperliquidClearinghouseState, HyperliquidDepositResult, HyperliquidEnvironment, HyperliquidExchangeClient, HyperliquidExchangeResponse, HyperliquidGrouping, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidOrderIntent, HyperliquidOrderOptions, HyperliquidOrderResponse, HyperliquidOrderStatus, HyperliquidTermsError, HyperliquidTermsRecordInput, HyperliquidTriggerOptions, HyperliquidTriggerType, HyperliquidWithdrawResult, NonceSource, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, cancelAllHyperliquidOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, createHyperliquidSubAccount, createMonotonicNonceFactory, depositToHyperliquidBridge, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, getHyperliquidMaxBuilderFee, modifyHyperliquidOrder, placeHyperliquidOrder, placeHyperliquidTwapOrder, recordHyperliquidBuilderApproval, recordHyperliquidTermsAcceptance, reserveHyperliquidRequestWeight, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidPortfolioMargin, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, withdrawFromHyperliquid } from './adapters/hyperliquid/index.js';
|
|
6
|
+
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, HyperliquidAbstraction, HyperliquidAccountMode, HyperliquidApiError, HyperliquidApproveBuilderFeeOptions, HyperliquidApproveBuilderFeeResponse, HyperliquidBuilderApprovalError, HyperliquidBuilderApprovalRecordInput, HyperliquidBuilderFee, HyperliquidClearinghouseState, HyperliquidDepositResult, HyperliquidEnvironment, HyperliquidExchangeClient, HyperliquidExchangeResponse, HyperliquidGrouping, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidMarketIdentityInput, HyperliquidOrderIntent, HyperliquidOrderOptions, HyperliquidOrderResponse, HyperliquidOrderStatus, HyperliquidTermsError, HyperliquidTermsRecordInput, HyperliquidTimeInForce, HyperliquidTriggerOptions, HyperliquidTriggerType, HyperliquidWithdrawResult, MarketIdentity, NonceSource, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, buildHyperliquidMarketIdentity, cancelAllHyperliquidOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, computeHyperliquidMarketIocLimitPrice, createHyperliquidSubAccount, createMonotonicNonceFactory, depositToHyperliquidBridge, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, getHyperliquidMaxBuilderFee, modifyHyperliquidOrder, placeHyperliquidOrder, placeHyperliquidTwapOrder, recordHyperliquidBuilderApproval, recordHyperliquidTermsAcceptance, reserveHyperliquidRequestWeight, resolveHyperliquidAbstractionFromMode, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidAccountAbstractionMode, setHyperliquidDexAbstraction, setHyperliquidPortfolioMargin, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, withdrawFromHyperliquid } from './adapters/hyperliquid/index.js';
|
|
7
7
|
import { c as WalletFullContext } from './types-BVLpaY4O.js';
|
|
8
8
|
export { C as ChainMetadata, i as ChainReference, a as ChainTokenMap, H as Hex, g as HexAddress, R as RpcProviderOptions, h as RpcUrlResolver, T as TokenMetadata, l as TurnkeyOptions, k as TurnkeySignWith, r as WalletBaseContext, s as WalletContext, n as WalletOptions, m as WalletOptionsBase, b as WalletPrivateKeyOptions, j as WalletProviderType, f as WalletReadonlyContext, e as WalletReadonlyOptions, W as WalletRegistry, o as WalletSendTransactionParams, q as WalletSignerContext, p as WalletTransferParams, d as WalletTurnkeyOptions } from './types-BVLpaY4O.js';
|
|
9
9
|
export { AIAbortError, AIClientConfig, AIError, AIFetchError, AIRequestMetadata, AIResponseError, ChatCompletionChoice, ChatCompletionLogProbs, ChatCompletionResponse, ChatCompletionUsage, ChatMessage, ChatMessageContentPart, ChatMessageContentPartImageUrl, ChatMessageContentPartText, ChatMessageRole, DEFAULT_BASE_URL, DEFAULT_MODEL, DEFAULT_TIMEOUT_MS, FunctionToolDefinition, GenerateTextOptions, GenerateTextResult, GenerationParameters, JsonSchema, ResolvedAIClientConfig, ResponseErrorDetails, StreamTextOptions, StreamTextResult, StreamingEventHandlers, ToolChoice, ToolDefinition, ToolExecutionPolicy, WEBSEARCH_TOOL_DEFINITION, WEBSEARCH_TOOL_NAME, WebSearchOptions, createAIClient, ensureTextContent, flattenMessageContent, generateText, getModelConfig, isStreamingSupported, isToolCallingSupported, listModels, normalizeModelName, resolveConfig, resolveToolset, streamText } from './ai/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1634,6 +1634,14 @@ var StoreError = class extends Error {
|
|
|
1634
1634
|
this.name = "StoreError";
|
|
1635
1635
|
}
|
|
1636
1636
|
};
|
|
1637
|
+
var requiresMarketIdentity = (input) => {
|
|
1638
|
+
const action = (input.action ?? "").toLowerCase();
|
|
1639
|
+
if (action === "order" || action === "swap" || action === "trade") return true;
|
|
1640
|
+
return false;
|
|
1641
|
+
};
|
|
1642
|
+
var hasMarketIdentity = (value) => {
|
|
1643
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
1644
|
+
};
|
|
1637
1645
|
function resolveConfig(options) {
|
|
1638
1646
|
const baseUrl = options?.baseUrl ?? process.env.BASE_URL ?? "https://api.openpond.ai";
|
|
1639
1647
|
const apiKey = options?.apiKey ?? process.env.OPENPOND_API_KEY;
|
|
@@ -1685,6 +1693,9 @@ async function requestJson(url, options, init) {
|
|
|
1685
1693
|
}
|
|
1686
1694
|
}
|
|
1687
1695
|
async function store(input, options) {
|
|
1696
|
+
if (requiresMarketIdentity(input) && !hasMarketIdentity(input.market)) {
|
|
1697
|
+
throw new StoreError("market is required for trade events");
|
|
1698
|
+
}
|
|
1688
1699
|
const { baseUrl, apiKey, fetchFn } = resolveConfig(options);
|
|
1689
1700
|
const url = `${baseUrl}/apps/positions/tx`;
|
|
1690
1701
|
let response;
|
|
@@ -1833,6 +1844,112 @@ var BUILDER_CODE = {
|
|
|
1833
1844
|
};
|
|
1834
1845
|
var metaCache = /* @__PURE__ */ new Map();
|
|
1835
1846
|
var perpDexsCache = /* @__PURE__ */ new Map();
|
|
1847
|
+
var UNKNOWN_SYMBOL = "UNKNOWN";
|
|
1848
|
+
var extractDexPrefix = (value) => {
|
|
1849
|
+
if (!value) return null;
|
|
1850
|
+
const trimmed = value.trim();
|
|
1851
|
+
if (!trimmed) return null;
|
|
1852
|
+
if (!trimmed.includes(":")) return null;
|
|
1853
|
+
if (trimmed.startsWith("@")) return null;
|
|
1854
|
+
const [prefix] = trimmed.split(":");
|
|
1855
|
+
const dex = prefix?.trim().toLowerCase() ?? "";
|
|
1856
|
+
return dex || null;
|
|
1857
|
+
};
|
|
1858
|
+
var normalizeHyperliquidBase = (value) => {
|
|
1859
|
+
if (!value) return null;
|
|
1860
|
+
const trimmed = value.trim();
|
|
1861
|
+
if (!trimmed) return null;
|
|
1862
|
+
const withoutDex = trimmed.includes(":") ? trimmed.split(":").slice(1).join(":") : trimmed;
|
|
1863
|
+
const base2 = withoutDex.split("-")[0] ?? withoutDex;
|
|
1864
|
+
const normalized = (base2.split("/")[0] ?? base2).trim().toUpperCase();
|
|
1865
|
+
if (!normalized || normalized === UNKNOWN_SYMBOL) return null;
|
|
1866
|
+
return normalized;
|
|
1867
|
+
};
|
|
1868
|
+
var parseHyperliquidPair = (value) => {
|
|
1869
|
+
if (!value) return null;
|
|
1870
|
+
const trimmed = value.trim();
|
|
1871
|
+
if (!trimmed) return null;
|
|
1872
|
+
const withoutDex = trimmed.includes(":") ? trimmed.split(":").slice(1).join(":") : trimmed;
|
|
1873
|
+
const separator = withoutDex.includes("/") ? "/" : withoutDex.includes("-") ? "-" : null;
|
|
1874
|
+
if (!separator) return null;
|
|
1875
|
+
const [baseRaw, ...rest] = withoutDex.split(separator);
|
|
1876
|
+
const quoteRaw = rest.join(separator);
|
|
1877
|
+
if (!baseRaw || !quoteRaw) return null;
|
|
1878
|
+
const base2 = baseRaw.trim().toUpperCase();
|
|
1879
|
+
const quote = quoteRaw.trim().toUpperCase();
|
|
1880
|
+
if (!base2 || !quote) return null;
|
|
1881
|
+
return { base: base2, quote };
|
|
1882
|
+
};
|
|
1883
|
+
function buildHyperliquidMarketIdentity(input) {
|
|
1884
|
+
const rawSymbol = input.rawSymbol ?? input.symbol;
|
|
1885
|
+
const dex = extractDexPrefix(rawSymbol);
|
|
1886
|
+
const pair = parseHyperliquidPair(rawSymbol) ?? parseHyperliquidPair(input.symbol);
|
|
1887
|
+
const isSpot = input.isSpot ?? (Boolean(pair) || rawSymbol.startsWith("@") || input.symbol.includes("/"));
|
|
1888
|
+
const base2 = (input.base ? input.base.trim().toUpperCase() : null) ?? pair?.base ?? normalizeHyperliquidBase(input.symbol) ?? normalizeHyperliquidBase(rawSymbol);
|
|
1889
|
+
if (!base2) return null;
|
|
1890
|
+
if (isSpot) {
|
|
1891
|
+
const quote = (input.quote ? input.quote.trim().toUpperCase() : null) ?? pair?.quote ?? null;
|
|
1892
|
+
if (!quote) return null;
|
|
1893
|
+
return {
|
|
1894
|
+
market_type: "spot",
|
|
1895
|
+
venue: "hyperliquid",
|
|
1896
|
+
environment: input.environment,
|
|
1897
|
+
base: base2,
|
|
1898
|
+
quote,
|
|
1899
|
+
dex,
|
|
1900
|
+
raw_symbol: rawSymbol ?? null,
|
|
1901
|
+
canonical_symbol: `spot:hyperliquid:${base2}-${quote}`
|
|
1902
|
+
};
|
|
1903
|
+
}
|
|
1904
|
+
return {
|
|
1905
|
+
market_type: "perp",
|
|
1906
|
+
venue: "hyperliquid",
|
|
1907
|
+
environment: input.environment,
|
|
1908
|
+
base: base2,
|
|
1909
|
+
dex,
|
|
1910
|
+
raw_symbol: rawSymbol ?? null,
|
|
1911
|
+
canonical_symbol: `perp:hyperliquid:${base2}`
|
|
1912
|
+
};
|
|
1913
|
+
}
|
|
1914
|
+
function resolveHyperliquidAbstractionFromMode(mode) {
|
|
1915
|
+
switch (mode) {
|
|
1916
|
+
case "standard":
|
|
1917
|
+
return "disabled";
|
|
1918
|
+
case "unified":
|
|
1919
|
+
return "unifiedAccount";
|
|
1920
|
+
case "portfolio":
|
|
1921
|
+
return "portfolioMargin";
|
|
1922
|
+
default: {
|
|
1923
|
+
const _exhaustive = mode;
|
|
1924
|
+
return _exhaustive;
|
|
1925
|
+
}
|
|
1926
|
+
}
|
|
1927
|
+
}
|
|
1928
|
+
var DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS = 30;
|
|
1929
|
+
function formatRoundedDecimal(value, decimals) {
|
|
1930
|
+
const precision = Math.max(0, Math.min(12, Math.floor(decimals)));
|
|
1931
|
+
const factor = 10 ** precision;
|
|
1932
|
+
const rounded = Math.round(value * factor) / factor;
|
|
1933
|
+
if (!Number.isFinite(rounded) || rounded <= 0) {
|
|
1934
|
+
throw new Error("Price must be positive.");
|
|
1935
|
+
}
|
|
1936
|
+
const fixed = rounded.toFixed(precision);
|
|
1937
|
+
return fixed.replace(/\.?0+$/, "");
|
|
1938
|
+
}
|
|
1939
|
+
function computeHyperliquidMarketIocLimitPrice(params) {
|
|
1940
|
+
const bps = params.slippageBps ?? DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS;
|
|
1941
|
+
const decimals = params.decimals ?? 6;
|
|
1942
|
+
if (!Number.isFinite(params.markPrice) || params.markPrice <= 0) {
|
|
1943
|
+
throw new Error("markPrice must be a positive number.");
|
|
1944
|
+
}
|
|
1945
|
+
if (!Number.isFinite(bps) || bps < 0) {
|
|
1946
|
+
throw new Error("slippageBps must be a non-negative number.");
|
|
1947
|
+
}
|
|
1948
|
+
const slippage = bps / 1e4;
|
|
1949
|
+
const multiplier = params.side === "buy" ? 1 + slippage : 1 - slippage;
|
|
1950
|
+
const price = params.markPrice * multiplier;
|
|
1951
|
+
return formatRoundedDecimal(price, decimals);
|
|
1952
|
+
}
|
|
1836
1953
|
var HyperliquidApiError = class extends Error {
|
|
1837
1954
|
constructor(message, response) {
|
|
1838
1955
|
super(message);
|
|
@@ -2135,6 +2252,68 @@ async function signUserPortfolioMargin(args) {
|
|
|
2135
2252
|
});
|
|
2136
2253
|
return splitSignature(signatureHex);
|
|
2137
2254
|
}
|
|
2255
|
+
async function signUserDexAbstraction(args) {
|
|
2256
|
+
const { wallet: wallet2, action } = args;
|
|
2257
|
+
const domain = {
|
|
2258
|
+
name: "HyperliquidSignTransaction",
|
|
2259
|
+
version: "1",
|
|
2260
|
+
chainId: Number.parseInt(action.signatureChainId, 16),
|
|
2261
|
+
verifyingContract: ZERO_ADDRESS
|
|
2262
|
+
};
|
|
2263
|
+
const message = {
|
|
2264
|
+
hyperliquidChain: action.hyperliquidChain,
|
|
2265
|
+
user: action.user,
|
|
2266
|
+
enabled: action.enabled,
|
|
2267
|
+
nonce: BigInt(action.nonce)
|
|
2268
|
+
};
|
|
2269
|
+
const types = {
|
|
2270
|
+
"HyperliquidTransaction:UserDexAbstraction": [
|
|
2271
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
2272
|
+
{ name: "user", type: "address" },
|
|
2273
|
+
{ name: "enabled", type: "bool" },
|
|
2274
|
+
{ name: "nonce", type: "uint64" }
|
|
2275
|
+
]
|
|
2276
|
+
};
|
|
2277
|
+
const signatureHex = await wallet2.walletClient.signTypedData({
|
|
2278
|
+
account: wallet2.account,
|
|
2279
|
+
domain,
|
|
2280
|
+
types,
|
|
2281
|
+
primaryType: "HyperliquidTransaction:UserDexAbstraction",
|
|
2282
|
+
message
|
|
2283
|
+
});
|
|
2284
|
+
return splitSignature(signatureHex);
|
|
2285
|
+
}
|
|
2286
|
+
async function signUserSetAbstraction(args) {
|
|
2287
|
+
const { wallet: wallet2, action } = args;
|
|
2288
|
+
const domain = {
|
|
2289
|
+
name: "HyperliquidSignTransaction",
|
|
2290
|
+
version: "1",
|
|
2291
|
+
chainId: Number.parseInt(action.signatureChainId, 16),
|
|
2292
|
+
verifyingContract: ZERO_ADDRESS
|
|
2293
|
+
};
|
|
2294
|
+
const message = {
|
|
2295
|
+
hyperliquidChain: action.hyperliquidChain,
|
|
2296
|
+
user: action.user,
|
|
2297
|
+
abstraction: action.abstraction,
|
|
2298
|
+
nonce: BigInt(action.nonce)
|
|
2299
|
+
};
|
|
2300
|
+
const types = {
|
|
2301
|
+
"HyperliquidTransaction:UserSetAbstraction": [
|
|
2302
|
+
{ name: "hyperliquidChain", type: "string" },
|
|
2303
|
+
{ name: "user", type: "address" },
|
|
2304
|
+
{ name: "abstraction", type: "string" },
|
|
2305
|
+
{ name: "nonce", type: "uint64" }
|
|
2306
|
+
]
|
|
2307
|
+
};
|
|
2308
|
+
const signatureHex = await wallet2.walletClient.signTypedData({
|
|
2309
|
+
account: wallet2.account,
|
|
2310
|
+
domain,
|
|
2311
|
+
types,
|
|
2312
|
+
primaryType: "HyperliquidTransaction:UserSetAbstraction",
|
|
2313
|
+
message
|
|
2314
|
+
});
|
|
2315
|
+
return splitSignature(signatureHex);
|
|
2316
|
+
}
|
|
2138
2317
|
function splitSignature(signature) {
|
|
2139
2318
|
const cleaned = signature.slice(2);
|
|
2140
2319
|
const rHex = `0x${cleaned.slice(0, 64)}`;
|
|
@@ -2510,6 +2689,32 @@ var HyperliquidExchangeClient = class {
|
|
|
2510
2689
|
...params
|
|
2511
2690
|
});
|
|
2512
2691
|
}
|
|
2692
|
+
setDexAbstraction(params) {
|
|
2693
|
+
const base2 = {
|
|
2694
|
+
wallet: this.wallet,
|
|
2695
|
+
enabled: params.enabled,
|
|
2696
|
+
environment: this.environment,
|
|
2697
|
+
vaultAddress: this.vaultAddress,
|
|
2698
|
+
expiresAfter: this.expiresAfter,
|
|
2699
|
+
nonceSource: this.nonceSource
|
|
2700
|
+
};
|
|
2701
|
+
return setHyperliquidDexAbstraction(
|
|
2702
|
+
params.user ? { ...base2, user: params.user } : base2
|
|
2703
|
+
);
|
|
2704
|
+
}
|
|
2705
|
+
setAccountAbstractionMode(params) {
|
|
2706
|
+
const base2 = {
|
|
2707
|
+
wallet: this.wallet,
|
|
2708
|
+
mode: params.mode,
|
|
2709
|
+
environment: this.environment,
|
|
2710
|
+
vaultAddress: this.vaultAddress,
|
|
2711
|
+
expiresAfter: this.expiresAfter,
|
|
2712
|
+
nonceSource: this.nonceSource
|
|
2713
|
+
};
|
|
2714
|
+
return setHyperliquidAccountAbstractionMode(
|
|
2715
|
+
params.user ? { ...base2, user: params.user } : base2
|
|
2716
|
+
);
|
|
2717
|
+
}
|
|
2513
2718
|
setPortfolioMargin(params) {
|
|
2514
2719
|
const base2 = {
|
|
2515
2720
|
wallet: this.wallet,
|
|
@@ -2562,6 +2767,83 @@ async function setHyperliquidPortfolioMargin(options) {
|
|
|
2562
2767
|
}
|
|
2563
2768
|
return postExchange(env, body);
|
|
2564
2769
|
}
|
|
2770
|
+
async function setHyperliquidDexAbstraction(options) {
|
|
2771
|
+
const env = options.environment ?? "mainnet";
|
|
2772
|
+
if (!options.wallet?.account || !options.wallet.walletClient) {
|
|
2773
|
+
throw new Error(
|
|
2774
|
+
"Wallet with signing capability is required for dex abstraction."
|
|
2775
|
+
);
|
|
2776
|
+
}
|
|
2777
|
+
const nonce = options.nonce ?? options.walletNonceProvider?.() ?? options.wallet.nonceSource?.() ?? options.nonceSource?.() ?? Date.now();
|
|
2778
|
+
const signatureChainId = getSignatureChainId(env);
|
|
2779
|
+
const hyperliquidChain = HL_CHAIN_LABEL[env];
|
|
2780
|
+
const user = normalizeAddress(
|
|
2781
|
+
options.user ?? options.wallet.address
|
|
2782
|
+
);
|
|
2783
|
+
const action = {
|
|
2784
|
+
type: "userDexAbstraction",
|
|
2785
|
+
enabled: Boolean(options.enabled),
|
|
2786
|
+
hyperliquidChain,
|
|
2787
|
+
signatureChainId,
|
|
2788
|
+
user,
|
|
2789
|
+
nonce
|
|
2790
|
+
};
|
|
2791
|
+
const signature = await signUserDexAbstraction({
|
|
2792
|
+
wallet: options.wallet,
|
|
2793
|
+
action
|
|
2794
|
+
});
|
|
2795
|
+
const body = {
|
|
2796
|
+
action,
|
|
2797
|
+
nonce,
|
|
2798
|
+
signature
|
|
2799
|
+
};
|
|
2800
|
+
if (options.vaultAddress) {
|
|
2801
|
+
body.vaultAddress = normalizeAddress(options.vaultAddress);
|
|
2802
|
+
}
|
|
2803
|
+
if (typeof options.expiresAfter === "number") {
|
|
2804
|
+
body.expiresAfter = options.expiresAfter;
|
|
2805
|
+
}
|
|
2806
|
+
return postExchange(env, body);
|
|
2807
|
+
}
|
|
2808
|
+
async function setHyperliquidAccountAbstractionMode(options) {
|
|
2809
|
+
const env = options.environment ?? "mainnet";
|
|
2810
|
+
if (!options.wallet?.account || !options.wallet.walletClient) {
|
|
2811
|
+
throw new Error(
|
|
2812
|
+
"Wallet with signing capability is required for account abstraction mode."
|
|
2813
|
+
);
|
|
2814
|
+
}
|
|
2815
|
+
const nonce = options.nonce ?? options.walletNonceProvider?.() ?? options.wallet.nonceSource?.() ?? options.nonceSource?.() ?? Date.now();
|
|
2816
|
+
const signatureChainId = getSignatureChainId(env);
|
|
2817
|
+
const hyperliquidChain = HL_CHAIN_LABEL[env];
|
|
2818
|
+
const user = normalizeAddress(
|
|
2819
|
+
options.user ?? options.wallet.address
|
|
2820
|
+
);
|
|
2821
|
+
const abstraction = resolveHyperliquidAbstractionFromMode(options.mode);
|
|
2822
|
+
const action = {
|
|
2823
|
+
type: "userSetAbstraction",
|
|
2824
|
+
abstraction,
|
|
2825
|
+
hyperliquidChain,
|
|
2826
|
+
signatureChainId,
|
|
2827
|
+
user,
|
|
2828
|
+
nonce
|
|
2829
|
+
};
|
|
2830
|
+
const signature = await signUserSetAbstraction({
|
|
2831
|
+
wallet: options.wallet,
|
|
2832
|
+
action
|
|
2833
|
+
});
|
|
2834
|
+
const body = {
|
|
2835
|
+
action,
|
|
2836
|
+
nonce,
|
|
2837
|
+
signature
|
|
2838
|
+
};
|
|
2839
|
+
if (options.vaultAddress) {
|
|
2840
|
+
body.vaultAddress = normalizeAddress(options.vaultAddress);
|
|
2841
|
+
}
|
|
2842
|
+
if (typeof options.expiresAfter === "number") {
|
|
2843
|
+
body.expiresAfter = options.expiresAfter;
|
|
2844
|
+
}
|
|
2845
|
+
return postExchange(env, body);
|
|
2846
|
+
}
|
|
2565
2847
|
async function cancelHyperliquidOrders(options) {
|
|
2566
2848
|
options.cancels.forEach((c) => assertSymbol(c.symbol));
|
|
2567
2849
|
const action = {
|
|
@@ -5863,6 +6145,6 @@ function timestamp() {
|
|
|
5863
6145
|
return (/* @__PURE__ */ new Date()).toISOString().replace("T", " ").slice(0, 19);
|
|
5864
6146
|
}
|
|
5865
6147
|
|
|
5866
|
-
export { AIAbortError, AIError, AIFetchError, AIResponseError, DEFAULT_BASE_URL, DEFAULT_CHAIN, DEFAULT_FACILITATOR, DEFAULT_MODEL, DEFAULT_TIMEOUT_MS, DEFAULT_TOKENS, HTTP_METHODS2 as HTTP_METHODS, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, PAYMENT_HEADERS, POLYMARKET_CHAIN_ID, POLYMARKET_CLOB_AUTH_DOMAIN, POLYMARKET_CLOB_DOMAIN, POLYMARKET_ENDPOINTS, POLYMARKET_EXCHANGE_ADDRESSES, PolymarketApiError, PolymarketAuthError, PolymarketExchangeClient, PolymarketInfoClient, SUPPORTED_CURRENCIES, StoreError, WEBSEARCH_TOOL_DEFINITION, WEBSEARCH_TOOL_NAME, X402BrowserClient, X402Client, X402PaymentRequiredError, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, buildHmacSignature, buildL1Headers, buildL2Headers, buildPolymarketOrderAmounts, buildSignedOrderPayload, cancelAllHyperliquidOrders, cancelAllPolymarketOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, cancelMarketPolymarketOrders, cancelPolymarketOrder, cancelPolymarketOrders, chains, createAIClient, createDevServer, createHyperliquidSubAccount, createMcpAdapter, createMonotonicNonceFactory, createPolymarketApiKey, createStdioServer, defineX402Payment, depositToHyperliquidBridge, derivePolymarketApiKey, ensureTextContent, executeTool, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, fetchPolymarketMarket, fetchPolymarketMarkets, fetchPolymarketMidpoint, fetchPolymarketOrderbook, fetchPolymarketPrice, fetchPolymarketPriceHistory, flattenMessageContent, generateMetadata, generateMetadataCommand, generateText, getHyperliquidMaxBuilderFee, getModelConfig, getMyPerformance, getMyTools, getRpcUrl, getX402PaymentContext, isStreamingSupported, isToolCallingSupported, listModels, loadAndValidateTools, modifyHyperliquidOrder, normalizeModelName, normalizeNumberArrayish, normalizeStringArrayish, payX402, payX402WithWallet, placeHyperliquidOrder, placeHyperliquidTwapOrder, placePolymarketOrder, postAgentDigest, recordHyperliquidBuilderApproval, recordHyperliquidTermsAcceptance, registry, requireX402Payment, reserveHyperliquidRequestWeight, resolveConfig2 as resolveConfig, resolveExchangeAddress, resolvePolymarketBaseUrl, resolveRuntimePath, resolveToolset, responseToToolResponse, retrieve, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidPortfolioMargin, store, streamText, tokens, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, validateCommand, wallet, walletToolkit, withX402Payment, withdrawFromHyperliquid };
|
|
6148
|
+
export { AIAbortError, AIError, AIFetchError, AIResponseError, DEFAULT_BASE_URL, DEFAULT_CHAIN, DEFAULT_FACILITATOR, DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, DEFAULT_MODEL, DEFAULT_TIMEOUT_MS, DEFAULT_TOKENS, HTTP_METHODS2 as HTTP_METHODS, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, PAYMENT_HEADERS, POLYMARKET_CHAIN_ID, POLYMARKET_CLOB_AUTH_DOMAIN, POLYMARKET_CLOB_DOMAIN, POLYMARKET_ENDPOINTS, POLYMARKET_EXCHANGE_ADDRESSES, PolymarketApiError, PolymarketAuthError, PolymarketExchangeClient, PolymarketInfoClient, SUPPORTED_CURRENCIES, StoreError, WEBSEARCH_TOOL_DEFINITION, WEBSEARCH_TOOL_NAME, X402BrowserClient, X402Client, X402PaymentRequiredError, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, buildHmacSignature, buildHyperliquidMarketIdentity, buildL1Headers, buildL2Headers, buildPolymarketOrderAmounts, buildSignedOrderPayload, cancelAllHyperliquidOrders, cancelAllPolymarketOrders, cancelHyperliquidOrders, cancelHyperliquidOrdersByCloid, cancelHyperliquidTwapOrder, cancelMarketPolymarketOrders, cancelPolymarketOrder, cancelPolymarketOrders, chains, computeHyperliquidMarketIocLimitPrice, createAIClient, createDevServer, createHyperliquidSubAccount, createMcpAdapter, createMonotonicNonceFactory, createPolymarketApiKey, createStdioServer, defineX402Payment, depositToHyperliquidBridge, derivePolymarketApiKey, ensureTextContent, executeTool, fetchHyperliquidAssetCtxs, fetchHyperliquidClearinghouseState, fetchHyperliquidFrontendOpenOrders, fetchHyperliquidHistoricalOrders, fetchHyperliquidMeta, fetchHyperliquidMetaAndAssetCtxs, fetchHyperliquidOpenOrders, fetchHyperliquidOrderStatus, fetchHyperliquidPreTransferCheck, fetchHyperliquidSpotAssetCtxs, fetchHyperliquidSpotClearinghouseState, fetchHyperliquidSpotMeta, fetchHyperliquidSpotMetaAndAssetCtxs, fetchHyperliquidUserFills, fetchHyperliquidUserFillsByTime, fetchHyperliquidUserRateLimit, fetchPolymarketMarket, fetchPolymarketMarkets, fetchPolymarketMidpoint, fetchPolymarketOrderbook, fetchPolymarketPrice, fetchPolymarketPriceHistory, flattenMessageContent, generateMetadata, generateMetadataCommand, generateText, getHyperliquidMaxBuilderFee, getModelConfig, getMyPerformance, getMyTools, getRpcUrl, getX402PaymentContext, isStreamingSupported, isToolCallingSupported, listModels, loadAndValidateTools, modifyHyperliquidOrder, normalizeModelName, normalizeNumberArrayish, normalizeStringArrayish, payX402, payX402WithWallet, placeHyperliquidOrder, placeHyperliquidTwapOrder, placePolymarketOrder, postAgentDigest, recordHyperliquidBuilderApproval, recordHyperliquidTermsAcceptance, registry, requireX402Payment, reserveHyperliquidRequestWeight, resolveConfig2 as resolveConfig, resolveExchangeAddress, resolveHyperliquidAbstractionFromMode, resolvePolymarketBaseUrl, resolveRuntimePath, resolveToolset, responseToToolResponse, retrieve, scheduleHyperliquidCancel, sendHyperliquidSpot, setHyperliquidAccountAbstractionMode, setHyperliquidDexAbstraction, setHyperliquidPortfolioMargin, store, streamText, tokens, transferHyperliquidSubAccount, updateHyperliquidIsolatedMargin, updateHyperliquidLeverage, validateCommand, wallet, walletToolkit, withX402Payment, withdrawFromHyperliquid };
|
|
5867
6149
|
//# sourceMappingURL=index.js.map
|
|
5868
6150
|
//# sourceMappingURL=index.js.map
|