From ceaa24a2d2edc622039e893f9e3e1edbf89549c1 Mon Sep 17 00:00:00 2001 From: Guillaume Roux Date: Wed, 6 May 2026 11:52:20 +0200 Subject: [PATCH 1/3] expose missing `AssetsController` methods through the messenger --- .../src/AssetsController-method-action-types.ts | 13 ++++++++++++- packages/assets-controller/src/AssetsController.ts | 1 + packages/assets-controller/src/index.ts | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/assets-controller/src/AssetsController-method-action-types.ts b/packages/assets-controller/src/AssetsController-method-action-types.ts index 9ef3f3ba84..8cdd37b170 100644 --- a/packages/assets-controller/src/AssetsController-method-action-types.ts +++ b/packages/assets-controller/src/AssetsController-method-action-types.ts @@ -115,6 +115,16 @@ export type AssetsControllerUnhideAssetAction = { handler: AssetsController['unhideAsset']; }; +/** + * Set the current currency. + * + * @param selectedCurrency - The ISO 4217 currency code to set. + */ +export type AssetsControllerSetSelectedCurrencyAction = { + type: `AssetsController:setSelectedCurrency`; + handler: AssetsController['setSelectedCurrency']; +}; + /** * Union of all AssetsController action types. */ @@ -129,4 +139,5 @@ export type AssetsControllerMethodActions = | AssetsControllerRemoveCustomAssetAction | AssetsControllerGetCustomAssetsAction | AssetsControllerHideAssetAction - | AssetsControllerUnhideAssetAction; + | AssetsControllerUnhideAssetAction + | AssetsControllerSetSelectedCurrencyAction; diff --git a/packages/assets-controller/src/AssetsController.ts b/packages/assets-controller/src/AssetsController.ts index f18fe2d56e..d6ac3ef261 100644 --- a/packages/assets-controller/src/AssetsController.ts +++ b/packages/assets-controller/src/AssetsController.ts @@ -175,6 +175,7 @@ const MESSENGER_EXPOSED_METHODS = [ 'getCustomAssets', 'hideAsset', 'unhideAsset', + 'setSelectedCurrency', ] as const; /** Default polling interval hint for data sources (30 seconds) */ diff --git a/packages/assets-controller/src/index.ts b/packages/assets-controller/src/index.ts index 2060f832f9..8b4aa80433 100644 --- a/packages/assets-controller/src/index.ts +++ b/packages/assets-controller/src/index.ts @@ -39,6 +39,7 @@ export type { AssetsControllerUnhideAssetAction, AssetsControllerGetExchangeRatesForBridgeAction, AssetsControllerGetStateForTransactionPayAction, + AssetsControllerSetSelectedCurrencyAction, } from './AssetsController-method-action-types'; // Core types From 9e2b67ffc695b82b28a858a4751eac6b150a2291 Mon Sep 17 00:00:00 2001 From: Guillaume Roux Date: Wed, 6 May 2026 11:54:07 +0200 Subject: [PATCH 2/3] update CHANGELOG --- packages/assets-controller/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/assets-controller/CHANGELOG.md b/packages/assets-controller/CHANGELOG.md index f07deedc2f..9527c165ce 100644 --- a/packages/assets-controller/CHANGELOG.md +++ b/packages/assets-controller/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Expose missing `AssetsController:setSelectedCurrency` action through its messenger ([#8719](https://github.com/MetaMask/core/pull/8719)) + - Corresponding action type is available as well. - Bump `@metamask/transaction-controller` from `^65.0.0` to `^65.1.0` ([#8691](https://github.com/MetaMask/core/pull/8691)) - Bump `@metamask/network-enablement-controller` from `^5.0.2` to `^5.1.0` ([#8665](https://github.com/MetaMask/core/pull/8665)) - Bump `@metamask/keyring-controller` from `^25.3.0` to `^25.4.0` ([#8665](https://github.com/MetaMask/core/pull/8665)) From 8ae3b436392c032264a14fa4f23b1d0cb0324c34 Mon Sep 17 00:00:00 2001 From: Guillaume Roux Date: Wed, 6 May 2026 12:20:55 +0200 Subject: [PATCH 3/3] unregister action in `destroy()` --- packages/assets-controller/src/AssetsController.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/assets-controller/src/AssetsController.ts b/packages/assets-controller/src/AssetsController.ts index d6ac3ef261..7a8d0a5416 100644 --- a/packages/assets-controller/src/AssetsController.ts +++ b/packages/assets-controller/src/AssetsController.ts @@ -3166,5 +3166,8 @@ export class AssetsController extends BaseController< this.messenger.unregisterActionHandler('AssetsController:getCustomAssets'); this.messenger.unregisterActionHandler('AssetsController:hideAsset'); this.messenger.unregisterActionHandler('AssetsController:unhideAsset'); + this.messenger.unregisterActionHandler( + 'AssetsController:setSelectedCurrency', + ); } }