diff --git a/packages/account-tree-controller/src/AccountTreeController.test.ts b/packages/account-tree-controller/src/AccountTreeController.test.ts index 235c9a780aa..4d9937dd3fc 100644 --- a/packages/account-tree-controller/src/AccountTreeController.test.ts +++ b/packages/account-tree-controller/src/AccountTreeController.test.ts @@ -1656,24 +1656,6 @@ describe('AccountTreeController', () => { expect(controller.getSelectedAccountGroup()).not.toBe(''); }); - it('updates selectedAccountGroup when AccountsController selected account changes', () => { - const { controller, messenger } = setup({ - accounts: [MOCK_HD_ACCOUNT_1, MOCK_HD_ACCOUNT_2], - keyrings: [MOCK_HD_KEYRING_1, MOCK_HD_KEYRING_2], - }); - - controller.init(); - const initialGroup = controller.getSelectedAccountGroup(); - - messenger.publish( - 'AccountsController:selectedAccountChange', - MOCK_HD_ACCOUNT_2, - ); - - const newGroup = controller.getSelectedAccountGroup(); - expect(newGroup).not.toBe(initialGroup); - }); - it('updates AccountsController selected account (with EVM account) when selectedAccountGroup changes', () => { const { controller, messenger } = setup({ accounts: [MOCK_HD_ACCOUNT_1, MOCK_HD_ACCOUNT_2], @@ -1819,28 +1801,6 @@ describe('AccountTreeController', () => { }).toThrow('No accounts found in group: non-existent-group-id'); }); - it('handles AccountsController selectedAccountChange for account not in tree gracefully', () => { - const { controller, messenger } = setup({ - accounts: [MOCK_HD_ACCOUNT_1], - keyrings: [MOCK_HD_KEYRING_1], - }); - - controller.init(); - const initialGroup = controller.getSelectedAccountGroup(); - - const unknownAccount: InternalAccount = { - ...MOCK_HD_ACCOUNT_2, - id: 'unknown-account-id', - }; - - messenger.publish( - 'AccountsController:selectedAccountChange', - unknownAccount, - ); - - expect(controller.getSelectedAccountGroup()).toBe(initialGroup); - }); - it('falls back to first wallet first group when AccountsController returns EMPTY_ACCOUNT', () => { const { controller, messenger } = setup({ accounts: [MOCK_HD_ACCOUNT_1, MOCK_HD_ACCOUNT_2], @@ -3666,41 +3626,6 @@ describe('AccountTreeController', () => { expect(selectedAccountGroupChangeListener).toHaveBeenCalledTimes(1); }); - it('emits selectedAccountGroupChange when selected account changes via AccountsController', () => { - // Use different keyring types to ensure different groups - const { controller, messenger } = setup({ - accounts: [MOCK_HD_ACCOUNT_1, MOCK_SNAP_ACCOUNT_1], - keyrings: [MOCK_HD_KEYRING_1, MOCK_HD_KEYRING_2], - }); - - const selectedAccountGroupChangeListener = jest.fn(); - messenger.subscribe( - 'AccountTreeController:selectedAccountGroupChange', - selectedAccountGroupChangeListener, - ); - - controller.init(); - - const initialSelectedGroup = - controller.state.accountTree.selectedAccountGroup; - - jest.clearAllMocks(); - - messenger.publish( - 'AccountsController:selectedAccountChange', - MOCK_SNAP_ACCOUNT_1, - ); - - const newSelectedGroup = - controller.state.accountTree.selectedAccountGroup; - - expect(selectedAccountGroupChangeListener).toHaveBeenCalledWith( - newSelectedGroup, - initialSelectedGroup, - ); - expect(selectedAccountGroupChangeListener).toHaveBeenCalledTimes(1); - }); - it('does NOT emit selectedAccountGroupChange when the same account group is already selected', () => { const { controller, messenger } = setup({ accounts: [MOCK_HD_ACCOUNT_1], diff --git a/packages/account-tree-controller/src/AccountTreeController.ts b/packages/account-tree-controller/src/AccountTreeController.ts index e9eee3941c4..1ad4861b313 100644 --- a/packages/account-tree-controller/src/AccountTreeController.ts +++ b/packages/account-tree-controller/src/AccountTreeController.ts @@ -217,13 +217,6 @@ export class AccountTreeController extends BaseController< }, ); - this.messagingSystem.subscribe( - 'AccountsController:selectedAccountChange', - (account) => { - this.#handleSelectedAccountChange(account); - }, - ); - this.messagingSystem.subscribe( 'UserStorageController:stateChange', (userStorageControllerState) => { @@ -1045,39 +1038,6 @@ export class AccountTreeController extends BaseController< return this.#getDefaultAccountGroupId(wallets); } - /** - * Handles selected account change from AccountsController. - * Updates selectedAccountGroup to match the selected account. - * - * @param account - The newly selected account. - */ - #handleSelectedAccountChange(account: InternalAccount): void { - const accountMapping = this.#accountIdToContext.get(account.id); - if (!accountMapping) { - // Account not in tree yet, might be during initialization - return; - } - - const { groupId } = accountMapping; - const previousSelectedAccountGroup = - this.state.accountTree.selectedAccountGroup; - - // Idempotent check - if the same group is already selected, do nothing - if (previousSelectedAccountGroup === groupId) { - return; - } - - // Update selectedAccountGroup to match the selected account - this.update((state) => { - state.accountTree.selectedAccountGroup = groupId; - }); - this.messagingSystem.publish( - `${controllerName}:selectedAccountGroupChange`, - groupId, - previousSelectedAccountGroup, - ); - } - /** * Handles multichain account wallet status change from * the MultichainAccountService.