opentool 0.8.21 → 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 +25 -1
- package/dist/adapters/hyperliquid/index.js +79 -1
- package/dist/adapters/hyperliquid/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +79 -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
|
@@ -4,6 +4,30 @@ import 'viem';
|
|
|
4
4
|
import 'viem/accounts';
|
|
5
5
|
|
|
6
6
|
type HyperliquidEnvironment = "mainnet" | "testnet";
|
|
7
|
+
type MarketIdentity = {
|
|
8
|
+
market_type: "perp" | "spot" | "dex";
|
|
9
|
+
venue: "hyperliquid";
|
|
10
|
+
environment: HyperliquidEnvironment;
|
|
11
|
+
base: string;
|
|
12
|
+
quote?: string | null;
|
|
13
|
+
dex?: string | null;
|
|
14
|
+
chain_id?: number | null;
|
|
15
|
+
pool_address?: string | null;
|
|
16
|
+
token0_address?: string | null;
|
|
17
|
+
token1_address?: string | null;
|
|
18
|
+
fee_tier?: number | null;
|
|
19
|
+
raw_symbol?: string | null;
|
|
20
|
+
canonical_symbol: string;
|
|
21
|
+
};
|
|
22
|
+
type HyperliquidMarketIdentityInput = {
|
|
23
|
+
environment: HyperliquidEnvironment;
|
|
24
|
+
symbol: string;
|
|
25
|
+
rawSymbol?: string | null;
|
|
26
|
+
isSpot?: boolean;
|
|
27
|
+
base?: string | null;
|
|
28
|
+
quote?: string | null;
|
|
29
|
+
};
|
|
30
|
+
declare function buildHyperliquidMarketIdentity(input: HyperliquidMarketIdentityInput): MarketIdentity | null;
|
|
7
31
|
type HyperliquidTimeInForce = "Gtc" | "Ioc" | "Alo" | "FrontendMarket" | "LiquidationMarket";
|
|
8
32
|
type HyperliquidGrouping = "na" | "normalTpsl" | "positionTpsl";
|
|
9
33
|
type HyperliquidTriggerType = "tp" | "sl";
|
|
@@ -448,4 +472,4 @@ declare const __hyperliquidInternals: {
|
|
|
448
472
|
splitSignature: typeof splitSignature;
|
|
449
473
|
};
|
|
450
474
|
|
|
451
|
-
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, type HyperliquidAbstraction, type HyperliquidAccountMode, HyperliquidApiError, type HyperliquidApproveBuilderFeeOptions, type HyperliquidApproveBuilderFeeResponse, HyperliquidBuilderApprovalError, type HyperliquidBuilderApprovalRecordInput, type HyperliquidBuilderFee, type HyperliquidClearinghouseState, type HyperliquidDepositResult, type HyperliquidEnvironment, HyperliquidExchangeClient, type HyperliquidExchangeResponse, type HyperliquidGrouping, HyperliquidGuardError, HyperliquidInfoClient, type HyperliquidOrderIntent, type HyperliquidOrderOptions, type HyperliquidOrderResponse, type HyperliquidOrderStatus, HyperliquidTermsError, type HyperliquidTermsRecordInput, type HyperliquidTimeInForce, type HyperliquidTriggerOptions, type HyperliquidTriggerType, type HyperliquidWithdrawResult, type NonceSource, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, 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 };
|
|
475
|
+
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, type HyperliquidAbstraction, type HyperliquidAccountMode, HyperliquidApiError, type HyperliquidApproveBuilderFeeOptions, type HyperliquidApproveBuilderFeeResponse, HyperliquidBuilderApprovalError, type HyperliquidBuilderApprovalRecordInput, type HyperliquidBuilderFee, type HyperliquidClearinghouseState, type HyperliquidDepositResult, type HyperliquidEnvironment, HyperliquidExchangeClient, type HyperliquidExchangeResponse, type HyperliquidGrouping, HyperliquidGuardError, HyperliquidInfoClient, type HyperliquidMarketIdentityInput, type HyperliquidOrderIntent, type HyperliquidOrderOptions, type HyperliquidOrderResponse, type HyperliquidOrderStatus, HyperliquidTermsError, type HyperliquidTermsRecordInput, type HyperliquidTimeInForce, type HyperliquidTriggerOptions, type HyperliquidTriggerType, type HyperliquidWithdrawResult, type MarketIdentity, type 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 };
|
|
@@ -14,6 +14,14 @@ var StoreError = class extends Error {
|
|
|
14
14
|
this.name = "StoreError";
|
|
15
15
|
}
|
|
16
16
|
};
|
|
17
|
+
var requiresMarketIdentity = (input) => {
|
|
18
|
+
const action = (input.action ?? "").toLowerCase();
|
|
19
|
+
if (action === "order" || action === "swap" || action === "trade") return true;
|
|
20
|
+
return false;
|
|
21
|
+
};
|
|
22
|
+
var hasMarketIdentity = (value) => {
|
|
23
|
+
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
24
|
+
};
|
|
17
25
|
function resolveConfig(options) {
|
|
18
26
|
const baseUrl = options?.baseUrl ?? process.env.BASE_URL ?? "https://api.openpond.ai";
|
|
19
27
|
const apiKey = options?.apiKey ?? process.env.OPENPOND_API_KEY;
|
|
@@ -33,6 +41,9 @@ function resolveConfig(options) {
|
|
|
33
41
|
return { baseUrl: normalizedBaseUrl, apiKey, fetchFn };
|
|
34
42
|
}
|
|
35
43
|
async function store(input, options) {
|
|
44
|
+
if (requiresMarketIdentity(input) && !hasMarketIdentity(input.market)) {
|
|
45
|
+
throw new StoreError("market is required for trade events");
|
|
46
|
+
}
|
|
36
47
|
const { baseUrl, apiKey, fetchFn } = resolveConfig(options);
|
|
37
48
|
const url = `${baseUrl}/apps/positions/tx`;
|
|
38
49
|
let response;
|
|
@@ -110,6 +121,73 @@ var BUILDER_CODE = {
|
|
|
110
121
|
};
|
|
111
122
|
var metaCache = /* @__PURE__ */ new Map();
|
|
112
123
|
var perpDexsCache = /* @__PURE__ */ new Map();
|
|
124
|
+
var UNKNOWN_SYMBOL = "UNKNOWN";
|
|
125
|
+
var extractDexPrefix = (value) => {
|
|
126
|
+
if (!value) return null;
|
|
127
|
+
const trimmed = value.trim();
|
|
128
|
+
if (!trimmed) return null;
|
|
129
|
+
if (!trimmed.includes(":")) return null;
|
|
130
|
+
if (trimmed.startsWith("@")) return null;
|
|
131
|
+
const [prefix] = trimmed.split(":");
|
|
132
|
+
const dex = prefix?.trim().toLowerCase() ?? "";
|
|
133
|
+
return dex || null;
|
|
134
|
+
};
|
|
135
|
+
var normalizeHyperliquidBase = (value) => {
|
|
136
|
+
if (!value) return null;
|
|
137
|
+
const trimmed = value.trim();
|
|
138
|
+
if (!trimmed) return null;
|
|
139
|
+
const withoutDex = trimmed.includes(":") ? trimmed.split(":").slice(1).join(":") : trimmed;
|
|
140
|
+
const base = withoutDex.split("-")[0] ?? withoutDex;
|
|
141
|
+
const normalized = (base.split("/")[0] ?? base).trim().toUpperCase();
|
|
142
|
+
if (!normalized || normalized === UNKNOWN_SYMBOL) return null;
|
|
143
|
+
return normalized;
|
|
144
|
+
};
|
|
145
|
+
var parseHyperliquidPair = (value) => {
|
|
146
|
+
if (!value) return null;
|
|
147
|
+
const trimmed = value.trim();
|
|
148
|
+
if (!trimmed) return null;
|
|
149
|
+
const withoutDex = trimmed.includes(":") ? trimmed.split(":").slice(1).join(":") : trimmed;
|
|
150
|
+
const separator = withoutDex.includes("/") ? "/" : withoutDex.includes("-") ? "-" : null;
|
|
151
|
+
if (!separator) return null;
|
|
152
|
+
const [baseRaw, ...rest] = withoutDex.split(separator);
|
|
153
|
+
const quoteRaw = rest.join(separator);
|
|
154
|
+
if (!baseRaw || !quoteRaw) return null;
|
|
155
|
+
const base = baseRaw.trim().toUpperCase();
|
|
156
|
+
const quote = quoteRaw.trim().toUpperCase();
|
|
157
|
+
if (!base || !quote) return null;
|
|
158
|
+
return { base, quote };
|
|
159
|
+
};
|
|
160
|
+
function buildHyperliquidMarketIdentity(input) {
|
|
161
|
+
const rawSymbol = input.rawSymbol ?? input.symbol;
|
|
162
|
+
const dex = extractDexPrefix(rawSymbol);
|
|
163
|
+
const pair = parseHyperliquidPair(rawSymbol) ?? parseHyperliquidPair(input.symbol);
|
|
164
|
+
const isSpot = input.isSpot ?? (Boolean(pair) || rawSymbol.startsWith("@") || input.symbol.includes("/"));
|
|
165
|
+
const base = (input.base ? input.base.trim().toUpperCase() : null) ?? pair?.base ?? normalizeHyperliquidBase(input.symbol) ?? normalizeHyperliquidBase(rawSymbol);
|
|
166
|
+
if (!base) return null;
|
|
167
|
+
if (isSpot) {
|
|
168
|
+
const quote = (input.quote ? input.quote.trim().toUpperCase() : null) ?? pair?.quote ?? null;
|
|
169
|
+
if (!quote) return null;
|
|
170
|
+
return {
|
|
171
|
+
market_type: "spot",
|
|
172
|
+
venue: "hyperliquid",
|
|
173
|
+
environment: input.environment,
|
|
174
|
+
base,
|
|
175
|
+
quote,
|
|
176
|
+
dex,
|
|
177
|
+
raw_symbol: rawSymbol ?? null,
|
|
178
|
+
canonical_symbol: `spot:hyperliquid:${base}-${quote}`
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
market_type: "perp",
|
|
183
|
+
venue: "hyperliquid",
|
|
184
|
+
environment: input.environment,
|
|
185
|
+
base,
|
|
186
|
+
dex,
|
|
187
|
+
raw_symbol: rawSymbol ?? null,
|
|
188
|
+
canonical_symbol: `perp:hyperliquid:${base}`
|
|
189
|
+
};
|
|
190
|
+
}
|
|
113
191
|
function resolveHyperliquidAbstractionFromMode(mode) {
|
|
114
192
|
switch (mode) {
|
|
115
193
|
case "standard":
|
|
@@ -1788,6 +1866,6 @@ var __hyperliquidInternals = {
|
|
|
1788
1866
|
splitSignature
|
|
1789
1867
|
};
|
|
1790
1868
|
|
|
1791
|
-
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, __hyperliquidInternals, approveHyperliquidBuilderFee, batchModifyHyperliquidOrders, 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 };
|
|
1869
|
+
export { DEFAULT_HYPERLIQUID_MARKET_SLIPPAGE_BPS, HyperliquidApiError, HyperliquidBuilderApprovalError, HyperliquidExchangeClient, HyperliquidGuardError, HyperliquidInfoClient, HyperliquidTermsError, __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 };
|
|
1792
1870
|
//# sourceMappingURL=index.js.map
|
|
1793
1871
|
//# sourceMappingURL=index.js.map
|