@metamask/multichain-account-service
Version:
Service to manage multichain accounts
39 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMultichainAccountServiceMessenger = exports.getRootMessenger = void 0;
const base_controller_1 = require("@metamask/base-controller");
/**
* Creates a new root messenger instance for testing.
*
* @returns A new Messenger instance.
*/
function getRootMessenger() {
return new base_controller_1.Messenger();
}
exports.getRootMessenger = getRootMessenger;
/**
* Retrieves a restricted messenger for the MultichainAccountService.
*
* @param messenger - The root messenger instance. Defaults to a new Messenger created by getRootMessenger().
* @returns The restricted messenger for the MultichainAccountService.
*/
function getMultichainAccountServiceMessenger(messenger) {
return messenger.getRestricted({
name: 'MultichainAccountService',
allowedEvents: [
'KeyringController:stateChange',
'AccountsController:accountAdded',
'AccountsController:accountRemoved',
],
allowedActions: [
'AccountsController:getAccount',
'AccountsController:getAccountByAddress',
'AccountsController:listMultichainAccounts',
'SnapController:handleRequest',
'KeyringController:withKeyring',
'KeyringController:getState',
],
});
}
exports.getMultichainAccountServiceMessenger = getMultichainAccountServiceMessenger;
//# sourceMappingURL=messenger.cjs.map