UNPKG

@metamask/multichain-account-service

Version:
57 lines 2.13 kB
import { Messenger, MOCK_ANY_NAMESPACE } from "@metamask/messenger"; /** * Creates and returns a root messenger for testing * * @returns A messenger instance */ export function getRootMessenger() { return new Messenger({ namespace: MOCK_ANY_NAMESPACE, captureException: jest.fn(), }); } /** * Retrieves a restricted messenger for the MultichainAccountService. * * @param rootMessenger - The root messenger instance. Defaults to a new Messenger created by getRootMessenger(). * @param extra - Extra messenger options. * @param extra.actions - Extra actions to delegate. * @param extra.events - Extra events to delegate. * @returns The restricted messenger for the MultichainAccountService. */ export function getMultichainAccountServiceMessenger(rootMessenger, extra) { const messenger = new Messenger({ namespace: 'MultichainAccountService', parent: rootMessenger, }); rootMessenger.delegate({ messenger, actions: [ 'AccountsController:getAccount', 'AccountsController:getAccountByAddress', 'AccountsController:listMultichainAccounts', 'SnapController:handleRequest', 'KeyringController:withKeyring', 'KeyringController:withKeyringV2', 'KeyringController:getState', 'KeyringController:getKeyringsByType', 'KeyringController:addNewKeyring', 'NetworkController:findNetworkClientIdByChainId', 'NetworkController:getNetworkClientById', 'KeyringController:createNewVaultAndKeychain', 'KeyringController:createNewVaultAndRestore', 'AccountsController:getAccounts', 'KeyringController:removeAccount', 'SnapAccountService:ensureReady', 'SnapAccountService:getCapabilities', ...(extra?.actions ?? []), ], events: [ 'AccountsController:accountAdded', 'AccountsController:accountRemoved', ...(extra?.events ?? []), ], }); return messenger; } //# sourceMappingURL=messenger.mjs.map