@metamask-previews/perps-controller 11.0.0-preview-9efd0b754 → 11.0.0-preview-ea8763e0c
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/CHANGELOG.md +8 -0
- package/dist/PerpsController-method-action-types.cjs.map +1 -1
- package/dist/PerpsController-method-action-types.d.cts +12 -1
- package/dist/PerpsController-method-action-types.d.cts.map +1 -1
- package/dist/PerpsController-method-action-types.d.mts +12 -1
- package/dist/PerpsController-method-action-types.d.mts.map +1 -1
- package/dist/PerpsController-method-action-types.mjs.map +1 -1
- package/dist/PerpsController.cjs +519 -99
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts +17 -4
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts +17 -4
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs +522 -102
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/eventNames.cjs +3 -0
- package/dist/constants/eventNames.cjs.map +1 -1
- package/dist/constants/eventNames.d.cts +1 -0
- package/dist/constants/eventNames.d.cts.map +1 -1
- package/dist/constants/eventNames.d.mts +1 -0
- package/dist/constants/eventNames.d.mts.map +1 -1
- package/dist/constants/eventNames.mjs +3 -0
- package/dist/constants/eventNames.mjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.cjs +14 -2
- package/dist/constants/hyperLiquidConfig.cjs.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.cts +7 -0
- package/dist/constants/hyperLiquidConfig.d.cts.map +1 -1
- package/dist/constants/hyperLiquidConfig.d.mts +7 -0
- package/dist/constants/hyperLiquidConfig.d.mts.map +1 -1
- package/dist/constants/hyperLiquidConfig.mjs +11 -0
- package/dist/constants/hyperLiquidConfig.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +4 -1
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +25 -7
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +25 -7
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +4 -1
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.cjs +148 -1
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.cts +11 -1
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.mts +11 -1
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
- package/dist/providers/HyperLiquidProvider.mjs +149 -2
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +15 -4
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +15 -4
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
- package/dist/services/MarketDataService.cjs +41 -3
- package/dist/services/MarketDataService.cjs.map +1 -1
- package/dist/services/MarketDataService.d.cts +2 -2
- package/dist/services/MarketDataService.d.cts.map +1 -1
- package/dist/services/MarketDataService.d.mts +2 -2
- package/dist/services/MarketDataService.d.mts.map +1 -1
- package/dist/services/MarketDataService.mjs +41 -3
- package/dist/services/MarketDataService.mjs.map +1 -1
- package/dist/services/ServiceContext.cjs.map +1 -1
- package/dist/services/ServiceContext.d.cts +10 -1
- package/dist/services/ServiceContext.d.cts.map +1 -1
- package/dist/services/ServiceContext.d.mts +10 -1
- package/dist/services/ServiceContext.d.mts.map +1 -1
- package/dist/services/ServiceContext.mjs.map +1 -1
- package/dist/services/TerminalMarketService.cjs +422 -7
- package/dist/services/TerminalMarketService.cjs.map +1 -1
- package/dist/services/TerminalMarketService.d.cts +10 -1
- package/dist/services/TerminalMarketService.d.cts.map +1 -1
- package/dist/services/TerminalMarketService.d.mts +10 -1
- package/dist/services/TerminalMarketService.d.mts.map +1 -1
- package/dist/services/TerminalMarketService.mjs +423 -8
- package/dist/services/TerminalMarketService.mjs.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +43 -7
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +43 -7
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/marketUtils.cjs +16 -1
- package/dist/utils/marketUtils.cjs.map +1 -1
- package/dist/utils/marketUtils.d.cts +1 -0
- package/dist/utils/marketUtils.d.cts.map +1 -1
- package/dist/utils/marketUtils.d.mts +1 -0
- package/dist/utils/marketUtils.d.mts.map +1 -1
- package/dist/utils/marketUtils.mjs +14 -0
- package/dist/utils/marketUtils.mjs.map +1 -1
- package/dist/utils/perpsDiskPersistence.cjs +19 -12
- package/dist/utils/perpsDiskPersistence.cjs.map +1 -1
- package/dist/utils/perpsDiskPersistence.d.cts +5 -1
- package/dist/utils/perpsDiskPersistence.d.cts.map +1 -1
- package/dist/utils/perpsDiskPersistence.d.mts +5 -1
- package/dist/utils/perpsDiskPersistence.d.mts.map +1 -1
- package/dist/utils/perpsDiskPersistence.mjs +19 -12
- package/dist/utils/perpsDiskPersistence.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { CaipAccountId } from "@metamask/utils";
|
|
|
2
2
|
import type { ExchangeClient } from "@nktkas/hyperliquid";
|
|
3
3
|
import type { CandlePeriod } from "../constants/chartConfig.cjs";
|
|
4
4
|
import { WebSocketConnectionState } from "../services/HyperLiquidClientService.cjs";
|
|
5
|
-
import type { AccountState, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, CandleData, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, HistoricalPortfolioResult, InitializeResult, PerpsPlatformDependencies, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, TransferBetweenDexsParams, TransferBetweenDexsResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate, PerpsReadOptions } from "../types/index.cjs";
|
|
5
|
+
import type { AccountState, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, CandleData, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, GetUserDataSnapshotParams, HistoricalPortfolioResult, InitializeResult, PerpsPlatformDependencies, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, TransferBetweenDexsParams, TransferBetweenDexsResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate, PerpsReadOptions, PerpsUserDataSnapshot } from "../types/index.cjs";
|
|
6
6
|
import type { PerpsControllerMessengerBase } from "../types/messenger.cjs";
|
|
7
7
|
/**
|
|
8
8
|
* HyperLiquid provider implementation
|
|
@@ -162,6 +162,16 @@ export declare class HyperLiquidProvider implements PerpsProvider {
|
|
|
162
162
|
* - ntli: Amount in micro-units (amount * 1e6)
|
|
163
163
|
*/
|
|
164
164
|
updateMargin(params: UpdateMarginParams): Promise<MarginResult>;
|
|
165
|
+
/**
|
|
166
|
+
* Fetch a complete standalone user-data bundle.
|
|
167
|
+
*
|
|
168
|
+
* Each DEX clearinghouse response is shared by position and account-state
|
|
169
|
+
* mapping. Any required request failure rejects the entire bundle.
|
|
170
|
+
*
|
|
171
|
+
* @param params - User and captured controller identity.
|
|
172
|
+
* @returns The complete user-data snapshot.
|
|
173
|
+
*/
|
|
174
|
+
getUserDataSnapshot(params: GetUserDataSnapshotParams): Promise<PerpsUserDataSnapshot>;
|
|
165
175
|
/**
|
|
166
176
|
* Get current positions with TP/SL prices
|
|
167
177
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperLiquidProvider.d.cts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,wBAAwB;AAE7D,OAAO,KAAK,EACV,cAAc,EAEf,4BAA4B;AAG7B,OAAO,KAAK,EAAE,YAAY,EAAE,qCAAoC;
|
|
1
|
+
{"version":3,"file":"HyperLiquidProvider.d.cts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { CaipAccountId } from "@metamask/utils";
|
|
|
2
2
|
import type { ExchangeClient } from "@nktkas/hyperliquid";
|
|
3
3
|
import type { CandlePeriod } from "../constants/chartConfig.mjs";
|
|
4
4
|
import { WebSocketConnectionState } from "../services/HyperLiquidClientService.mjs";
|
|
5
|
-
import type { AccountState, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, CandleData, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, HistoricalPortfolioResult, InitializeResult, PerpsPlatformDependencies, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, TransferBetweenDexsParams, TransferBetweenDexsResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate, PerpsReadOptions } from "../types/index.mjs";
|
|
5
|
+
import type { AccountState, AssetRoute, BatchCancelOrdersParams, CancelOrderParams, CancelOrderResult, CancelOrdersResult, CandleData, ClosePositionParams, ClosePositionsParams, ClosePositionsResult, DepositParams, DisconnectResult, EditOrderParams, FeeCalculationParams, FeeCalculationResult, Funding, GetAccountStateParams, GetAvailableDexsParams, GetFundingParams, GetHistoricalPortfolioParams, GetMarketsParams, GetOrderFillsParams, GetOrdersParams, GetOrFetchFillsParams, GetPositionsParams, GetSupportedPathsParams, GetUserDataSnapshotParams, HistoricalPortfolioResult, InitializeResult, PerpsPlatformDependencies, PerpsProvider, LiquidationPriceParams, LiveDataConfig, MaintenanceMarginParams, MarginResult, MarketInfo, Order, OrderFill, OrderParams, OrderResult, PerpsMarketData, Position, ReadyToTradeResult, SubscribeAccountParams, SubscribeCandlesParams, SubscribeOICapsParams, SubscribeOrderBookParams, SubscribeOrderFillsParams, SubscribeOrdersParams, SubscribePositionsParams, SubscribePricesParams, ToggleTestnetResult, TransferBetweenDexsParams, TransferBetweenDexsResult, UpdateMarginParams, UpdatePositionTPSLParams, UserHistoryItem, WithdrawParams, WithdrawResult, RawLedgerUpdate, PerpsReadOptions, PerpsUserDataSnapshot } from "../types/index.mjs";
|
|
6
6
|
import type { PerpsControllerMessengerBase } from "../types/messenger.mjs";
|
|
7
7
|
/**
|
|
8
8
|
* HyperLiquid provider implementation
|
|
@@ -162,6 +162,16 @@ export declare class HyperLiquidProvider implements PerpsProvider {
|
|
|
162
162
|
* - ntli: Amount in micro-units (amount * 1e6)
|
|
163
163
|
*/
|
|
164
164
|
updateMargin(params: UpdateMarginParams): Promise<MarginResult>;
|
|
165
|
+
/**
|
|
166
|
+
* Fetch a complete standalone user-data bundle.
|
|
167
|
+
*
|
|
168
|
+
* Each DEX clearinghouse response is shared by position and account-state
|
|
169
|
+
* mapping. Any required request failure rejects the entire bundle.
|
|
170
|
+
*
|
|
171
|
+
* @param params - User and captured controller identity.
|
|
172
|
+
* @returns The complete user-data snapshot.
|
|
173
|
+
*/
|
|
174
|
+
getUserDataSnapshot(params: GetUserDataSnapshotParams): Promise<PerpsUserDataSnapshot>;
|
|
165
175
|
/**
|
|
166
176
|
* Get current positions with TP/SL prices
|
|
167
177
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperLiquidProvider.d.mts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,wBAAwB;AAE7D,OAAO,KAAK,EACV,cAAc,EAEf,4BAA4B;AAG7B,OAAO,KAAK,EAAE,YAAY,EAAE,qCAAoC;
|
|
1
|
+
{"version":3,"file":"HyperLiquidProvider.d.mts","sourceRoot":"","sources":["../../src/providers/HyperLiquidProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ var _HyperLiquidProvider_instances, _HyperLiquidProvider_deps, _HyperLiquidProvi
|
|
|
13
13
|
import { hasProperty } from "@metamask/utils";
|
|
14
14
|
import { v4 as uuidv4 } from "uuid";
|
|
15
15
|
import { PERPS_EVENT_PROPERTY, PERPS_EVENT_VALUE } from "../constants/eventNames.mjs";
|
|
16
|
-
import { BASIS_POINTS_DIVISOR, BUILDER_FEE_CONFIG, FEE_RATES, getBridgeInfo, getChainId, HIP3_ASSET_MARKET_TYPES, HIP3_FEE_CONFIG, HIP3_MARGIN_CONFIG, HYPERLIQUID_ASSET_NAMES, HYPERLIQUID_CONFIG, HYPERLIQUID_WITHDRAWAL_MINUTES, REFERRAL_CONFIG, TRADING_DEFAULTS, USDC_DECIMALS, USDC_SYMBOL } from "../constants/hyperLiquidConfig.mjs";
|
|
16
|
+
import { BASIS_POINTS_DIVISOR, BUILDER_FEE_CONFIG, canonicalizeHyperLiquidDexes, FEE_RATES, getBridgeInfo, getChainId, HIP3_ASSET_MARKET_TYPES, HIP3_FEE_CONFIG, HIP3_MARGIN_CONFIG, HYPERLIQUID_ASSET_NAMES, HYPERLIQUID_CONFIG, HYPERLIQUID_WITHDRAWAL_MINUTES, REFERRAL_CONFIG, TRADING_DEFAULTS, USDC_DECIMALS, USDC_SYMBOL } from "../constants/hyperLiquidConfig.mjs";
|
|
17
17
|
import { CHASE_ORDER_CONFIG, HYPERLIQUID_TWAP_LIMITS, ORDER_SLIPPAGE_CONFIG, PERFORMANCE_CONFIG, PERPS_CONSTANTS, TP_SL_CONFIG, WITHDRAWAL_CONSTANTS } from "../constants/perpsConfig.mjs";
|
|
18
18
|
import { PERPS_TRANSACTIONS_HISTORY_CONSTANTS } from "../constants/transactionsHistoryConfig.mjs";
|
|
19
19
|
import { PERPS_ERROR_CODES } from "../perpsErrorCodes.mjs";
|
|
@@ -227,7 +227,32 @@ function groupOrdersBySymbol(orders) {
|
|
|
227
227
|
function collectPositionTriggerOrders(params) {
|
|
228
228
|
const { orders, position, childOrderIds } = params;
|
|
229
229
|
const byOrderId = new Map();
|
|
230
|
+
let takeProfitPrice;
|
|
231
|
+
let stopLossPrice;
|
|
230
232
|
orders.forEach((rawOrder) => {
|
|
233
|
+
if (rawOrder.isTrigger &&
|
|
234
|
+
rawOrder.reduceOnly &&
|
|
235
|
+
rawOrder.isPositionTpsl === Boolean(TP_SL_CONFIG.UsePositionBoundTpsl)) {
|
|
236
|
+
if (rawOrder.orderType.includes('Take Profit')) {
|
|
237
|
+
takeProfitPrice = rawOrder.triggerPx;
|
|
238
|
+
}
|
|
239
|
+
else if (rawOrder.orderType.includes('Stop')) {
|
|
240
|
+
stopLossPrice = rawOrder.triggerPx;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
rawOrder.children?.forEach((childOrder) => {
|
|
244
|
+
if (!childOrder.isTrigger ||
|
|
245
|
+
!childOrder.reduceOnly ||
|
|
246
|
+
childOrder.isPositionTpsl !== Boolean(TP_SL_CONFIG.UsePositionBoundTpsl)) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
if (childOrder.orderType.includes('Take Profit')) {
|
|
250
|
+
takeProfitPrice = childOrder.triggerPx;
|
|
251
|
+
}
|
|
252
|
+
else if (childOrder.orderType.includes('Stop')) {
|
|
253
|
+
stopLossPrice = childOrder.triggerPx;
|
|
254
|
+
}
|
|
255
|
+
});
|
|
231
256
|
if (rawOrder.coin !== position.symbol ||
|
|
232
257
|
!rawOrder.isTrigger ||
|
|
233
258
|
!rawOrder.reduceOnly ||
|
|
@@ -247,6 +272,8 @@ function collectPositionTriggerOrders(params) {
|
|
|
247
272
|
return {
|
|
248
273
|
takeProfitOrders: triggerOrders.filter((order) => order.direction === 'take_profit'),
|
|
249
274
|
stopLossOrders: triggerOrders.filter((order) => order.direction !== 'take_profit'),
|
|
275
|
+
...(takeProfitPrice && { takeProfitPrice }),
|
|
276
|
+
...(stopLossPrice && { stopLossPrice }),
|
|
250
277
|
};
|
|
251
278
|
}
|
|
252
279
|
/**
|
|
@@ -401,7 +428,11 @@ export class HyperLiquidProvider {
|
|
|
401
428
|
isTestnet,
|
|
402
429
|
}), "f");
|
|
403
430
|
__classPrivateFieldSet(this, _HyperLiquidProvider_subscriptionService, new HyperLiquidSubscriptionService(__classPrivateFieldGet(this, _HyperLiquidProvider_clientService, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_walletService, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_hip3Enabled, "f"), [], // enabledDexs - will be populated after DEX discovery in buildAssetMapping
|
|
404
|
-
__classPrivateFieldGet(this, _HyperLiquidProvider_allowlistMarkets, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_blocklistMarkets, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_priceDeviationLimit, "f")
|
|
431
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_allowlistMarkets, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_blocklistMarkets, "f"), __classPrivateFieldGet(this, _HyperLiquidProvider_priceDeviationLimit, "f"), async () => {
|
|
432
|
+
await __classPrivateFieldGet(this, _HyperLiquidProvider_instances, "m", _HyperLiquidProvider_ensureClientsInitialized).call(this);
|
|
433
|
+
const validatedDexs = await __classPrivateFieldGet(this, _HyperLiquidProvider_instances, "m", _HyperLiquidProvider_getValidatedDexs).call(this);
|
|
434
|
+
return validatedDexs.filter((dex) => dex !== null);
|
|
435
|
+
}), "f");
|
|
405
436
|
// NOTE: Clients are NOT initialized here - they'll be initialized lazily
|
|
406
437
|
// when first needed. This avoids accessing Engine.context before it's ready.
|
|
407
438
|
// Pre-compile filter patterns for performance (invalid patterns are skipped)
|
|
@@ -1942,6 +1973,122 @@ export class HyperLiquidProvider {
|
|
|
1942
1973
|
};
|
|
1943
1974
|
}
|
|
1944
1975
|
}
|
|
1976
|
+
/**
|
|
1977
|
+
* Fetch a complete standalone user-data bundle.
|
|
1978
|
+
*
|
|
1979
|
+
* Each DEX clearinghouse response is shared by position and account-state
|
|
1980
|
+
* mapping. Any required request failure rejects the entire bundle.
|
|
1981
|
+
*
|
|
1982
|
+
* @param params - User and captured controller identity.
|
|
1983
|
+
* @returns The complete user-data snapshot.
|
|
1984
|
+
*/
|
|
1985
|
+
async getUserDataSnapshot(params) {
|
|
1986
|
+
const { identity, userAddress } = params;
|
|
1987
|
+
const network = __classPrivateFieldGet(this, _HyperLiquidProvider_clientService, "f").isTestnetMode() ? 'testnet' : 'mainnet';
|
|
1988
|
+
const snapshotStartedAt = __classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").performance.now();
|
|
1989
|
+
const measure = async (stage, request, dex) => {
|
|
1990
|
+
const startedAt = __classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").performance.now();
|
|
1991
|
+
const dexDetail = dex === undefined ? {} : { dex: dex ?? 'main' };
|
|
1992
|
+
try {
|
|
1993
|
+
const result = await request();
|
|
1994
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('[PerpsUserSnapshot]', {
|
|
1995
|
+
stage,
|
|
1996
|
+
durationMs: Math.round(__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").performance.now() - startedAt),
|
|
1997
|
+
success: true,
|
|
1998
|
+
...dexDetail,
|
|
1999
|
+
});
|
|
2000
|
+
return result;
|
|
2001
|
+
}
|
|
2002
|
+
catch (error) {
|
|
2003
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('[PerpsUserSnapshot]', {
|
|
2004
|
+
stage,
|
|
2005
|
+
durationMs: Math.round(__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").performance.now() - startedAt),
|
|
2006
|
+
success: false,
|
|
2007
|
+
...dexDetail,
|
|
2008
|
+
});
|
|
2009
|
+
throw error;
|
|
2010
|
+
}
|
|
2011
|
+
};
|
|
2012
|
+
if (identity.provider !== 'hyperliquid' || identity.network !== network) {
|
|
2013
|
+
throw new Error('User data snapshot identity does not match provider');
|
|
2014
|
+
}
|
|
2015
|
+
const requestedDexes = identity.dexes;
|
|
2016
|
+
const canonicalDexes = canonicalizeHyperLiquidDexes(requestedDexes);
|
|
2017
|
+
const hasValidDexIdentity = requestedDexes.length > 0 &&
|
|
2018
|
+
new Set(requestedDexes).size === requestedDexes.length &&
|
|
2019
|
+
requestedDexes.every((dex) => dex === 'main' || /^[a-z0-9][a-z0-9-]*$/u.test(dex)) &&
|
|
2020
|
+
requestedDexes.length === canonicalDexes.length &&
|
|
2021
|
+
requestedDexes.every((dex, index) => dex === canonicalDexes[index]);
|
|
2022
|
+
if (!hasValidDexIdentity) {
|
|
2023
|
+
throw new Error('User data snapshot DEX identity is invalid');
|
|
2024
|
+
}
|
|
2025
|
+
const dexs = requestedDexes.map((dex) => (dex === 'main' ? null : dex));
|
|
2026
|
+
const standaloneInfoClient = createStandaloneInfoClient({
|
|
2027
|
+
isTestnet: network === 'testnet',
|
|
2028
|
+
});
|
|
2029
|
+
const buildUserParams = (dex) => ({
|
|
2030
|
+
user: userAddress,
|
|
2031
|
+
...(dex ? { dex } : {}),
|
|
2032
|
+
});
|
|
2033
|
+
const [clearinghouseStates, openOrdersByDex, spotState, abstractionMode] = await Promise.all([
|
|
2034
|
+
Promise.all(dexs.map((dex) => measure('clearinghouse_state', () => standaloneInfoClient.clearinghouseState(buildUserParams(dex)), dex))),
|
|
2035
|
+
Promise.all(dexs.map((dex) => measure('frontend_open_orders', () => standaloneInfoClient.frontendOpenOrders(buildUserParams(dex)), dex))),
|
|
2036
|
+
measure('spot_clearinghouse_state', () => standaloneInfoClient.spotClearinghouseState({ user: userAddress })),
|
|
2037
|
+
measure('user_abstraction', () => standaloneInfoClient.userAbstraction({ user: userAddress })),
|
|
2038
|
+
]);
|
|
2039
|
+
const rawOrders = openOrdersByDex.flat();
|
|
2040
|
+
const childOrderIds = collectChildOrderIds(rawOrders);
|
|
2041
|
+
const ordersBySymbol = groupOrdersBySymbol(rawOrders);
|
|
2042
|
+
const positions = clearinghouseStates.flatMap((state) => state.assetPositions
|
|
2043
|
+
.filter(({ position }) => position.szi !== '0')
|
|
2044
|
+
.map((assetPosition) => {
|
|
2045
|
+
const position = adaptPositionFromSDK(assetPosition);
|
|
2046
|
+
const { takeProfitOrders, stopLossOrders, takeProfitPrice, stopLossPrice, } = collectPositionTriggerOrders({
|
|
2047
|
+
orders: ordersBySymbol.get(position.symbol) ?? [],
|
|
2048
|
+
position,
|
|
2049
|
+
childOrderIds,
|
|
2050
|
+
});
|
|
2051
|
+
return {
|
|
2052
|
+
...position,
|
|
2053
|
+
takeProfitCount: takeProfitOrders.length,
|
|
2054
|
+
stopLossCount: stopLossOrders.length,
|
|
2055
|
+
takeProfitOrders,
|
|
2056
|
+
stopLossOrders,
|
|
2057
|
+
...(takeProfitPrice && { takeProfitPrice }),
|
|
2058
|
+
...(stopLossPrice && { stopLossPrice }),
|
|
2059
|
+
};
|
|
2060
|
+
}));
|
|
2061
|
+
const positionsBySymbol = new Map(positions.map((position) => [position.symbol, position]));
|
|
2062
|
+
const orders = rawOrders.map((order) => adaptOrderFromSDK(order, positionsBySymbol.get(order.coin)));
|
|
2063
|
+
const dexAccountStates = clearinghouseStates.map((state) => adaptAccountStateFromSDK(state));
|
|
2064
|
+
const accountState = addSpotBalanceToAccountState(aggregateAccountStates(dexAccountStates), spotState, { foldIntoCollateral: hyperLiquidModeFoldsSpot(abstractionMode) });
|
|
2065
|
+
accountState.subAccountBreakdown = Object.fromEntries(dexAccountStates.map((dexAccountState, index) => {
|
|
2066
|
+
return [
|
|
2067
|
+
dexs[index] ?? '',
|
|
2068
|
+
{
|
|
2069
|
+
spendableBalance: dexAccountState.spendableBalance,
|
|
2070
|
+
withdrawableBalance: dexAccountState.withdrawableBalance,
|
|
2071
|
+
totalBalance: dexAccountState.totalBalance,
|
|
2072
|
+
},
|
|
2073
|
+
];
|
|
2074
|
+
}));
|
|
2075
|
+
const snapshot = {
|
|
2076
|
+
positions,
|
|
2077
|
+
orders,
|
|
2078
|
+
accountState,
|
|
2079
|
+
identity: {
|
|
2080
|
+
...identity,
|
|
2081
|
+
address: userAddress,
|
|
2082
|
+
},
|
|
2083
|
+
};
|
|
2084
|
+
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('[PerpsUserSnapshot]', {
|
|
2085
|
+
stage: 'complete',
|
|
2086
|
+
durationMs: Math.round(__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").performance.now() - snapshotStartedAt),
|
|
2087
|
+
success: true,
|
|
2088
|
+
dexCount: dexs.length,
|
|
2089
|
+
});
|
|
2090
|
+
return snapshot;
|
|
2091
|
+
}
|
|
1945
2092
|
/**
|
|
1946
2093
|
* Get current positions with TP/SL prices
|
|
1947
2094
|
*
|