@metamask-previews/perps-controller 8.1.0-preview-e4b456ca8 → 8.1.0-preview-0bd5566
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 +0 -14
- package/dist/PerpsController.cjs +3 -17
- 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 +3 -17
- package/dist/PerpsController.mjs.map +1 -1
- package/dist/constants/perpsConfig.cjs +1 -16
- package/dist/constants/perpsConfig.cjs.map +1 -1
- package/dist/constants/perpsConfig.d.cts +0 -15
- package/dist/constants/perpsConfig.d.cts.map +1 -1
- package/dist/constants/perpsConfig.d.mts +0 -15
- package/dist/constants/perpsConfig.d.mts.map +1 -1
- package/dist/constants/perpsConfig.mjs +0 -15
- package/dist/constants/perpsConfig.mjs.map +1 -1
- package/dist/services/MarketDataService.cjs +9 -77
- package/dist/services/MarketDataService.cjs.map +1 -1
- package/dist/services/MarketDataService.d.cts +2 -13
- package/dist/services/MarketDataService.d.cts.map +1 -1
- package/dist/services/MarketDataService.d.mts +2 -13
- package/dist/services/MarketDataService.d.mts.map +1 -1
- package/dist/services/MarketDataService.mjs +9 -77
- package/dist/services/MarketDataService.mjs.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +0 -18
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.mts +0 -18
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/marketDataTransform.cjs +8 -14
- package/dist/utils/marketDataTransform.cjs.map +1 -1
- package/dist/utils/marketDataTransform.d.cts +1 -5
- package/dist/utils/marketDataTransform.d.cts.map +1 -1
- package/dist/utils/marketDataTransform.d.mts +1 -5
- package/dist/utils/marketDataTransform.d.mts.map +1 -1
- package/dist/utils/marketDataTransform.mjs +8 -14
- package/dist/utils/marketDataTransform.mjs.map +1 -1
- package/dist/utils/marketSearch.cjs +2 -28
- package/dist/utils/marketSearch.cjs.map +1 -1
- package/dist/utils/marketSearch.d.cts +3 -4
- package/dist/utils/marketSearch.d.cts.map +1 -1
- package/dist/utils/marketSearch.d.mts +3 -4
- package/dist/utils/marketSearch.d.mts.map +1 -1
- package/dist/utils/marketSearch.mjs +2 -28
- package/dist/utils/marketSearch.mjs.map +1 -1
- package/package.json +2 -3
- package/dist/services/TerminalMarketService.cjs +0 -176
- package/dist/services/TerminalMarketService.cjs.map +0 -1
- package/dist/services/TerminalMarketService.d.cts +0 -48
- package/dist/services/TerminalMarketService.d.cts.map +0 -1
- package/dist/services/TerminalMarketService.d.mts +0 -48
- package/dist/services/TerminalMarketService.d.mts.map +0 -1
- package/dist/services/TerminalMarketService.mjs +0 -172
- package/dist/services/TerminalMarketService.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,22 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
### Added
|
|
11
|
-
|
|
12
|
-
- Add Terminal API integration for market data behind `perpsTerminalApiMarkets` feature flag ([#9137](https://github.com/MetaMask/core/pull/9137))
|
|
13
|
-
- `TerminalMarketService` fetches structured market metadata from `{terminalApiBaseUrl}/perpetuals` with a 5-minute cache TTL.
|
|
14
|
-
- When enabled, `getMarkets()` attempts the Terminal API first; on failure or empty response, falls back silently to HyperLiquid.
|
|
15
|
-
- `getMarketDataWithPrices()` enriches provider data with Terminal API metadata (name, keywords, tags, categories).
|
|
16
|
-
- `PerpsPlatformDependencies` gains a required `terminalApiBaseUrl: string` field; clients must inject the correct environment URL.
|
|
17
|
-
- `PerpsMarketData` gains optional `keywords`, `tags`, and `categories` fields.
|
|
18
|
-
- `transformMarketData()` accepts optional `terminalMetadata` parameter to override static name/category maps per symbol.
|
|
19
|
-
- Market search (`getMarketMatchRank`, `rankMarketsByQuery`) now indexes the `keywords` field for richer search results.
|
|
20
|
-
- `HYPERLIQUID_ASSET_NAMES` and `HIP3_ASSET_MARKET_TYPES` remain intact as fallback for assets absent from the Terminal API.
|
|
21
|
-
|
|
22
10
|
### Changed
|
|
23
11
|
|
|
24
|
-
- Replace unsafe `as` type cast with runtime schema validation (`@metamask/superstruct`) in `TerminalMarketService` ([#9137](https://github.com/MetaMask/core/pull/9137))
|
|
25
|
-
- Each item in the Terminal API response is now individually validated; items that fail validation are filtered out and logged instead of silently accepted.
|
|
26
12
|
- Bump `@metamask/utils` from `^11.9.0` to `^11.11.0` ([#9074](https://github.com/MetaMask/core/pull/9074))
|
|
27
13
|
|
|
28
14
|
## [8.1.0]
|
package/dist/PerpsController.cjs
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
11
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
12
|
};
|
|
13
|
-
var _PerpsController_instances, _a, _PerpsController_initializationPromise, _PerpsController_isReinitializing, _PerpsController_myxRegistrationPromise, _PerpsController_blockedRegionListVersion, _PerpsController_hip3Enabled, _PerpsController_hip3AllowlistMarkets, _PerpsController_hip3BlocklistMarkets, _PerpsController_hip3ConfigSource, _PerpsController_isMYXProviderEnabled,
|
|
13
|
+
var _PerpsController_instances, _a, _PerpsController_initializationPromise, _PerpsController_isReinitializing, _PerpsController_myxRegistrationPromise, _PerpsController_blockedRegionListVersion, _PerpsController_hip3Enabled, _PerpsController_hip3AllowlistMarkets, _PerpsController_hip3BlocklistMarkets, _PerpsController_hip3ConfigSource, _PerpsController_isMYXProviderEnabled, _PerpsController_standaloneProvider, _PerpsController_handlersRegistered, _PerpsController_standaloneProviderIsTestnet, _PerpsController_standaloneProviderHip3Version, _PerpsController_eligibilityCheckDeferred, _PerpsController_options, _PerpsController_tradingService, _PerpsController_marketDataService, _PerpsController_accountService, _PerpsController_eligibilityService, _PerpsController_dataLakeService, _PerpsController_depositService, _PerpsController_featureFlagConfigurationService, _PerpsController_rewardsIntegrationService, _PerpsController_logError, _PerpsController_debugLog, _PerpsController_getAggregatedCacheProviderIds, _PerpsController_getOrCreateStandaloneProvider, _PerpsController_cleanupStandaloneProvider, _PerpsController_getMetrics, _PerpsController_findNetworkClientIdForChain, _PerpsController_submitTransaction, _PerpsController_migrateRequestsIfNeeded, _PerpsController_withStreamPause, _PerpsController_performInitialization, _PerpsController_createProviders, _PerpsController_assignActiveProvider, _PerpsController_getErrorContext, _PerpsController_getControllerState, _PerpsController_createServiceContext, _PerpsController_ensureTradingServiceDeps, _PerpsController_preloadWatchedPaths, _PerpsController_preloadTimer, _PerpsController_isPreloading, _PerpsController_isPreloadingUserData, _PerpsController_preloadStateUnsubscribe, _PerpsController_accountChangeUnsubscribe, _PerpsController_previousIsTestnet, _PerpsController_previousHip3ConfigVersion, _PerpsController_preloadRefreshMs, _PerpsController_preloadGuardMs, _PerpsController_hydrateCacheFromDiskSync, _PerpsController_performMarketDataPreload, _PerpsController_performUserDataPreload;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.PerpsController = exports.getDefaultPerpsControllerState = exports.InitializationState = exports.PERPS_ERROR_CODES = exports.resolveMyxAuthConfig = exports.firstNonEmpty = void 0;
|
|
16
16
|
const base_controller_1 = require("@metamask/base-controller");
|
|
@@ -31,7 +31,6 @@ const EligibilityService_1 = require("./services/EligibilityService.cjs");
|
|
|
31
31
|
const FeatureFlagConfigurationService_1 = require("./services/FeatureFlagConfigurationService.cjs");
|
|
32
32
|
const MarketDataService_1 = require("./services/MarketDataService.cjs");
|
|
33
33
|
const RewardsIntegrationService_1 = require("./services/RewardsIntegrationService.cjs");
|
|
34
|
-
const TerminalMarketService_1 = require("./services/TerminalMarketService.cjs");
|
|
35
34
|
const TradingService_1 = require("./services/TradingService.cjs");
|
|
36
35
|
// PerpsStreamChannelKey removed: using string for channel keys (PerpsStreamManager.pauseChannel takes string)
|
|
37
36
|
const types_1 = require("./types/index.cjs");
|
|
@@ -479,7 +478,6 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
479
478
|
// Service instances (instantiated with platform dependencies)
|
|
480
479
|
_PerpsController_tradingService.set(this, void 0);
|
|
481
480
|
_PerpsController_marketDataService.set(this, void 0);
|
|
482
|
-
_PerpsController_terminalMarketService.set(this, void 0);
|
|
483
481
|
_PerpsController_accountService.set(this, void 0);
|
|
484
482
|
_PerpsController_eligibilityService.set(this, void 0);
|
|
485
483
|
_PerpsController_dataLakeService.set(this, void 0);
|
|
@@ -504,8 +502,7 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
504
502
|
// Instantiate services with platform dependencies
|
|
505
503
|
// Services that need cross-controller access receive the messenger
|
|
506
504
|
__classPrivateFieldSet(this, _PerpsController_tradingService, new TradingService_1.TradingService(infrastructure), "f");
|
|
507
|
-
__classPrivateFieldSet(this,
|
|
508
|
-
__classPrivateFieldSet(this, _PerpsController_marketDataService, new MarketDataService_1.MarketDataService(infrastructure, __classPrivateFieldGet(this, _PerpsController_terminalMarketService, "f")), "f");
|
|
505
|
+
__classPrivateFieldSet(this, _PerpsController_marketDataService, new MarketDataService_1.MarketDataService(infrastructure), "f");
|
|
509
506
|
__classPrivateFieldSet(this, _PerpsController_accountService, new AccountService_1.AccountService(infrastructure, messenger), "f");
|
|
510
507
|
__classPrivateFieldSet(this, _PerpsController_eligibilityService, new EligibilityService_1.EligibilityService(infrastructure), "f");
|
|
511
508
|
__classPrivateFieldSet(this, _PerpsController_dataLakeService, new DataLakeService_1.DataLakeService(infrastructure, messenger), "f");
|
|
@@ -1608,7 +1605,6 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
1608
1605
|
provider,
|
|
1609
1606
|
params,
|
|
1610
1607
|
context: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_createServiceContext).call(this, 'getMarkets'),
|
|
1611
|
-
useTerminalApi: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_isTerminalApiEnabled).call(this),
|
|
1612
1608
|
});
|
|
1613
1609
|
}
|
|
1614
1610
|
/**
|
|
@@ -1635,7 +1631,6 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
1635
1631
|
provider,
|
|
1636
1632
|
params,
|
|
1637
1633
|
context: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_createServiceContext).call(this, 'getMarketDataWithPrices'),
|
|
1638
|
-
useTerminalApi: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_isTerminalApiEnabled).call(this),
|
|
1639
1634
|
});
|
|
1640
1635
|
}
|
|
1641
1636
|
const provider = this.getActiveProvider();
|
|
@@ -1643,7 +1638,6 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
1643
1638
|
provider,
|
|
1644
1639
|
params,
|
|
1645
1640
|
context: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_createServiceContext).call(this, 'getMarketDataWithPrices'),
|
|
1646
|
-
useTerminalApi: __classPrivateFieldGet(this, _PerpsController_instances, "m", _PerpsController_isTerminalApiEnabled).call(this),
|
|
1647
1641
|
});
|
|
1648
1642
|
}
|
|
1649
1643
|
/**
|
|
@@ -3017,7 +3011,7 @@ class PerpsController extends base_controller_1.BaseController {
|
|
|
3017
3011
|
}
|
|
3018
3012
|
}
|
|
3019
3013
|
exports.PerpsController = PerpsController;
|
|
3020
|
-
_a = PerpsController, _PerpsController_initializationPromise = new WeakMap(), _PerpsController_isReinitializing = new WeakMap(), _PerpsController_myxRegistrationPromise = new WeakMap(), _PerpsController_blockedRegionListVersion = new WeakMap(), _PerpsController_hip3Enabled = new WeakMap(), _PerpsController_hip3AllowlistMarkets = new WeakMap(), _PerpsController_hip3BlocklistMarkets = new WeakMap(), _PerpsController_hip3ConfigSource = new WeakMap(), _PerpsController_standaloneProvider = new WeakMap(), _PerpsController_handlersRegistered = new WeakMap(), _PerpsController_standaloneProviderIsTestnet = new WeakMap(), _PerpsController_standaloneProviderHip3Version = new WeakMap(), _PerpsController_eligibilityCheckDeferred = new WeakMap(), _PerpsController_options = new WeakMap(), _PerpsController_tradingService = new WeakMap(), _PerpsController_marketDataService = new WeakMap(),
|
|
3014
|
+
_a = PerpsController, _PerpsController_initializationPromise = new WeakMap(), _PerpsController_isReinitializing = new WeakMap(), _PerpsController_myxRegistrationPromise = new WeakMap(), _PerpsController_blockedRegionListVersion = new WeakMap(), _PerpsController_hip3Enabled = new WeakMap(), _PerpsController_hip3AllowlistMarkets = new WeakMap(), _PerpsController_hip3BlocklistMarkets = new WeakMap(), _PerpsController_hip3ConfigSource = new WeakMap(), _PerpsController_standaloneProvider = new WeakMap(), _PerpsController_handlersRegistered = new WeakMap(), _PerpsController_standaloneProviderIsTestnet = new WeakMap(), _PerpsController_standaloneProviderHip3Version = new WeakMap(), _PerpsController_eligibilityCheckDeferred = new WeakMap(), _PerpsController_options = new WeakMap(), _PerpsController_tradingService = new WeakMap(), _PerpsController_marketDataService = new WeakMap(), _PerpsController_accountService = new WeakMap(), _PerpsController_eligibilityService = new WeakMap(), _PerpsController_dataLakeService = new WeakMap(), _PerpsController_depositService = new WeakMap(), _PerpsController_featureFlagConfigurationService = new WeakMap(), _PerpsController_rewardsIntegrationService = new WeakMap(), _PerpsController_preloadTimer = new WeakMap(), _PerpsController_isPreloading = new WeakMap(), _PerpsController_isPreloadingUserData = new WeakMap(), _PerpsController_preloadStateUnsubscribe = new WeakMap(), _PerpsController_accountChangeUnsubscribe = new WeakMap(), _PerpsController_previousIsTestnet = new WeakMap(), _PerpsController_previousHip3ConfigVersion = new WeakMap(), _PerpsController_instances = new WeakSet(), _PerpsController_isMYXProviderEnabled = function _PerpsController_isMYXProviderEnabled() {
|
|
3021
3015
|
const myx = __classPrivateFieldGet(this, _PerpsController_options, "f").clientConfig?.providerCredentials?.myx;
|
|
3022
3016
|
// Local env-var override (MM_PERPS_MYX_PROVIDER_ENABLED) always wins —
|
|
3023
3017
|
// matches the UI selector (resolvePerpsMyxProviderEnabled) so controller
|
|
@@ -3046,14 +3040,6 @@ _a = PerpsController, _PerpsController_initializationPromise = new WeakMap(), _P
|
|
|
3046
3040
|
catch {
|
|
3047
3041
|
return false;
|
|
3048
3042
|
}
|
|
3049
|
-
}, _PerpsController_isTerminalApiEnabled = function _PerpsController_isTerminalApiEnabled() {
|
|
3050
|
-
try {
|
|
3051
|
-
const remoteState = this.messenger.call('RemoteFeatureFlagController:getState');
|
|
3052
|
-
return remoteState.remoteFeatureFlags?.perpsTerminalApiMarkets === true;
|
|
3053
|
-
}
|
|
3054
|
-
catch {
|
|
3055
|
-
return false;
|
|
3056
|
-
}
|
|
3057
3043
|
}, _PerpsController_logError = function _PerpsController_logError(error, options) {
|
|
3058
3044
|
__classPrivateFieldGet(this, _PerpsController_options, "f").infrastructure.logger.error(error, options);
|
|
3059
3045
|
}, _PerpsController_debugLog = function _PerpsController_debugLog(...args) {
|