From e85727e08e1ddfa62ffb64198a23cc201f80184b Mon Sep 17 00:00:00 2001 From: Guillaume Roux Date: Mon, 27 Jul 2026 11:13:12 +0200 Subject: [PATCH 1/2] expose `restoreEnabledNetworkMap` to `NetworkEnablementController` messenger --- ...rkEnablementController-method-action-types.ts | 16 ++++++++++++++++ .../src/NetworkEnablementController.ts | 1 + 2 files changed, 17 insertions(+) diff --git a/packages/network-enablement-controller/src/NetworkEnablementController-method-action-types.ts b/packages/network-enablement-controller/src/NetworkEnablementController-method-action-types.ts index 165113b5d2f..14dd1cb4b07 100644 --- a/packages/network-enablement-controller/src/NetworkEnablementController-method-action-types.ts +++ b/packages/network-enablement-controller/src/NetworkEnablementController-method-action-types.ts @@ -125,6 +125,21 @@ export type NetworkEnablementControllerDisableNetworkAction = { handler: NetworkEnablementController['disableNetwork']; }; +/** + * Restores the enabled network map to a previously snapshotted state. + * + * Not a general merge API: only updates keys already present in the current + * map. Missing snapshot values default to `false`. Intended for callers with + * direct controller access (e.g. extension) to undo `#onAddNetwork` filter + * switches when adding a network without changing the active selection. + * + * @param enabledNetworkMap - Previously snapshotted enabledNetworkMap. + */ +export type NetworkEnablementControllerRestoreEnabledNetworkMapAction = { + type: `NetworkEnablementController:restoreEnabledNetworkMap`; + handler: NetworkEnablementController['restoreEnabledNetworkMap']; +}; + /** * Checks if a network is enabled. * @@ -186,6 +201,7 @@ export type NetworkEnablementControllerMethodActions = | NetworkEnablementControllerInitAction | NetworkEnablementControllerInitNativeAssetIdentifiersAction | NetworkEnablementControllerDisableNetworkAction + | NetworkEnablementControllerRestoreEnabledNetworkMapAction | NetworkEnablementControllerIsNetworkEnabledAction | NetworkEnablementControllerListPopularEvmNetworksAction | NetworkEnablementControllerListPopularMultichainNetworksAction diff --git a/packages/network-enablement-controller/src/NetworkEnablementController.ts b/packages/network-enablement-controller/src/NetworkEnablementController.ts index fe0fce1da44..26d7340c32a 100644 --- a/packages/network-enablement-controller/src/NetworkEnablementController.ts +++ b/packages/network-enablement-controller/src/NetworkEnablementController.ts @@ -37,6 +37,7 @@ const MESSENGER_EXPOSED_METHODS = [ 'listPopularNetworks', 'listPopularEvmNetworks', 'listPopularMultichainNetworks', + 'restoreEnabledNetworkMap', ] as const; /** From 7d327b23f024889c2635c3c1cc94c0ed7f869eeb Mon Sep 17 00:00:00 2001 From: Guillaume Roux Date: Mon, 27 Jul 2026 11:18:17 +0200 Subject: [PATCH 2/2] update CHANGELOG --- packages/network-enablement-controller/CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/network-enablement-controller/CHANGELOG.md b/packages/network-enablement-controller/CHANGELOG.md index d72bd1b99a2..b8b7c0b393d 100644 --- a/packages/network-enablement-controller/CHANGELOG.md +++ b/packages/network-enablement-controller/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Expose missing public `NetworkEnablementController` method through its messenger ([#9660](https://github.com/MetaMask/core/pull/9660)) + - The following action is now available: + - `NetworkEnablementController:restoreEnabledNetworkMap` + - Corresponding action type (`NetworkEnablementControllerRestoreEnabledNetworkMapAction`) is available as well. + ### Changed - **BREAKING:** Popular-network classification is now augmented by `ConfigRegistryController` ([#9611](https://github.com/MetaMask/core/pull/9611))