diff --git a/packages/perps-controller/CHANGELOG.md b/packages/perps-controller/CHANGELOG.md index fe8931234c7..b35422ffb6b 100644 --- a/packages/perps-controller/CHANGELOG.md +++ b/packages/perps-controller/CHANGELOG.md @@ -75,6 +75,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bump `@metamask/controller-utils` from `^11.19.0` to `^11.20.0` ([#8344](https://github.com/MetaMask/core/pull/8344)) - Bump `@metamask/messenger` from `^1.0.0` to `^1.1.0` ([#8364](https://github.com/MetaMask/core/pull/8364)) +### Removed + +- **BREAKING:** Remove `adaptMarketFromMYX`, `adaptPriceFromMYX`, `adaptMarketDataFromMYX`, `filterMYXExclusiveMarkets`, `isOverlappingMarket`, `buildPoolSymbolMap`, `buildSymbolPoolsMap`, and `extractSymbolFromPoolId` from the public package exports to prevent `@myx-trade/sdk` from being included in the static webpack bundle ([#8374](https://github.com/MetaMask/core/pull/8374)) + - These functions are still used internally by `MYXProvider`, which is loaded via dynamic import + - Consumers that imported these utilities directly should instead import from `@metamask/perps-controller/src/utils/myxAdapter` or duplicate the logic locally + ### Fixed - Fix incorrect fee estimate when flipping a position ([#8333](https://github.com/MetaMask/core/pull/8333)) diff --git a/packages/perps-controller/package.json b/packages/perps-controller/package.json index a3453c5355d..92299dcf5a4 100644 --- a/packages/perps-controller/package.json +++ b/packages/perps-controller/package.json @@ -56,7 +56,6 @@ "@metamask/controller-utils": "^11.20.0", "@metamask/messenger": "^1.1.0", "@metamask/utils": "^11.9.0", - "@myx-trade/sdk": "^0.1.265", "@nktkas/hyperliquid": "^0.30.2", "bignumber.js": "^9.1.2", "reselect": "^5.1.1", @@ -83,6 +82,9 @@ "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" }, + "optionalDependencies": { + "@myx-trade/sdk": "^0.1.265" + }, "engines": { "node": "^18.18 || >=20" }, diff --git a/packages/perps-controller/src/PerpsController.ts b/packages/perps-controller/src/PerpsController.ts index 1d8cfeab7bc..7973402e008 100644 --- a/packages/perps-controller/src/PerpsController.ts +++ b/packages/perps-controller/src/PerpsController.ts @@ -1694,7 +1694,9 @@ export class PerpsController extends BaseController< // IMPORTANT: Must use import() — NOT require() — for core/extension tree-shaking. // require() is synchronous and bundlers include it in the main bundle. // import() enables true code splitting so MYX is excluded when not enabled. - this.#myxRegistrationPromise = import('./providers/MYXProvider') + this.#myxRegistrationPromise = import( + /* webpackIgnore: true */ './providers/MYXProvider' + ) .then(({ MYXProvider }) => { this.registerMYXProvider(MYXProvider); return undefined; diff --git a/packages/perps-controller/src/index.ts b/packages/perps-controller/src/index.ts index 5723180f113..4f1c2ce8c75 100644 --- a/packages/perps-controller/src/index.ts +++ b/packages/perps-controller/src/index.ts @@ -463,16 +463,6 @@ export { formatChange, } from './utils'; export type { HyperLiquidMarketData } from './utils'; -export { - adaptMarketFromMYX, - adaptPriceFromMYX, - adaptMarketDataFromMYX, - filterMYXExclusiveMarkets, - isOverlappingMarket, - buildPoolSymbolMap, - buildSymbolPoolsMap, - extractSymbolFromPoolId, -} from './utils'; export { MAX_MARKET_PATTERN_LENGTH, escapeRegex, diff --git a/packages/perps-controller/src/utils/index.ts b/packages/perps-controller/src/utils/index.ts index 4e8b98e9053..46742615a7c 100644 --- a/packages/perps-controller/src/utils/index.ts +++ b/packages/perps-controller/src/utils/index.ts @@ -24,7 +24,6 @@ export * from './hyperLiquidOrderBookProcessor'; export * from './hyperLiquidValidation'; export * from './idUtils'; export * from './marketDataTransform'; -export * from './myxAdapter'; export * from './marketUtils'; export * from './orderCalculations'; export * from './rewardsUtils'; diff --git a/yarn.lock b/yarn.lock index d156862a4b7..e0a57e96c28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4791,6 +4791,9 @@ __metadata: typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" uuid: "npm:^8.3.2" + dependenciesMeta: + "@myx-trade/sdk": + optional: true languageName: unknown linkType: soft