@metamask-previews/notification-services-controller 0.21.0-preview-37b05a4 → 0.21.0-preview-9f243081
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/NotificationServicesController/NotificationServicesController.cjs +33 -62
- package/dist/NotificationServicesController/NotificationServicesController.cjs.map +1 -1
- package/dist/NotificationServicesController/NotificationServicesController.d.cts +3 -15
- package/dist/NotificationServicesController/NotificationServicesController.d.cts.map +1 -1
- package/dist/NotificationServicesController/NotificationServicesController.d.mts +3 -15
- package/dist/NotificationServicesController/NotificationServicesController.d.mts.map +1 -1
- package/dist/NotificationServicesController/NotificationServicesController.mjs +33 -62
- package/dist/NotificationServicesController/NotificationServicesController.mjs.map +1 -1
- package/dist/NotificationServicesController/index.cjs +1 -0
- package/dist/NotificationServicesController/index.cjs.map +1 -1
- package/dist/NotificationServicesController/index.d.cts +1 -0
- package/dist/NotificationServicesController/index.d.cts.map +1 -1
- package/dist/NotificationServicesController/index.d.mts +1 -0
- package/dist/NotificationServicesController/index.d.mts.map +1 -1
- package/dist/NotificationServicesController/index.mjs +1 -0
- package/dist/NotificationServicesController/index.mjs.map +1 -1
- package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs +54 -44
- package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs.map +1 -1
- package/dist/NotificationServicesPushController/NotificationServicesPushController.d.cts +26 -17
- package/dist/NotificationServicesPushController/NotificationServicesPushController.d.cts.map +1 -1
- package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts +26 -17
- package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts.map +1 -1
- package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs +55 -45
- package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs.map +1 -1
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.cjs +14 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.cjs.map +1 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.d.cts +3 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.d.cts.map +1 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.d.mts +3 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.d.mts.map +1 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.mjs +10 -0
- package/dist/NotificationServicesPushController/__fixtures__/mockMessenger.mjs.map +1 -0
- package/dist/NotificationServicesPushController/services/services.cjs +3 -26
- package/dist/NotificationServicesPushController/services/services.cjs.map +1 -1
- package/dist/NotificationServicesPushController/services/services.d.cts +1 -15
- package/dist/NotificationServicesPushController/services/services.d.cts.map +1 -1
- package/dist/NotificationServicesPushController/services/services.d.mts +1 -15
- package/dist/NotificationServicesPushController/services/services.d.mts.map +1 -1
- package/dist/NotificationServicesPushController/services/services.mjs +2 -24
- package/dist/NotificationServicesPushController/services/services.mjs.map +1 -1
- package/dist/NotificationServicesPushController/types/index.cjs.map +1 -1
- package/dist/NotificationServicesPushController/types/index.d.cts +1 -0
- package/dist/NotificationServicesPushController/types/index.d.cts.map +1 -1
- package/dist/NotificationServicesPushController/types/index.d.mts +1 -0
- package/dist/NotificationServicesPushController/types/index.d.mts.map +1 -1
- package/dist/NotificationServicesPushController/types/index.mjs.map +1 -1
- package/dist/NotificationServicesPushController/{services/push/index.cjs → types/push-service-interface.cjs} +1 -1
- package/dist/NotificationServicesPushController/types/push-service-interface.cjs.map +1 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.d.cts +30 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.d.cts.map +1 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.d.mts +30 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.d.mts.map +1 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.mjs +2 -0
- package/dist/NotificationServicesPushController/types/push-service-interface.mjs.map +1 -0
- package/dist/NotificationServicesPushController/utils/get-notification-message.cjs +1 -19
- package/dist/NotificationServicesPushController/utils/get-notification-message.cjs.map +1 -1
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.cts +0 -7
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.cts.map +1 -1
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.mts +0 -7
- package/dist/NotificationServicesPushController/utils/get-notification-message.d.mts.map +1 -1
- package/dist/NotificationServicesPushController/utils/get-notification-message.mjs +0 -17
- package/dist/NotificationServicesPushController/utils/get-notification-message.mjs.map +1 -1
- package/dist/NotificationServicesPushController/web/index.cjs +8 -0
- package/dist/NotificationServicesPushController/web/index.cjs.map +1 -0
- package/dist/NotificationServicesPushController/web/index.d.cts +2 -0
- package/dist/NotificationServicesPushController/web/index.d.cts.map +1 -0
- package/dist/NotificationServicesPushController/web/index.d.mts +2 -0
- package/dist/NotificationServicesPushController/web/index.d.mts.map +1 -0
- package/dist/NotificationServicesPushController/web/index.mjs +2 -0
- package/dist/NotificationServicesPushController/web/index.mjs.map +1 -0
- package/dist/NotificationServicesPushController/web/push-utils.cjs +170 -0
- package/dist/NotificationServicesPushController/web/push-utils.cjs.map +1 -0
- package/dist/NotificationServicesPushController/web/push-utils.d.cts +37 -0
- package/dist/NotificationServicesPushController/web/push-utils.d.cts.map +1 -0
- package/dist/NotificationServicesPushController/web/push-utils.d.mts +37 -0
- package/dist/NotificationServicesPushController/web/push-utils.d.mts.map +1 -0
- package/dist/NotificationServicesPushController/web/push-utils.mjs +168 -0
- package/dist/NotificationServicesPushController/web/push-utils.mjs.map +1 -0
- package/dist/shared/index.cjs +19 -0
- package/dist/shared/index.cjs.map +1 -0
- package/dist/shared/index.d.cts +3 -0
- package/dist/shared/index.d.cts.map +1 -0
- package/dist/shared/index.d.mts +3 -0
- package/dist/shared/index.d.mts.map +1 -0
- package/dist/shared/index.mjs +3 -0
- package/dist/shared/index.mjs.map +1 -0
- package/dist/shared/is-onchain-notification.cjs +22 -0
- package/dist/shared/is-onchain-notification.cjs.map +1 -0
- package/dist/shared/is-onchain-notification.d.cts +9 -0
- package/dist/shared/is-onchain-notification.d.cts.map +1 -0
- package/dist/shared/is-onchain-notification.d.mts +9 -0
- package/dist/shared/is-onchain-notification.d.mts.map +1 -0
- package/dist/shared/is-onchain-notification.mjs +18 -0
- package/dist/shared/is-onchain-notification.mjs.map +1 -0
- package/package.json +11 -1
- package/push-services/web/package.json +150 -0
- package/dist/NotificationServicesPushController/constants.cjs +0 -14
- package/dist/NotificationServicesPushController/constants.cjs.map +0 -1
- package/dist/NotificationServicesPushController/constants.d.cts +0 -11
- package/dist/NotificationServicesPushController/constants.d.cts.map +0 -1
- package/dist/NotificationServicesPushController/constants.d.mts +0 -11
- package/dist/NotificationServicesPushController/constants.d.mts.map +0 -1
- package/dist/NotificationServicesPushController/constants.mjs +0 -11
- package/dist/NotificationServicesPushController/constants.mjs.map +0 -1
- package/dist/NotificationServicesPushController/services/push/index.cjs.map +0 -1
- package/dist/NotificationServicesPushController/services/push/index.d.cts +0 -6
- package/dist/NotificationServicesPushController/services/push/index.d.cts.map +0 -1
- package/dist/NotificationServicesPushController/services/push/index.d.mts +0 -6
- package/dist/NotificationServicesPushController/services/push/index.d.mts.map +0 -1
- package/dist/NotificationServicesPushController/services/push/index.mjs +0 -2
- package/dist/NotificationServicesPushController/services/push/index.mjs.map +0 -1
|
@@ -5,6 +5,7 @@ import type { AuthenticationController, UserStorageController } from "@metamask/
|
|
|
5
5
|
import { TRIGGER_TYPES } from "./constants/notification-schema.cjs";
|
|
6
6
|
import type { INotification, MarkAsReadNotificationsParam } from "./types/notification/notification.cjs";
|
|
7
7
|
import type { UserStorage } from "./types/user-storage/user-storage.cjs";
|
|
8
|
+
import type { NotificationServicesPushControllerStateChangeEvent } from "../NotificationServicesPushController/index.cjs";
|
|
8
9
|
export type NotificationServicesPushControllerEnablePushNotifications = {
|
|
9
10
|
type: `NotificationServicesPushController:enablePushNotifications`;
|
|
10
11
|
handler: (UUIDs: string[]) => Promise<void>;
|
|
@@ -84,10 +85,6 @@ export type NotificationServicesControllerDisableNotificationServices = {
|
|
|
84
85
|
type: `${typeof controllerName}:disableNotificationServices`;
|
|
85
86
|
handler: NotificationServicesController['disableNotificationServices'];
|
|
86
87
|
};
|
|
87
|
-
export type NotificationServicesControllerSelectIsNotificationServicesEnabled = {
|
|
88
|
-
type: `${typeof controllerName}:selectIsNotificationServicesEnabled`;
|
|
89
|
-
handler: NotificationServicesController['selectIsNotificationServicesEnabled'];
|
|
90
|
-
};
|
|
91
88
|
export type NotificationServicesControllerGetNotificationsByType = {
|
|
92
89
|
type: `${typeof controllerName}:getNotificationsByType`;
|
|
93
90
|
handler: NotificationServicesController['getNotificationsByType'];
|
|
@@ -96,7 +93,7 @@ export type NotificationServicesControllerDeleteNotificationsById = {
|
|
|
96
93
|
type: `${typeof controllerName}:deleteNotificationsById`;
|
|
97
94
|
handler: NotificationServicesController['deleteNotificationsById'];
|
|
98
95
|
};
|
|
99
|
-
export type Actions = NotificationServicesControllerGetStateAction | NotificationServicesControllerUpdateMetamaskNotificationsList | NotificationServicesControllerDisableNotificationServices |
|
|
96
|
+
export type Actions = NotificationServicesControllerGetStateAction | NotificationServicesControllerUpdateMetamaskNotificationsList | NotificationServicesControllerDisableNotificationServices | NotificationServicesControllerGetNotificationsByType | NotificationServicesControllerDeleteNotificationsById;
|
|
100
97
|
export type AllowedActions = KeyringControllerGetAccountsAction | KeyringControllerGetStateAction | AuthenticationController.AuthenticationControllerGetBearerToken | AuthenticationController.AuthenticationControllerIsSignedIn | AuthenticationController.AuthenticationControllerPerformSignIn | UserStorageController.UserStorageControllerGetStorageKey | UserStorageController.UserStorageControllerPerformGetStorage | UserStorageController.UserStorageControllerPerformSetStorage | NotificationServicesPushControllerEnablePushNotifications | NotificationServicesPushControllerDisablePushNotifications | NotificationServicesPushControllerUpdateTriggerPushNotifications | NotificationServicesPushControllerSubscribeToNotifications;
|
|
101
98
|
export type NotificationServicesControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, NotificationServicesControllerState>;
|
|
102
99
|
export type NotificationListUpdatedEvent = {
|
|
@@ -108,7 +105,7 @@ export type MarkNotificationsAsReadEvent = {
|
|
|
108
105
|
payload: [INotification[]];
|
|
109
106
|
};
|
|
110
107
|
export type Events = NotificationServicesControllerStateChangeEvent | NotificationListUpdatedEvent | MarkNotificationsAsReadEvent;
|
|
111
|
-
export type AllowedEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | NotificationServicesPushControllerOnNewNotification;
|
|
108
|
+
export type AllowedEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | NotificationServicesPushControllerOnNewNotification | NotificationServicesPushControllerStateChangeEvent;
|
|
112
109
|
export type NotificationServicesControllerMessenger = RestrictedMessenger<typeof controllerName, Actions | AllowedActions, Events | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
113
110
|
type FeatureAnnouncementEnv = {
|
|
114
111
|
spaceId: string;
|
|
@@ -138,15 +135,6 @@ export default class NotificationServicesController extends BaseController<typeo
|
|
|
138
135
|
isPushIntegrated?: boolean;
|
|
139
136
|
};
|
|
140
137
|
});
|
|
141
|
-
/**
|
|
142
|
-
* Retrieves the current enabled state of MetaMask notifications.
|
|
143
|
-
*
|
|
144
|
-
* This method directly returns the boolean value of `isMetamaskNotificationsEnabled`
|
|
145
|
-
* from the controller's state, indicating whether MetaMask notifications are currently enabled.
|
|
146
|
-
*
|
|
147
|
-
* @returns The enabled state of MetaMask notifications.
|
|
148
|
-
*/
|
|
149
|
-
selectIsNotificationServicesEnabled(): boolean;
|
|
150
138
|
checkAccountsPresence(accounts: string[]): Promise<Record<string, boolean>>;
|
|
151
139
|
/**
|
|
152
140
|
* Sets the enabled state of feature announcements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationServicesController.d.cts","sourceRoot":"","sources":["../../src/NotificationServicesController/NotificationServicesController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAK3D,OAAO,KAAK,EACV,kCAAkC,EAClC,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC7B,qCAAqC;AACtC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,0CAA0C;AAK3C,OAAO,EAAE,aAAa,EAAE,4CAAwC;AAIhE,OAAO,KAAK,EACV,aAAa,EACb,4BAA4B,EAE7B,8CAA0C;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,8CAA0C;
|
|
1
|
+
{"version":3,"file":"NotificationServicesController.d.cts","sourceRoot":"","sources":["../../src/NotificationServicesController/NotificationServicesController.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { AuthenticationController, UserStorageController } from "@metamask/
|
|
|
5
5
|
import { TRIGGER_TYPES } from "./constants/notification-schema.mjs";
|
|
6
6
|
import type { INotification, MarkAsReadNotificationsParam } from "./types/notification/notification.mjs";
|
|
7
7
|
import type { UserStorage } from "./types/user-storage/user-storage.mjs";
|
|
8
|
+
import type { NotificationServicesPushControllerStateChangeEvent } from "../NotificationServicesPushController/index.mjs";
|
|
8
9
|
export type NotificationServicesPushControllerEnablePushNotifications = {
|
|
9
10
|
type: `NotificationServicesPushController:enablePushNotifications`;
|
|
10
11
|
handler: (UUIDs: string[]) => Promise<void>;
|
|
@@ -84,10 +85,6 @@ export type NotificationServicesControllerDisableNotificationServices = {
|
|
|
84
85
|
type: `${typeof controllerName}:disableNotificationServices`;
|
|
85
86
|
handler: NotificationServicesController['disableNotificationServices'];
|
|
86
87
|
};
|
|
87
|
-
export type NotificationServicesControllerSelectIsNotificationServicesEnabled = {
|
|
88
|
-
type: `${typeof controllerName}:selectIsNotificationServicesEnabled`;
|
|
89
|
-
handler: NotificationServicesController['selectIsNotificationServicesEnabled'];
|
|
90
|
-
};
|
|
91
88
|
export type NotificationServicesControllerGetNotificationsByType = {
|
|
92
89
|
type: `${typeof controllerName}:getNotificationsByType`;
|
|
93
90
|
handler: NotificationServicesController['getNotificationsByType'];
|
|
@@ -96,7 +93,7 @@ export type NotificationServicesControllerDeleteNotificationsById = {
|
|
|
96
93
|
type: `${typeof controllerName}:deleteNotificationsById`;
|
|
97
94
|
handler: NotificationServicesController['deleteNotificationsById'];
|
|
98
95
|
};
|
|
99
|
-
export type Actions = NotificationServicesControllerGetStateAction | NotificationServicesControllerUpdateMetamaskNotificationsList | NotificationServicesControllerDisableNotificationServices |
|
|
96
|
+
export type Actions = NotificationServicesControllerGetStateAction | NotificationServicesControllerUpdateMetamaskNotificationsList | NotificationServicesControllerDisableNotificationServices | NotificationServicesControllerGetNotificationsByType | NotificationServicesControllerDeleteNotificationsById;
|
|
100
97
|
export type AllowedActions = KeyringControllerGetAccountsAction | KeyringControllerGetStateAction | AuthenticationController.AuthenticationControllerGetBearerToken | AuthenticationController.AuthenticationControllerIsSignedIn | AuthenticationController.AuthenticationControllerPerformSignIn | UserStorageController.UserStorageControllerGetStorageKey | UserStorageController.UserStorageControllerPerformGetStorage | UserStorageController.UserStorageControllerPerformSetStorage | NotificationServicesPushControllerEnablePushNotifications | NotificationServicesPushControllerDisablePushNotifications | NotificationServicesPushControllerUpdateTriggerPushNotifications | NotificationServicesPushControllerSubscribeToNotifications;
|
|
101
98
|
export type NotificationServicesControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, NotificationServicesControllerState>;
|
|
102
99
|
export type NotificationListUpdatedEvent = {
|
|
@@ -108,7 +105,7 @@ export type MarkNotificationsAsReadEvent = {
|
|
|
108
105
|
payload: [INotification[]];
|
|
109
106
|
};
|
|
110
107
|
export type Events = NotificationServicesControllerStateChangeEvent | NotificationListUpdatedEvent | MarkNotificationsAsReadEvent;
|
|
111
|
-
export type AllowedEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | NotificationServicesPushControllerOnNewNotification;
|
|
108
|
+
export type AllowedEvents = KeyringControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | NotificationServicesPushControllerOnNewNotification | NotificationServicesPushControllerStateChangeEvent;
|
|
112
109
|
export type NotificationServicesControllerMessenger = RestrictedMessenger<typeof controllerName, Actions | AllowedActions, Events | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
113
110
|
type FeatureAnnouncementEnv = {
|
|
114
111
|
spaceId: string;
|
|
@@ -138,15 +135,6 @@ export default class NotificationServicesController extends BaseController<typeo
|
|
|
138
135
|
isPushIntegrated?: boolean;
|
|
139
136
|
};
|
|
140
137
|
});
|
|
141
|
-
/**
|
|
142
|
-
* Retrieves the current enabled state of MetaMask notifications.
|
|
143
|
-
*
|
|
144
|
-
* This method directly returns the boolean value of `isMetamaskNotificationsEnabled`
|
|
145
|
-
* from the controller's state, indicating whether MetaMask notifications are currently enabled.
|
|
146
|
-
*
|
|
147
|
-
* @returns The enabled state of MetaMask notifications.
|
|
148
|
-
*/
|
|
149
|
-
selectIsNotificationServicesEnabled(): boolean;
|
|
150
138
|
checkAccountsPresence(accounts: string[]): Promise<Record<string, boolean>>;
|
|
151
139
|
/**
|
|
152
140
|
* Sets the enabled state of feature announcements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationServicesController.d.mts","sourceRoot":"","sources":["../../src/NotificationServicesController/NotificationServicesController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAK3D,OAAO,KAAK,EACV,kCAAkC,EAClC,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC7B,qCAAqC;AACtC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,0CAA0C;AAK3C,OAAO,EAAE,aAAa,EAAE,4CAAwC;AAIhE,OAAO,KAAK,EACV,aAAa,EACb,4BAA4B,EAE7B,8CAA0C;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,8CAA0C;
|
|
1
|
+
{"version":3,"file":"NotificationServicesController.d.mts","sourceRoot":"","sources":["../../src/NotificationServicesController/NotificationServicesController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAK3D,OAAO,KAAK,EACV,kCAAkC,EAClC,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC7B,qCAAqC;AACtC,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,0CAA0C;AAK3C,OAAO,EAAE,aAAa,EAAE,4CAAwC;AAIhE,OAAO,KAAK,EACV,aAAa,EACb,4BAA4B,EAE7B,8CAA0C;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,8CAA0C;AAErE,OAAO,KAAK,EAAE,kDAAkD,EAAE,wDAA8C;AAIhH,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,4DAA4D,CAAC;IACnE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,0DAA0D,GAAG;IACvE,IAAI,EAAE,6DAA6D,CAAC;IACpE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,gEAAgE,GAAG;IAC7E,IAAI,EAAE,mEAAmE,CAAC;IAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,0DAA0D,GAAG;IACvE,IAAI,EAAE,iEAAiE,CAAC;IACxE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,uDAAuD,CAAC;IAC9D,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;CAC1B,CAAC;AAGF,QAAA,MAAM,cAAc,mCAAmC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD;;;OAGG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IAEnC;;OAEG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAE5C;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;IAEvC;;OAEG;IACH,yBAAyB,EAAE,aAAa,EAAE,CAAC;IAE3C;;OAEG;IACH,6BAA6B,EAAE,MAAM,EAAE,CAAC;IACxC;;OAEG;IACH,+BAA+B,EAAE,OAAO,CAAC;IACzC;;;;OAIG;IACH,+BAA+B,EAAE,OAAO,CAAC;IACzC;;OAEG;IACH,sCAAsC,EAAE,MAAM,EAAE,CAAC;IACjD;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AA6CF,eAAO,MAAM,YAAY,EAAE,mCAW1B,CAAC;AAMF,MAAM,MAAM,4CAA4C,GACtD,wBAAwB,CACtB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ,MAAM,MAAM,6DAA6D,GAAG;IAC1E,IAAI,EAAE,GAAG,OAAO,cAAc,kCAAkC,CAAC;IACjE,OAAO,EAAE,8BAA8B,CAAC,iCAAiC,CAAC,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,GAAG,OAAO,cAAc,8BAA8B,CAAC;IAC7D,OAAO,EAAE,8BAA8B,CAAC,6BAA6B,CAAC,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,GAAG,OAAO,cAAc,yBAAyB,CAAC;IACxD,OAAO,EAAE,8BAA8B,CAAC,wBAAwB,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,qDAAqD,GAAG;IAClE,IAAI,EAAE,GAAG,OAAO,cAAc,0BAA0B,CAAC;IACzD,OAAO,EAAE,8BAA8B,CAAC,yBAAyB,CAAC,CAAC;CACpE,CAAC;AAGF,MAAM,MAAM,OAAO,GACf,4CAA4C,GAC5C,6DAA6D,GAC7D,yDAAyD,GACzD,oDAAoD,GACpD,qDAAqD,CAAC;AAG1D,MAAM,MAAM,cAAc,GAEtB,kCAAkC,GAClC,+BAA+B,GAE/B,wBAAwB,CAAC,sCAAsC,GAC/D,wBAAwB,CAAC,kCAAkC,GAC3D,wBAAwB,CAAC,qCAAqC,GAE9D,qBAAqB,CAAC,kCAAkC,GACxD,qBAAqB,CAAC,sCAAsC,GAC5D,qBAAqB,CAAC,sCAAsC,GAE5D,yDAAyD,GACzD,0DAA0D,GAC1D,gEAAgE,GAChE,0DAA0D,CAAC;AAG/D,MAAM,MAAM,8CAA8C,GACxD,0BAA0B,CACxB,OAAO,cAAc,EACrB,mCAAmC,CACpC,CAAC;AAEJ,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,GAAG,OAAO,cAAc,2BAA2B,CAAC;IAC1D,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,GAAG,OAAO,cAAc,0BAA0B,CAAC;IACzD,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;CAC5B,CAAC;AAGF,MAAM,MAAM,MAAM,GACd,8CAA8C,GAC9C,4BAA4B,GAC5B,4BAA4B,CAAC;AAGjC,MAAM,MAAM,aAAa,GAErB,iCAAiC,GACjC,0BAA0B,GAC1B,4BAA4B,GAE5B,mDAAmD,GACnD,kDAAkD,CAAC;AAGvD,MAAM,MAAM,uCAAuC,GAAG,mBAAmB,CACvE,OAAO,cAAc,EACrB,OAAO,GAAG,cAAc,EACxB,MAAM,GAAG,aAAa,EACtB,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA+B,SAAQ,cAAc,CACxE,OAAO,cAAc,EACrB,mCAAmC,EACnC,uCAAuC,CACxC;;IAqOC;;;;;;;;;OASG;gBACS,EACV,SAAS,EACT,KAAK,EACL,GAAG,GACJ,EAAE;QACD,SAAS,EAAE,uCAAuC,CAAC;QACnD,KAAK,CAAC,EAAE,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrD,GAAG,EAAE;YACH,oBAAoB,EAAE,sBAAsB,CAAC;YAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;KACH;IA+LY,qBAAqB,CAChC,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkBnC;;;;;;;;OAQG;IACU,8BAA8B,CACzC,2BAA2B,EAAE,OAAO;IAYtC;;;;;;;;;;OAUG;IACU,qBAAqB,CAAC,IAAI,CAAC,EAAE;QACxC,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,WAAW,CAAC;IA6DxB;;;;;;;;;OASG;IACU,2BAA2B;IAkBxC;;;;;;;OAOG;IACU,2BAA2B;IA6BxC;;;;;;;;;;;;;OAaG;IACU,8BAA8B,CACzC,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;;;;;;;;;;;OAcG;IACU,8BAA8B,CACzC,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC;IA8DvB;;;;;;;;;OASG;IACU,mCAAmC,CAC9C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC;IAuF3B;;;;;;OAMG;IACI,sBAAsB,CAAC,IAAI,EAAE,aAAa;IAUjD;;;;;;;OAOG;IACU,sBAAsB,CAAC,EAAE,EAAE,MAAM;IA6B9C;;;;;;;OAOG;IACU,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE;IAWlD;;;;;OAKG;IACU,+BAA+B,CAC1C,aAAa,EAAE,4BAA4B,GAC1C,OAAO,CAAC,IAAI,CAAC;IA2GhB;;;;;;OAMG;IACU,+BAA+B,CAC1C,YAAY,EAAE,aAAa,GAC1B,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
|
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var _NotificationServicesController_instances,
|
|
12
|
+
var _NotificationServicesController_instances, _NotificationServicesController_keyringController, _NotificationServicesController_auth, _NotificationServicesController_storage, _NotificationServicesController_pushNotifications, _NotificationServicesController_accounts, _NotificationServicesController_featureAnnouncementEnv, _NotificationServicesController_registerMessageHandlers, _NotificationServicesController_clearLoadingStates, _NotificationServicesController_assertAuthEnabled, _NotificationServicesController_getValidStorageKeyAndBearerToken, _NotificationServicesController_assertUserStorage, _NotificationServicesController_getUserStorage, _NotificationServicesController_setIsUpdatingMetamaskNotifications, _NotificationServicesController_setIsFetchingMetamaskNotifications, _NotificationServicesController_setIsCheckingAccountsPresence, _NotificationServicesController_updateUpdatingAccountsState, _NotificationServicesController_clearUpdatingAccountsState;
|
|
13
13
|
function $importDefault(module) {
|
|
14
14
|
if (module?.__esModule) {
|
|
15
15
|
return module.default;
|
|
@@ -108,26 +108,20 @@ class NotificationServicesController extends BaseController {
|
|
|
108
108
|
state: { ...defaultState, ...state },
|
|
109
109
|
});
|
|
110
110
|
_NotificationServicesController_instances.add(this);
|
|
111
|
-
// Temporary boolean as push notifications are not yet enabled on mobile
|
|
112
|
-
_NotificationServicesController_isPushIntegrated.set(this, true);
|
|
113
|
-
// Flag to check is notifications have been setup when the browser/extension is initialized.
|
|
114
|
-
// We want to re-initialize push notifications when the browser/extension is refreshed
|
|
115
|
-
// To ensure we subscribe to the most up-to-date notifications
|
|
116
|
-
_NotificationServicesController_isPushNotificationsSetup.set(this, false);
|
|
117
|
-
_NotificationServicesController_isUnlocked.set(this, false);
|
|
118
111
|
_NotificationServicesController_keyringController.set(this, {
|
|
112
|
+
isUnlocked: false,
|
|
119
113
|
setupLockedStateSubscriptions: (onUnlock) => {
|
|
120
114
|
const { isUnlocked } = this.messagingSystem.call('KeyringController:getState');
|
|
121
|
-
|
|
115
|
+
__classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").isUnlocked = isUnlocked;
|
|
122
116
|
this.messagingSystem.subscribe('KeyringController:unlock', () => {
|
|
123
|
-
|
|
117
|
+
__classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").isUnlocked = true;
|
|
124
118
|
// messaging system cannot await promises
|
|
125
119
|
// we don't need to wait for a result on this.
|
|
126
120
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
127
121
|
onUnlock();
|
|
128
122
|
});
|
|
129
123
|
this.messagingSystem.subscribe('KeyringController:lock', () => {
|
|
130
|
-
|
|
124
|
+
__classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").isUnlocked = false;
|
|
131
125
|
});
|
|
132
126
|
},
|
|
133
127
|
});
|
|
@@ -154,13 +148,14 @@ class NotificationServicesController extends BaseController {
|
|
|
154
148
|
},
|
|
155
149
|
});
|
|
156
150
|
_NotificationServicesController_pushNotifications.set(this, {
|
|
151
|
+
// Flag to check is notifications have been setup when the browser/extension is initialized.
|
|
152
|
+
// We want to re-initialize push notifications when the browser/extension is refreshed
|
|
153
|
+
// To ensure we subscribe to the most up-to-date notifications
|
|
154
|
+
isSetup: false,
|
|
157
155
|
subscribeToPushNotifications: async () => {
|
|
158
156
|
await this.messagingSystem.call('NotificationServicesPushController:subscribeToPushNotifications');
|
|
159
157
|
},
|
|
160
158
|
enablePushNotifications: async (UUIDs) => {
|
|
161
|
-
if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
159
|
try {
|
|
165
160
|
await this.messagingSystem.call('NotificationServicesPushController:enablePushNotifications', UUIDs);
|
|
166
161
|
}
|
|
@@ -169,9 +164,6 @@ class NotificationServicesController extends BaseController {
|
|
|
169
164
|
}
|
|
170
165
|
},
|
|
171
166
|
disablePushNotifications: async (UUIDs) => {
|
|
172
|
-
if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
167
|
try {
|
|
176
168
|
await this.messagingSystem.call('NotificationServicesPushController:disablePushNotifications', UUIDs);
|
|
177
169
|
}
|
|
@@ -180,9 +172,6 @@ class NotificationServicesController extends BaseController {
|
|
|
180
172
|
}
|
|
181
173
|
},
|
|
182
174
|
updatePushNotifications: async (UUIDs) => {
|
|
183
|
-
if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
175
|
try {
|
|
187
176
|
await this.messagingSystem.call('NotificationServicesPushController:updateTriggerPushNotifications', UUIDs);
|
|
188
177
|
}
|
|
@@ -191,34 +180,28 @@ class NotificationServicesController extends BaseController {
|
|
|
191
180
|
}
|
|
192
181
|
},
|
|
193
182
|
subscribe: () => {
|
|
194
|
-
if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
183
|
this.messagingSystem.subscribe('NotificationServicesPushController:onNewNotifications', (notification) => {
|
|
198
184
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
199
185
|
this.updateMetamaskNotificationsList(notification);
|
|
200
186
|
});
|
|
201
187
|
},
|
|
202
188
|
initializePushNotifications: async () => {
|
|
203
|
-
if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
189
|
if (!this.state.isNotificationServicesEnabled) {
|
|
207
190
|
return;
|
|
208
191
|
}
|
|
209
|
-
if (__classPrivateFieldGet(this,
|
|
192
|
+
if (__classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").isSetup) {
|
|
210
193
|
return;
|
|
211
194
|
}
|
|
212
195
|
// If wallet is unlocked, we can create a fresh push subscription
|
|
213
196
|
// Otherwise we can subscribe to original subscription
|
|
214
|
-
if (__classPrivateFieldGet(this,
|
|
197
|
+
if (__classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").isUnlocked) {
|
|
215
198
|
const storage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
|
|
216
199
|
if (!storage) {
|
|
217
200
|
return;
|
|
218
201
|
}
|
|
219
202
|
const uuids = Utils.getAllUUIDs(storage);
|
|
220
203
|
await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").enablePushNotifications(uuids);
|
|
221
|
-
|
|
204
|
+
__classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").isSetup = true;
|
|
222
205
|
}
|
|
223
206
|
else {
|
|
224
207
|
await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").subscribeToPushNotifications();
|
|
@@ -269,7 +252,8 @@ class NotificationServicesController extends BaseController {
|
|
|
269
252
|
* @returns result from list accounts
|
|
270
253
|
*/
|
|
271
254
|
initialize: async () => {
|
|
272
|
-
if (__classPrivateFieldGet(this,
|
|
255
|
+
if (__classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").isUnlocked &&
|
|
256
|
+
!__classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").isNotificationAccountsSetup) {
|
|
273
257
|
await __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").listAccounts();
|
|
274
258
|
__classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").isNotificationAccountsSetup = true;
|
|
275
259
|
}
|
|
@@ -280,7 +264,9 @@ class NotificationServicesController extends BaseController {
|
|
|
280
264
|
* And call effects to subscribe/unsubscribe to notifications.
|
|
281
265
|
*/
|
|
282
266
|
subscribe: () => {
|
|
283
|
-
this.messagingSystem.subscribe('KeyringController:stateChange',
|
|
267
|
+
this.messagingSystem.subscribe('KeyringController:stateChange',
|
|
268
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
269
|
+
async () => {
|
|
284
270
|
if (!this.state.isNotificationServicesEnabled) {
|
|
285
271
|
return;
|
|
286
272
|
}
|
|
@@ -297,7 +283,6 @@ class NotificationServicesController extends BaseController {
|
|
|
297
283
|
},
|
|
298
284
|
});
|
|
299
285
|
_NotificationServicesController_featureAnnouncementEnv.set(this, void 0);
|
|
300
|
-
__classPrivateFieldSet(this, _NotificationServicesController_isPushIntegrated, env.isPushIntegrated ?? true, "f");
|
|
301
286
|
__classPrivateFieldSet(this, _NotificationServicesController_featureAnnouncementEnv, env.featureAnnouncements, "f");
|
|
302
287
|
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_registerMessageHandlers).call(this);
|
|
303
288
|
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_clearLoadingStates).call(this);
|
|
@@ -312,17 +297,6 @@ class NotificationServicesController extends BaseController {
|
|
|
312
297
|
__classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").subscribe();
|
|
313
298
|
__classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").subscribe();
|
|
314
299
|
}
|
|
315
|
-
/**
|
|
316
|
-
* Retrieves the current enabled state of MetaMask notifications.
|
|
317
|
-
*
|
|
318
|
-
* This method directly returns the boolean value of `isMetamaskNotificationsEnabled`
|
|
319
|
-
* from the controller's state, indicating whether MetaMask notifications are currently enabled.
|
|
320
|
-
*
|
|
321
|
-
* @returns The enabled state of MetaMask notifications.
|
|
322
|
-
*/
|
|
323
|
-
selectIsNotificationServicesEnabled() {
|
|
324
|
-
return this.state.isNotificationServicesEnabled;
|
|
325
|
-
}
|
|
326
300
|
async checkAccountsPresence(accounts) {
|
|
327
301
|
try {
|
|
328
302
|
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsCheckingAccountsPresence).call(this, true);
|
|
@@ -450,30 +424,28 @@ class NotificationServicesController extends BaseController {
|
|
|
450
424
|
* @throws {Error} If the user is not authenticated or if there is an error during the process.
|
|
451
425
|
*/
|
|
452
426
|
async disableNotificationServices() {
|
|
427
|
+
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, true);
|
|
428
|
+
// Attempt Disable Push Notifications
|
|
453
429
|
try {
|
|
454
|
-
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, true);
|
|
455
|
-
// Disable Push Notifications
|
|
456
430
|
const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
|
|
457
431
|
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertUserStorage).call(this, userStorage);
|
|
458
432
|
const UUIDs = Utils.getAllUUIDs(userStorage);
|
|
459
433
|
await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").disablePushNotifications(UUIDs);
|
|
460
|
-
const snapNotifications = this.state.metamaskNotificationsList.filter((notification) => notification.type === TRIGGER_TYPES.SNAP);
|
|
461
|
-
// Clear Notification States (toggles and list)
|
|
462
|
-
this.update((state) => {
|
|
463
|
-
state.isNotificationServicesEnabled = false;
|
|
464
|
-
state.isFeatureAnnouncementsEnabled = false;
|
|
465
|
-
// reassigning the notifications list with just snaps
|
|
466
|
-
// since the disable shouldn't affect snaps notifications
|
|
467
|
-
state.metamaskNotificationsList = snapNotifications;
|
|
468
|
-
});
|
|
469
434
|
}
|
|
470
|
-
catch
|
|
471
|
-
|
|
472
|
-
throw new Error('Unable to disable notifications');
|
|
473
|
-
}
|
|
474
|
-
finally {
|
|
475
|
-
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, false);
|
|
435
|
+
catch {
|
|
436
|
+
// Do nothing
|
|
476
437
|
}
|
|
438
|
+
// Update State: remove non-permitted notifications & disable flags
|
|
439
|
+
const snapNotifications = this.state.metamaskNotificationsList.filter((notification) => notification.type === TRIGGER_TYPES.SNAP);
|
|
440
|
+
this.update((state) => {
|
|
441
|
+
state.isNotificationServicesEnabled = false;
|
|
442
|
+
state.isFeatureAnnouncementsEnabled = false;
|
|
443
|
+
// reassigning the notifications list with just snaps
|
|
444
|
+
// since the disable shouldn't affect snaps notifications
|
|
445
|
+
state.metamaskNotificationsList = snapNotifications;
|
|
446
|
+
});
|
|
447
|
+
// Finish Updating State
|
|
448
|
+
__classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, false);
|
|
477
449
|
}
|
|
478
450
|
/**
|
|
479
451
|
* Deletes on-chain triggers associated with a specific account.
|
|
@@ -798,10 +770,9 @@ class NotificationServicesController extends BaseController {
|
|
|
798
770
|
}
|
|
799
771
|
}
|
|
800
772
|
}
|
|
801
|
-
|
|
773
|
+
_NotificationServicesController_keyringController = new WeakMap(), _NotificationServicesController_auth = new WeakMap(), _NotificationServicesController_storage = new WeakMap(), _NotificationServicesController_pushNotifications = new WeakMap(), _NotificationServicesController_accounts = new WeakMap(), _NotificationServicesController_featureAnnouncementEnv = new WeakMap(), _NotificationServicesController_instances = new WeakSet(), _NotificationServicesController_registerMessageHandlers = function _NotificationServicesController_registerMessageHandlers() {
|
|
802
774
|
this.messagingSystem.registerActionHandler(`${controllerName}:updateMetamaskNotificationsList`, this.updateMetamaskNotificationsList.bind(this));
|
|
803
775
|
this.messagingSystem.registerActionHandler(`${controllerName}:disableNotificationServices`, this.disableNotificationServices.bind(this));
|
|
804
|
-
this.messagingSystem.registerActionHandler(`${controllerName}:selectIsNotificationServicesEnabled`, this.selectIsNotificationServicesEnabled.bind(this));
|
|
805
776
|
this.messagingSystem.registerActionHandler(`${controllerName}:getNotificationsByType`, this.getNotificationsByType.bind(this));
|
|
806
777
|
this.messagingSystem.registerActionHandler(`${controllerName}:deleteNotificationsById`, this.deleteNotificationsById.bind(this));
|
|
807
778
|
}, _NotificationServicesController_clearLoadingStates = function _NotificationServicesController_clearLoadingStates() {
|