Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions packages/permission-log-controller/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Export `PermissionLogControllerGetStateAction` messenger action and `PermissionLogControllerStateChangeEvent` messenger event ([#6536](https://github.com/MetaMask/core/pull/6536))

### Changed

- **BREAKING:** Use new `Messenger` from `@metamask/messenger` ([#6536](https://github.com/MetaMask/core/pull/6536))
- Previously, `PermissionLogController` accepted a `RestrictedMessenger` instance from `@metamask/base-controller`.
- Bump `@metamask/base-controller` from `^8.0.1` to `^8.3.0` ([#6284](https://github.com/MetaMask/core/pull/6284), [#6355](https://github.com/MetaMask/core/pull/6355), [#6465](https://github.com/MetaMask/core/pull/6465))

## [4.0.0]
Expand Down
1 change: 1 addition & 0 deletions packages/permission-log-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"dependencies": {
"@metamask/base-controller": "^8.3.0",
"@metamask/json-rpc-engine": "^10.0.3",
"@metamask/messenger": "^0.2.0",
"@metamask/utils": "^11.4.2"
},
"devDependencies": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import {
BaseController,
type RestrictedMessenger,
} from '@metamask/base-controller';
type ControllerGetStateAction,
type ControllerStateChangeEvent,
} from '@metamask/base-controller/next';
import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';
import type { Messenger } from '@metamask/messenger';
import {
type Json,
type JsonRpcRequest,
Expand Down Expand Up @@ -70,12 +72,24 @@ export type PermissionLogControllerOptions = {
messenger: PermissionLogControllerMessenger;
};

export type PermissionLogControllerMessenger = RestrictedMessenger<
export type PermissionLogControllerGetStateAction = ControllerGetStateAction<
typeof name,
never,
never,
never,
never
PermissionLogControllerState
>;

export type PermissionLogControllerActions =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also seems like we were not exporting this previously, should we mention this in the changelog?

PermissionLogControllerGetStateAction;

export type PermissionLogControllerStateChangeEvent =
ControllerStateChangeEvent<typeof name, PermissionLogControllerState>;

export type PermissionLogControllerEvents =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also seems like we were not exporting this previously, should we mention this in the changelog?

PermissionLogControllerStateChangeEvent;

export type PermissionLogControllerMessenger = Messenger<
typeof name,
PermissionLogControllerActions,
PermissionLogControllerEvents
>;

const defaultState: PermissionLogControllerState = {
Expand Down
18 changes: 17 additions & 1 deletion packages/permission-log-controller/src/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
export * from './PermissionLogController';
export { PermissionLogController } from './PermissionLogController';
export type {
JsonRpcRequestWithOrigin,
Caveat,
Permission,
PermissionActivityLog,
PermissionLog,
PermissionEntry,
PermissionHistory,
PermissionLogControllerActions,
PermissionLogControllerGetStateAction,
PermissionLogControllerStateChangeEvent,
PermissionLogControllerEvents,
PermissionLogControllerMessenger,
PermissionLogControllerState,
PermissionLogControllerOptions,
} from './PermissionLogController';
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
import { Messenger } from '@metamask/base-controller';
import type {
JsonRpcEngineReturnHandler,
JsonRpcEngineNextCallback,
} from '@metamask/json-rpc-engine';
import {
Messenger,
MOCK_ANY_NAMESPACE,
type MessengerActions,
type MessengerEvents,
type MockAnyNamespace,
} from '@metamask/messenger';
import {
type PendingJsonRpcResponse,
type JsonRpcRequest,
Expand All @@ -13,9 +19,10 @@ import { nanoid } from 'nanoid';
import { constants, getters, noop } from './helpers';
import { LOG_LIMIT, LOG_METHOD_TYPES } from '../src/enums';
import {
PermissionLogController,
type Permission,
type PermissionLogControllerState,
PermissionLogController,
type PermissionLogControllerMessenger,
} from '../src/PermissionLogController';

const { PERMS, RPC_REQUESTS } = getters;
Expand All @@ -33,17 +40,45 @@ class CustomError extends Error {

const name = 'PermissionLogController';

type AllPermissionLogControllerActions =
MessengerActions<PermissionLogControllerMessenger>;

type AllPermissionLogControllerEvents =
MessengerEvents<PermissionLogControllerMessenger>;

type RootMessenger = Messenger<
MockAnyNamespace,
AllPermissionLogControllerActions,
AllPermissionLogControllerEvents
>;

/**
* Creates and returns a root messenger for testing
*
* @returns A messenger instance
*/
function getRootMessenger(): RootMessenger {
return new Messenger({
namespace: MOCK_ANY_NAMESPACE,
});
}

const initController = ({
restrictedMethods,
state,
}: {
restrictedMethods: Set<string>;
state?: Partial<PermissionLogControllerState>;
}): PermissionLogController => {
const messenger = new Messenger().getRestricted({
name,
allowedActions: [],
allowedEvents: [],
const rootMessenger = getRootMessenger();
const messenger = new Messenger<
typeof name,
AllPermissionLogControllerActions,
AllPermissionLogControllerEvents,
RootMessenger
>({
namespace: name,
parent: rootMessenger,
});
return new PermissionLogController({
messenger,
Expand Down
1 change: 1 addition & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4138,6 +4138,7 @@ __metadata:
"@metamask/auto-changelog": "npm:^3.4.4"
"@metamask/base-controller": "npm:^8.3.0"
"@metamask/json-rpc-engine": "npm:^10.0.3"
"@metamask/messenger": "npm:^0.2.0"
"@metamask/utils": "npm:^11.4.2"
"@types/deep-freeze-strict": "npm:^1.1.0"
"@types/jest": "npm:^27.4.1"
Expand Down
Loading