From f230718496927fd64d8dc4d5836ec930129f3b81 Mon Sep 17 00:00:00 2001 From: Jongsun Suh Date: Sun, 21 Jan 2024 15:51:25 -0500 Subject: [PATCH] Expose `addDetectedTokens` action --- .../assets-controllers/src/TokensController.ts | 14 +++++++++++++- packages/assets-controllers/src/index.ts | 12 +++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/assets-controllers/src/TokensController.ts b/packages/assets-controllers/src/TokensController.ts index eb34d29f984..3f33d864fea 100644 --- a/packages/assets-controllers/src/TokensController.ts +++ b/packages/assets-controllers/src/TokensController.ts @@ -109,13 +109,20 @@ export type TokensState = BaseState & */ const controllerName = 'TokensController'; -export type TokensControllerActions = TokensControllerGetStateAction; +export type TokensControllerActions = + | TokensControllerGetStateAction + | TokensControllerAddDetectedTokensAction; export type TokensControllerGetStateAction = ControllerGetStateAction< typeof controllerName, TokensState >; +export type TokensControllerAddDetectedTokensAction = { + type: `${typeof controllerName}:addDetectedTokens`; + handler: TokensController['addDetectedTokens']; +}; + /** * The external actions available to the {@link TokensController}. */ @@ -246,6 +253,11 @@ export class TokensController extends BaseControllerV1< this.messagingSystem = messenger; + this.messagingSystem.registerActionHandler( + `${controllerName}:addDetectedTokens` as const, + this.addDetectedTokens.bind(this), + ); + this.messagingSystem.subscribe( 'PreferencesController:stateChange', ({ selectedAddress }) => { diff --git a/packages/assets-controllers/src/index.ts b/packages/assets-controllers/src/index.ts index 1f2786d784c..79510584bdb 100644 --- a/packages/assets-controllers/src/index.ts +++ b/packages/assets-controllers/src/index.ts @@ -21,7 +21,17 @@ export type { export { TokenDetectionController } from './TokenDetectionController'; export * from './TokenListController'; export * from './TokenRatesController'; -export * from './TokensController'; +export type { + TokensConfig, + TokensState, + TokensControllerActions, + TokensControllerGetStateAction, + TokensControllerAddDetectedTokensAction, + TokensControllerEvents, + TokensControllerStateChangeEvent, + TokensControllerMessenger, +} from './TokensController'; +export { TokensController } from './TokensController'; export { isTokenDetectionSupportedForNetwork, formatIconUrlWithProxy,