@metamask-previews/perps-controller 2.0.0-preview-a37be9342 → 2.0.0-preview-26cb9fc
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 +10 -0
- package/dist/PerpsController.cjs.map +1 -1
- package/dist/PerpsController.d.cts.map +1 -1
- package/dist/PerpsController.d.mts.map +1 -1
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/eventNames.cjs +1 -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 +1 -0
- package/dist/constants/eventNames.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +3 -0
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +1 -0
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +1 -0
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +3 -0
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/index.cjs +50 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.cjs +18 -6
- package/dist/providers/HyperLiquidProvider.cjs.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.cts.map +1 -1
- package/dist/providers/HyperLiquidProvider.d.mts.map +1 -1
- package/dist/providers/HyperLiquidProvider.mjs +18 -6
- package/dist/providers/HyperLiquidProvider.mjs.map +1 -1
- package/dist/services/HyperLiquidClientService.cjs +39 -16
- package/dist/services/HyperLiquidClientService.cjs.map +1 -1
- package/dist/services/HyperLiquidClientService.d.cts +2 -0
- package/dist/services/HyperLiquidClientService.d.cts.map +1 -1
- package/dist/services/HyperLiquidClientService.d.mts +2 -0
- package/dist/services/HyperLiquidClientService.d.mts.map +1 -1
- package/dist/services/HyperLiquidClientService.mjs +39 -16
- package/dist/services/HyperLiquidClientService.mjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.cjs +78 -13
- package/dist/services/HyperLiquidSubscriptionService.cjs.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.cts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.d.mts.map +1 -1
- package/dist/services/HyperLiquidSubscriptionService.mjs +78 -13
- package/dist/services/HyperLiquidSubscriptionService.mjs.map +1 -1
- package/dist/services/TradingService.cjs +0 -1
- package/dist/services/TradingService.cjs.map +1 -1
- package/dist/services/TradingService.d.cts.map +1 -1
- package/dist/services/TradingService.d.mts.map +1 -1
- package/dist/services/TradingService.mjs +0 -1
- package/dist/services/TradingService.mjs.map +1 -1
- package/dist/types/index.cjs +3 -2
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs +3 -2
- package/dist/types/index.mjs.map +1 -1
- package/dist/types/transactionTypes.cjs +5 -4
- package/dist/types/transactionTypes.cjs.map +1 -1
- package/dist/types/transactionTypes.d.cts +0 -4
- package/dist/types/transactionTypes.d.cts.map +1 -1
- package/dist/types/transactionTypes.d.mts +0 -4
- package/dist/types/transactionTypes.d.mts.map +1 -1
- package/dist/types/transactionTypes.mjs +3 -2
- package/dist/types/transactionTypes.mjs.map +1 -1
- package/dist/utils/errorUtils.cjs +4 -3
- package/dist/utils/errorUtils.cjs.map +1 -1
- package/dist/utils/errorUtils.d.cts +0 -4
- package/dist/utils/errorUtils.d.cts.map +1 -1
- package/dist/utils/errorUtils.d.mts +0 -4
- package/dist/utils/errorUtils.d.mts.map +1 -1
- package/dist/utils/errorUtils.mjs +2 -1
- package/dist/utils/errorUtils.mjs.map +1 -1
- package/dist/utils/hyperLiquidAdapter.cjs +3 -2
- package/dist/utils/hyperLiquidAdapter.cjs.map +1 -1
- package/dist/utils/hyperLiquidAdapter.d.cts.map +1 -1
- package/dist/utils/hyperLiquidAdapter.d.mts.map +1 -1
- package/dist/utils/hyperLiquidAdapter.mjs +4 -3
- package/dist/utils/hyperLiquidAdapter.mjs.map +1 -1
- package/dist/utils/hyperLiquidValidation.cjs +4 -0
- package/dist/utils/hyperLiquidValidation.cjs.map +1 -1
- package/dist/utils/hyperLiquidValidation.d.cts.map +1 -1
- package/dist/utils/hyperLiquidValidation.d.mts.map +1 -1
- package/dist/utils/hyperLiquidValidation.mjs +4 -0
- package/dist/utils/hyperLiquidValidation.mjs.map +1 -1
- package/dist/utils/index.cjs +0 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +0 -1
- package/dist/utils/index.d.cts.map +1 -1
- package/dist/utils/index.d.mts +0 -1
- package/dist/utils/index.d.mts.map +1 -1
- package/dist/utils/index.mjs +0 -1
- package/dist/utils/index.mjs.map +1 -1
- package/dist/utils/marketDataTransform.cjs +2 -1
- package/dist/utils/marketDataTransform.cjs.map +1 -1
- package/dist/utils/marketDataTransform.d.cts.map +1 -1
- package/dist/utils/marketDataTransform.d.mts.map +1 -1
- package/dist/utils/marketDataTransform.mjs +2 -1
- package/dist/utils/marketDataTransform.mjs.map +1 -1
- package/dist/utils/perpsConnectionAttemptContext.cjs +20 -0
- package/dist/utils/perpsConnectionAttemptContext.cjs.map +1 -0
- package/dist/utils/perpsConnectionAttemptContext.d.cts +7 -0
- package/dist/utils/perpsConnectionAttemptContext.d.cts.map +1 -0
- package/dist/utils/perpsConnectionAttemptContext.d.mts +7 -0
- package/dist/utils/perpsConnectionAttemptContext.d.mts.map +1 -0
- package/dist/utils/perpsConnectionAttemptContext.mjs +15 -0
- package/dist/utils/perpsConnectionAttemptContext.mjs.map +1 -0
- package/package.json +4 -2
|
@@ -13,6 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
13
13
|
var _HyperLiquidProvider_instances, _HyperLiquidProvider_deps, _HyperLiquidProvider_clientService, _HyperLiquidProvider_walletService, _HyperLiquidProvider_subscriptionService, _HyperLiquidProvider_symbolToAssetId, _HyperLiquidProvider_userFeeCache, _HyperLiquidProvider_maxLeverageCache, _HyperLiquidProvider_cachedMetaByDex, _HyperLiquidProvider_cachedMarketDataWithPrices, _HyperLiquidProvider_cachedSpotMeta, _HyperLiquidProvider_perpDexsCache, _HyperLiquidProvider_referralCheckCache, _HyperLiquidProvider_builderFeeCheckCache, _HyperLiquidProvider_ensureReadyPromise, _HyperLiquidProvider_pendingBuilderFeeApprovals, _HyperLiquidProvider_compiledAllowlistPatterns, _HyperLiquidProvider_compiledBlocklistPatterns, _HyperLiquidProvider_userFeeDiscountBips, _HyperLiquidProvider_hip3Enabled, _HyperLiquidProvider_allowlistMarkets, _HyperLiquidProvider_blocklistMarkets, _HyperLiquidProvider_useDexAbstraction, _HyperLiquidProvider_cachedValidatedDexs, _HyperLiquidProvider_cachedAllPerpDexs, _HyperLiquidProvider_dexDiscoveryComplete, _HyperLiquidProvider_pendingValidatedDexsPromise, _HyperLiquidProvider_cachedUsdcTokenId, _HyperLiquidProvider_errorMappings, _HyperLiquidProvider_clientsInitialized, _HyperLiquidProvider_initializationPromise, _HyperLiquidProvider_messenger, _HyperLiquidProvider_builderAddressTestnet, _HyperLiquidProvider_builderAddressMainnet, _HyperLiquidProvider_compilePatternsSafely, _HyperLiquidProvider_ensureClientsInitialized, _HyperLiquidProvider_ensureDexAbstractionEnabled, _HyperLiquidProvider_ensureReady, _HyperLiquidProvider_tradingSetupPromise, _HyperLiquidProvider_tradingSetupComplete, _HyperLiquidProvider_ensureReadyForTrading, _HyperLiquidProvider_getOrFetchPrice, _HyperLiquidProvider_filterFills, _HyperLiquidProvider_getAllAvailableDexs, _HyperLiquidProvider_getValidatedDexs, _HyperLiquidProvider_fetchValidatedDexsInternal, _HyperLiquidProvider_extractDexsFromAllowlist, _HyperLiquidProvider_getCachedMeta, _HyperLiquidProvider_backfillAssetMapForDex, _HyperLiquidProvider_getAssetIdWithRepair, _HyperLiquidProvider_getCachedSpotMeta, _HyperLiquidProvider_getCachedPerpDexs, _HyperLiquidProvider_calculateHip3FeeMultiplier, _HyperLiquidProvider_getCacheKey, _HyperLiquidProvider_fetchMarketsForDex, _HyperLiquidProvider_getUsdcTokenId, _HyperLiquidProvider_isUsdhCollateralDex, _HyperLiquidProvider_getSpotUsdhBalance, _HyperLiquidProvider_getSpotUsdcBalance, _HyperLiquidProvider_transferUsdcToSpot, _HyperLiquidProvider_swapUsdcToUsdh, _HyperLiquidProvider_ensureUsdhCollateralForOrder, _HyperLiquidProvider_buildAssetMapping, _HyperLiquidProvider_queryUserDataAcrossDexs, _HyperLiquidProvider_mapError, _HyperLiquidProvider_getErrorContext, _HyperLiquidProvider_checkBuilderFeeApproval, _HyperLiquidProvider_ensureBuilderFeeApproval, _HyperLiquidProvider_checkBuilderFeeStatus, _HyperLiquidProvider_getBalanceForDex, _HyperLiquidProvider_findSourceDexWithBalance, _HyperLiquidProvider_autoTransferForHip3Order, _HyperLiquidProvider_autoTransferBackAfterClose, _HyperLiquidProvider_calculateHip3RequiredMargin, _HyperLiquidProvider_handleHip3PostOrderRebalance, _HyperLiquidProvider_handleHip3OrderRollback, _HyperLiquidProvider_validateOrderBeforePlacement, _HyperLiquidProvider_getAssetInfo, _HyperLiquidProvider_prepareAssetForTrading, _HyperLiquidProvider_handleHip3PreOrder, _HyperLiquidProvider_submitOrderWithRollback, _HyperLiquidProvider_handleOrderError, _HyperLiquidProvider_getStandaloneValidatedDexs, _HyperLiquidProvider_getAllMids, _HyperLiquidProvider_fetchSingleDexFresh, _HyperLiquidProvider_mergeDexResultsInto, _HyperLiquidProvider_cacheFreshMarketDataSnapshot, _HyperLiquidProvider_getStaleMarketDataSnapshot, _HyperLiquidProvider_isFeeCacheValid, _HyperLiquidProvider_getBuilderAddress, _HyperLiquidProvider_getReferralCode, _HyperLiquidProvider_ensureReferralSet, _HyperLiquidProvider_isReferralCodeReady, _HyperLiquidProvider_checkReferralSet, _HyperLiquidProvider_setReferralCode;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HyperLiquidProvider = void 0;
|
|
16
|
+
const utils_1 = require("@metamask/utils");
|
|
16
17
|
const uuid_1 = require("uuid");
|
|
17
18
|
const hyperLiquidConfig_1 = require("../constants/hyperLiquidConfig.cjs");
|
|
18
19
|
const perpsConfig_1 = require("../constants/perpsConfig.cjs");
|
|
@@ -789,14 +790,15 @@ class HyperLiquidProvider {
|
|
|
789
790
|
});
|
|
790
791
|
// Parse response statuses (one per order)
|
|
791
792
|
const { statuses } = result.response.data;
|
|
792
|
-
const successCount = statuses.filter((stat) => isStatusObject(stat) &&
|
|
793
|
+
const successCount = statuses.filter((stat) => isStatusObject(stat) &&
|
|
794
|
+
((0, utils_1.hasProperty)(stat, 'filled') || (0, utils_1.hasProperty)(stat, 'resting'))).length;
|
|
793
795
|
const failureCount = statuses.length - successCount;
|
|
794
796
|
// Handle HIP-3 margin transfers for successful closes
|
|
795
797
|
if (!__classPrivateFieldGet(this, _HyperLiquidProvider_useDexAbstraction, "f")) {
|
|
796
798
|
for (let i = 0; i < statuses.length; i++) {
|
|
797
799
|
const status = statuses[i];
|
|
798
800
|
const isSuccess = isStatusObject(status) &&
|
|
799
|
-
('filled'
|
|
801
|
+
((0, utils_1.hasProperty)(status, 'filled') || (0, utils_1.hasProperty)(status, 'resting'));
|
|
800
802
|
if (isSuccess && hip3Transfers[i]) {
|
|
801
803
|
const { sourceDex, freedMargin } = hip3Transfers[i];
|
|
802
804
|
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('Position closed successfully, initiating manual auto-transfer back', { symbol: positionsToClose[i].symbol, freedMargin });
|
|
@@ -815,8 +817,8 @@ class HyperLiquidProvider {
|
|
|
815
817
|
results: statuses.map((status, index) => ({
|
|
816
818
|
symbol: positionsToClose[index].symbol,
|
|
817
819
|
success: isStatusObject(status) &&
|
|
818
|
-
('filled'
|
|
819
|
-
error: isStatusObject(status) && 'error'
|
|
820
|
+
((0, utils_1.hasProperty)(status, 'filled') || (0, utils_1.hasProperty)(status, 'resting')),
|
|
821
|
+
error: isStatusObject(status) && (0, utils_1.hasProperty)(status, 'error')
|
|
820
822
|
? String(status.error)
|
|
821
823
|
: undefined,
|
|
822
824
|
})),
|
|
@@ -2089,7 +2091,7 @@ class HyperLiquidProvider {
|
|
|
2089
2091
|
// Extract HIP-3 DEX names (filter out null which is main DEX)
|
|
2090
2092
|
const hip3DexNames = [];
|
|
2091
2093
|
allDexs.forEach((dex) => {
|
|
2092
|
-
if (dex !== null && 'name'
|
|
2094
|
+
if (dex !== null && (0, utils_1.hasProperty)(dex, 'name')) {
|
|
2093
2095
|
hip3DexNames.push(dex.name);
|
|
2094
2096
|
}
|
|
2095
2097
|
});
|
|
@@ -4627,12 +4629,17 @@ async function _HyperLiquidProvider_swapUsdcToUsdh(amount) {
|
|
|
4627
4629
|
}
|
|
4628
4630
|
// Check order status
|
|
4629
4631
|
const status = result.response?.data?.statuses?.[0];
|
|
4630
|
-
if (isStatusObject(status) && 'error'
|
|
4632
|
+
if (isStatusObject(status) && (0, utils_1.hasProperty)(status, 'error')) {
|
|
4631
4633
|
return { success: false, error: String(status.error) };
|
|
4632
4634
|
}
|
|
4635
|
+
// Note: `in` narrows the HyperLiquid SDK discriminated union to the
|
|
4636
|
+
// branch that has `filled`; `hasProperty` only narrows the key and
|
|
4637
|
+
// types `status.filled` as `unknown`, which loses access to `.totalSz`.
|
|
4638
|
+
/* eslint-disable no-restricted-syntax */
|
|
4633
4639
|
const filledSize = isStatusObject(status) && 'filled' in status
|
|
4634
4640
|
? parseFloat(status.filled?.totalSz ?? '0')
|
|
4635
4641
|
: 0;
|
|
4642
|
+
/* eslint-enable no-restricted-syntax */
|
|
4636
4643
|
__classPrivateFieldGet(this, _HyperLiquidProvider_deps, "f").debugLogger.log('HyperLiquidProvider: USDC→USDH swap completed', {
|
|
4637
4644
|
success: true,
|
|
4638
4645
|
filledSize,
|
|
@@ -5627,8 +5634,13 @@ async function _HyperLiquidProvider_submitOrderWithRollback(params) {
|
|
|
5627
5634
|
throw new Error(`Order failed: ${JSON.stringify(result)}`);
|
|
5628
5635
|
}
|
|
5629
5636
|
const status = result.response?.data?.statuses?.[0];
|
|
5637
|
+
// Note: `in` narrows the HyperLiquid SDK discriminated union to the
|
|
5638
|
+
// branch that has the property; `hasProperty` types the property as
|
|
5639
|
+
// `unknown`, losing downstream access to `.oid`, `.totalSz`, `.avgPx`.
|
|
5640
|
+
/* eslint-disable no-restricted-syntax */
|
|
5630
5641
|
const restingOrder = isStatusObject(status) && 'resting' in status ? status.resting : null;
|
|
5631
5642
|
const filledOrder = isStatusObject(status) && 'filled' in status ? status.filled : null;
|
|
5643
|
+
/* eslint-enable no-restricted-syntax */
|
|
5632
5644
|
// Success - auto-rebalance excess funds
|
|
5633
5645
|
if (isHip3Order && transferInfo && dexName) {
|
|
5634
5646
|
await __classPrivateFieldGet(this, _HyperLiquidProvider_instances, "m", _HyperLiquidProvider_handleHip3PostOrderRebalance).call(this, { dexName, transferInfo });
|