@metamask-previews/notification-services-controller 0.5.0-preview-9edcf0e0 → 0.5.0-preview-9d310688

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.
Files changed (714) hide show
  1. package/dist/NotificationServicesController/NotificationServicesController.cjs +803 -0
  2. package/dist/NotificationServicesController/NotificationServicesController.cjs.map +1 -0
  3. package/dist/{types/NotificationServicesController/NotificationServicesController.d.ts → NotificationServicesController/NotificationServicesController.d.cts} +7 -7
  4. package/dist/NotificationServicesController/NotificationServicesController.d.cts.map +1 -0
  5. package/dist/NotificationServicesController/NotificationServicesController.d.mts +238 -0
  6. package/dist/NotificationServicesController/NotificationServicesController.d.mts.map +1 -0
  7. package/dist/NotificationServicesController/NotificationServicesController.mjs +779 -17
  8. package/dist/NotificationServicesController/NotificationServicesController.mjs.map +1 -1
  9. package/dist/NotificationServicesController/__fixtures__/index.cjs +22 -0
  10. package/dist/NotificationServicesController/__fixtures__/index.cjs.map +1 -0
  11. package/dist/NotificationServicesController/__fixtures__/index.d.cts +6 -0
  12. package/dist/NotificationServicesController/__fixtures__/index.d.cts.map +1 -0
  13. package/dist/NotificationServicesController/__fixtures__/index.d.mts +6 -0
  14. package/dist/NotificationServicesController/__fixtures__/index.d.mts.map +1 -0
  15. package/dist/NotificationServicesController/__fixtures__/index.mjs +6 -0
  16. package/dist/NotificationServicesController/__fixtures__/index.mjs.map +1 -0
  17. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.cjs +210 -0
  18. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.cjs.map +1 -0
  19. package/dist/{types/NotificationServicesController/__fixtures__/mock-feature-announcements.d.ts → NotificationServicesController/__fixtures__/mock-feature-announcements.d.cts} +3 -3
  20. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.d.cts.map +1 -0
  21. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.d.mts +15 -0
  22. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.d.mts.map +1 -0
  23. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.mjs +205 -0
  24. package/dist/NotificationServicesController/__fixtures__/mock-feature-announcements.mjs.map +1 -0
  25. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.cjs +22 -0
  26. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.cjs.map +1 -0
  27. package/dist/{types/NotificationServicesController/__fixtures__/mock-notification-trigger.d.ts → NotificationServicesController/__fixtures__/mock-notification-trigger.d.cts} +2 -2
  28. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.d.cts.map +1 -0
  29. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.d.mts +9 -0
  30. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.d.mts.map +1 -0
  31. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.mjs +18 -0
  32. package/dist/NotificationServicesController/__fixtures__/mock-notification-trigger.mjs.map +1 -0
  33. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.cjs +82 -0
  34. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.cjs.map +1 -0
  35. package/dist/{types/NotificationServicesController/__fixtures__/mock-notification-user-storage.d.ts → NotificationServicesController/__fixtures__/mock-notification-user-storage.d.cts} +3 -3
  36. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.d.cts.map +1 -0
  37. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.d.mts +35 -0
  38. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.d.mts.map +1 -0
  39. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.mjs +76 -0
  40. package/dist/NotificationServicesController/__fixtures__/mock-notification-user-storage.mjs.map +1 -0
  41. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.cjs +624 -0
  42. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.cjs.map +1 -0
  43. package/dist/{types/NotificationServicesController/__fixtures__/mock-raw-notifications.d.ts → NotificationServicesController/__fixtures__/mock-raw-notifications.d.cts} +2 -2
  44. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.d.cts.map +1 -0
  45. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.d.mts +82 -0
  46. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.d.mts.map +1 -0
  47. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.mjs +605 -0
  48. package/dist/NotificationServicesController/__fixtures__/mock-raw-notifications.mjs.map +1 -0
  49. package/dist/NotificationServicesController/__fixtures__/mockResponses.cjs +50 -0
  50. package/dist/NotificationServicesController/__fixtures__/mockResponses.cjs.map +1 -0
  51. package/dist/{types/NotificationServicesController/__fixtures__/mockResponses.d.ts → NotificationServicesController/__fixtures__/mockResponses.d.cts} +5 -5
  52. package/dist/NotificationServicesController/__fixtures__/mockResponses.d.cts.map +1 -0
  53. package/dist/NotificationServicesController/__fixtures__/mockResponses.d.mts +28 -0
  54. package/dist/NotificationServicesController/__fixtures__/mockResponses.d.mts.map +1 -0
  55. package/dist/NotificationServicesController/__fixtures__/mockResponses.mjs +42 -0
  56. package/dist/NotificationServicesController/__fixtures__/mockResponses.mjs.map +1 -0
  57. package/dist/NotificationServicesController/__fixtures__/mockServices.cjs +56 -0
  58. package/dist/NotificationServicesController/__fixtures__/mockServices.cjs.map +1 -0
  59. package/dist/{types/NotificationServicesController/__fixtures__/mockServices.d.ts → NotificationServicesController/__fixtures__/mockServices.d.cts} +2 -2
  60. package/dist/NotificationServicesController/__fixtures__/mockServices.d.cts.map +1 -0
  61. package/dist/NotificationServicesController/__fixtures__/mockServices.d.mts +12 -0
  62. package/dist/NotificationServicesController/__fixtures__/mockServices.d.mts.map +1 -0
  63. package/dist/NotificationServicesController/__fixtures__/mockServices.mjs +52 -0
  64. package/dist/NotificationServicesController/__fixtures__/mockServices.mjs.map +1 -0
  65. package/dist/NotificationServicesController/__fixtures__/test-utils.cjs +31 -0
  66. package/dist/NotificationServicesController/__fixtures__/test-utils.cjs.map +1 -0
  67. package/dist/{types/NotificationServicesController/__fixtures__/test-utils.d.ts → NotificationServicesController/__fixtures__/test-utils.d.cts} +1 -1
  68. package/dist/NotificationServicesController/__fixtures__/test-utils.d.cts.map +1 -0
  69. package/dist/NotificationServicesController/__fixtures__/test-utils.d.mts +14 -0
  70. package/dist/NotificationServicesController/__fixtures__/test-utils.d.mts.map +1 -0
  71. package/dist/NotificationServicesController/__fixtures__/test-utils.mjs +27 -0
  72. package/dist/NotificationServicesController/__fixtures__/test-utils.mjs.map +1 -0
  73. package/dist/NotificationServicesController/constants/constants.cjs +7 -0
  74. package/dist/NotificationServicesController/constants/constants.cjs.map +1 -0
  75. package/dist/{types/NotificationServicesController/constants/constants.d.ts → NotificationServicesController/constants/constants.d.cts} +1 -1
  76. package/dist/NotificationServicesController/constants/constants.d.cts.map +1 -0
  77. package/dist/NotificationServicesController/constants/constants.d.mts +3 -0
  78. package/dist/NotificationServicesController/constants/constants.d.mts.map +1 -0
  79. package/dist/NotificationServicesController/constants/constants.mjs +3 -9
  80. package/dist/NotificationServicesController/constants/constants.mjs.map +1 -1
  81. package/dist/NotificationServicesController/constants/index.cjs +19 -0
  82. package/dist/NotificationServicesController/constants/index.cjs.map +1 -0
  83. package/dist/NotificationServicesController/constants/index.d.cts +3 -0
  84. package/dist/NotificationServicesController/constants/index.d.cts.map +1 -0
  85. package/dist/NotificationServicesController/constants/index.d.mts +3 -0
  86. package/dist/NotificationServicesController/constants/index.d.mts.map +1 -0
  87. package/dist/NotificationServicesController/constants/index.mjs +2 -28
  88. package/dist/NotificationServicesController/constants/index.mjs.map +1 -1
  89. package/dist/NotificationServicesController/constants/notification-schema.cjs +170 -0
  90. package/dist/NotificationServicesController/constants/notification-schema.cjs.map +1 -0
  91. package/dist/{types/NotificationServicesController/constants/notification-schema.d.ts → NotificationServicesController/constants/notification-schema.d.cts} +2 -2
  92. package/dist/NotificationServicesController/constants/notification-schema.d.cts.map +1 -0
  93. package/dist/NotificationServicesController/constants/notification-schema.d.mts +48 -0
  94. package/dist/NotificationServicesController/constants/notification-schema.d.mts.map +1 -0
  95. package/dist/NotificationServicesController/constants/notification-schema.mjs +165 -20
  96. package/dist/NotificationServicesController/constants/notification-schema.mjs.map +1 -1
  97. package/dist/NotificationServicesController/index.cjs +46 -0
  98. package/dist/NotificationServicesController/index.cjs.map +1 -0
  99. package/dist/NotificationServicesController/index.d.cts +14 -0
  100. package/dist/NotificationServicesController/index.d.cts.map +1 -0
  101. package/dist/NotificationServicesController/index.d.mts +14 -0
  102. package/dist/NotificationServicesController/index.d.mts.map +1 -0
  103. package/dist/NotificationServicesController/index.mjs +13 -86
  104. package/dist/NotificationServicesController/index.mjs.map +1 -1
  105. package/dist/NotificationServicesController/processors/index.cjs +20 -0
  106. package/dist/NotificationServicesController/processors/index.cjs.map +1 -0
  107. package/dist/NotificationServicesController/processors/index.d.cts +4 -0
  108. package/dist/NotificationServicesController/processors/index.d.cts.map +1 -0
  109. package/dist/NotificationServicesController/processors/index.d.mts +4 -0
  110. package/dist/NotificationServicesController/processors/index.d.mts.map +1 -0
  111. package/dist/NotificationServicesController/processors/index.mjs +3 -21
  112. package/dist/NotificationServicesController/processors/index.mjs.map +1 -1
  113. package/dist/NotificationServicesController/processors/process-feature-announcement.cjs +41 -0
  114. package/dist/{chunk-52CALMRA.js.map → NotificationServicesController/processors/process-feature-announcement.cjs.map} +1 -1
  115. package/dist/{types/NotificationServicesController/processors/process-feature-announcement.d.ts → NotificationServicesController/processors/process-feature-announcement.d.cts} +3 -3
  116. package/dist/NotificationServicesController/processors/process-feature-announcement.d.cts.map +1 -0
  117. package/dist/NotificationServicesController/processors/process-feature-announcement.d.mts +19 -0
  118. package/dist/NotificationServicesController/processors/process-feature-announcement.d.mts.map +1 -0
  119. package/dist/NotificationServicesController/processors/process-feature-announcement.mjs +34 -8
  120. package/dist/NotificationServicesController/processors/process-feature-announcement.mjs.map +1 -1
  121. package/dist/NotificationServicesController/processors/process-notifications.cjs +50 -0
  122. package/dist/NotificationServicesController/processors/process-notifications.cjs.map +1 -0
  123. package/dist/{types/NotificationServicesController/processors/process-notifications.d.ts → NotificationServicesController/processors/process-notifications.d.cts} +2 -2
  124. package/dist/NotificationServicesController/processors/process-notifications.d.cts.map +1 -0
  125. package/dist/NotificationServicesController/processors/process-notifications.d.mts +19 -0
  126. package/dist/NotificationServicesController/processors/process-notifications.d.mts.map +1 -0
  127. package/dist/NotificationServicesController/processors/process-notifications.mjs +44 -12
  128. package/dist/NotificationServicesController/processors/process-notifications.mjs.map +1 -1
  129. package/dist/NotificationServicesController/processors/process-onchain-notifications.cjs +19 -0
  130. package/dist/NotificationServicesController/processors/process-onchain-notifications.cjs.map +1 -0
  131. package/dist/{types/NotificationServicesController/processors/process-onchain-notifications.d.ts → NotificationServicesController/processors/process-onchain-notifications.d.cts} +3 -3
  132. package/dist/NotificationServicesController/processors/process-onchain-notifications.d.cts.map +1 -0
  133. package/dist/NotificationServicesController/processors/process-onchain-notifications.d.mts +10 -0
  134. package/dist/NotificationServicesController/processors/process-onchain-notifications.d.mts.map +1 -0
  135. package/dist/NotificationServicesController/processors/process-onchain-notifications.mjs +14 -7
  136. package/dist/NotificationServicesController/processors/process-onchain-notifications.mjs.map +1 -1
  137. package/dist/NotificationServicesController/services/feature-announcements.cjs +97 -0
  138. package/dist/NotificationServicesController/services/feature-announcements.cjs.map +1 -0
  139. package/dist/{types/NotificationServicesController/services/feature-announcements.d.ts → NotificationServicesController/services/feature-announcements.d.cts} +4 -4
  140. package/dist/NotificationServicesController/services/feature-announcements.d.cts.map +1 -0
  141. package/dist/NotificationServicesController/services/feature-announcements.d.mts +28 -0
  142. package/dist/NotificationServicesController/services/feature-announcements.d.mts.map +1 -0
  143. package/dist/NotificationServicesController/services/feature-announcements.mjs +91 -12
  144. package/dist/NotificationServicesController/services/feature-announcements.mjs.map +1 -1
  145. package/dist/NotificationServicesController/services/onchain-notifications.cjs +195 -0
  146. package/dist/NotificationServicesController/services/onchain-notifications.cjs.map +1 -0
  147. package/dist/{types/NotificationServicesController/services/onchain-notifications.d.ts → NotificationServicesController/services/onchain-notifications.d.cts} +3 -3
  148. package/dist/NotificationServicesController/services/onchain-notifications.d.cts.map +1 -0
  149. package/dist/NotificationServicesController/services/onchain-notifications.d.mts +62 -0
  150. package/dist/NotificationServicesController/services/onchain-notifications.d.mts.map +1 -0
  151. package/dist/NotificationServicesController/services/onchain-notifications.mjs +190 -29
  152. package/dist/NotificationServicesController/services/onchain-notifications.mjs.map +1 -1
  153. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.cjs +3 -0
  154. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.cjs.map +1 -0
  155. package/dist/{types/NotificationServicesController/types/feature-announcement/feature-announcement.d.ts → NotificationServicesController/types/feature-announcement/feature-announcement.d.cts} +3 -3
  156. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.d.cts.map +1 -0
  157. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.d.mts +32 -0
  158. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.d.mts.map +1 -0
  159. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.mjs +1 -1
  160. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.mjs.map +1 -1
  161. package/dist/NotificationServicesController/types/feature-announcement/index.cjs +20 -0
  162. package/dist/NotificationServicesController/types/feature-announcement/index.cjs.map +1 -0
  163. package/dist/NotificationServicesController/types/feature-announcement/index.d.cts +4 -0
  164. package/dist/NotificationServicesController/types/feature-announcement/index.d.cts.map +1 -0
  165. package/dist/NotificationServicesController/types/feature-announcement/index.d.mts +4 -0
  166. package/dist/NotificationServicesController/types/feature-announcement/index.d.mts.map +1 -0
  167. package/dist/NotificationServicesController/types/feature-announcement/index.mjs +3 -4
  168. package/dist/NotificationServicesController/types/feature-announcement/index.mjs.map +1 -1
  169. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.cjs +3 -0
  170. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.cjs.map +1 -0
  171. package/dist/{types/NotificationServicesController/types/feature-announcement/type-feature-announcement.d.ts → NotificationServicesController/types/feature-announcement/type-feature-announcement.d.cts} +3 -3
  172. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.d.cts.map +1 -0
  173. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.d.mts +39 -0
  174. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.d.mts.map +1 -0
  175. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.mjs +1 -1
  176. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.mjs.map +1 -1
  177. package/dist/NotificationServicesController/types/feature-announcement/type-links.cjs +3 -0
  178. package/dist/NotificationServicesController/types/feature-announcement/type-links.cjs.map +1 -0
  179. package/dist/{types/NotificationServicesController/types/feature-announcement/type-links.d.ts → NotificationServicesController/types/feature-announcement/type-links.d.cts} +1 -1
  180. package/dist/NotificationServicesController/types/feature-announcement/type-links.d.cts.map +1 -0
  181. package/dist/NotificationServicesController/types/feature-announcement/type-links.d.mts +29 -0
  182. package/dist/NotificationServicesController/types/feature-announcement/type-links.d.mts.map +1 -0
  183. package/dist/NotificationServicesController/types/feature-announcement/type-links.mjs +1 -1
  184. package/dist/NotificationServicesController/types/feature-announcement/type-links.mjs.map +1 -1
  185. package/dist/NotificationServicesController/types/index.cjs +21 -0
  186. package/dist/NotificationServicesController/types/index.cjs.map +1 -0
  187. package/dist/NotificationServicesController/types/index.d.cts +5 -0
  188. package/dist/NotificationServicesController/types/index.d.cts.map +1 -0
  189. package/dist/NotificationServicesController/types/index.d.mts +5 -0
  190. package/dist/NotificationServicesController/types/index.d.mts.map +1 -0
  191. package/dist/NotificationServicesController/types/index.mjs +4 -11
  192. package/dist/NotificationServicesController/types/index.mjs.map +1 -1
  193. package/dist/NotificationServicesController/types/notification/index.cjs +18 -0
  194. package/dist/NotificationServicesController/types/notification/index.cjs.map +1 -0
  195. package/dist/NotificationServicesController/types/notification/index.d.cts +2 -0
  196. package/dist/NotificationServicesController/types/notification/index.d.cts.map +1 -0
  197. package/dist/NotificationServicesController/types/notification/index.d.mts +2 -0
  198. package/dist/NotificationServicesController/types/notification/index.d.mts.map +1 -0
  199. package/dist/NotificationServicesController/types/notification/index.mjs +1 -2
  200. package/dist/NotificationServicesController/types/notification/index.mjs.map +1 -1
  201. package/dist/NotificationServicesController/types/notification/notification.cjs +3 -0
  202. package/dist/NotificationServicesController/types/notification/notification.cjs.map +1 -0
  203. package/dist/{types/NotificationServicesController/types/notification/notification.d.ts → NotificationServicesController/types/notification/notification.d.cts} +4 -4
  204. package/dist/NotificationServicesController/types/notification/notification.d.cts.map +1 -0
  205. package/dist/NotificationServicesController/types/notification/notification.d.mts +25 -0
  206. package/dist/NotificationServicesController/types/notification/notification.d.mts.map +1 -0
  207. package/dist/NotificationServicesController/types/notification/notification.mjs +1 -1
  208. package/dist/NotificationServicesController/types/notification/notification.mjs.map +1 -1
  209. package/dist/NotificationServicesController/types/on-chain-notification/index.cjs +18 -0
  210. package/dist/NotificationServicesController/types/on-chain-notification/index.cjs.map +1 -0
  211. package/dist/NotificationServicesController/types/on-chain-notification/index.d.cts +2 -0
  212. package/dist/NotificationServicesController/types/on-chain-notification/index.d.cts.map +1 -0
  213. package/dist/NotificationServicesController/types/on-chain-notification/index.d.mts +2 -0
  214. package/dist/NotificationServicesController/types/on-chain-notification/index.d.mts.map +1 -0
  215. package/dist/NotificationServicesController/types/on-chain-notification/index.mjs +1 -2
  216. package/dist/NotificationServicesController/types/on-chain-notification/index.mjs.map +1 -1
  217. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.cjs +3 -0
  218. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.cjs.map +1 -0
  219. package/dist/{types/NotificationServicesController/types/on-chain-notification/on-chain-notification.d.ts → NotificationServicesController/types/on-chain-notification/on-chain-notification.d.cts} +4 -4
  220. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.d.cts.map +1 -0
  221. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.d.mts +43 -0
  222. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.d.mts.map +1 -0
  223. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.mjs +1 -1
  224. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.mjs.map +1 -1
  225. package/dist/NotificationServicesController/types/on-chain-notification/schema.cjs +9 -0
  226. package/dist/NotificationServicesController/types/on-chain-notification/schema.cjs.map +1 -0
  227. package/dist/{types/NotificationServicesController/types/on-chain-notification/schema.d.ts → NotificationServicesController/types/on-chain-notification/schema.d.cts} +1 -1
  228. package/dist/NotificationServicesController/types/on-chain-notification/schema.d.cts.map +1 -0
  229. package/dist/NotificationServicesController/types/on-chain-notification/schema.d.mts +283 -0
  230. package/dist/NotificationServicesController/types/on-chain-notification/schema.d.mts.map +1 -0
  231. package/dist/NotificationServicesController/types/on-chain-notification/schema.mjs +7 -0
  232. package/dist/NotificationServicesController/types/on-chain-notification/schema.mjs.map +1 -1
  233. package/dist/NotificationServicesController/types/type-utils.cjs +3 -0
  234. package/dist/NotificationServicesController/types/type-utils.cjs.map +1 -0
  235. package/dist/{types/NotificationServicesController/types/type-utils.d.ts → NotificationServicesController/types/type-utils.d.cts} +1 -1
  236. package/dist/NotificationServicesController/types/type-utils.d.cts.map +1 -0
  237. package/dist/NotificationServicesController/types/type-utils.d.mts +7 -0
  238. package/dist/NotificationServicesController/types/type-utils.d.mts.map +1 -0
  239. package/dist/NotificationServicesController/types/type-utils.mjs +1 -0
  240. package/dist/NotificationServicesController/types/type-utils.mjs.map +1 -1
  241. package/dist/NotificationServicesController/types/user-storage/index.cjs +18 -0
  242. package/dist/NotificationServicesController/types/user-storage/index.cjs.map +1 -0
  243. package/dist/NotificationServicesController/types/user-storage/index.d.cts +2 -0
  244. package/dist/NotificationServicesController/types/user-storage/index.d.cts.map +1 -0
  245. package/dist/NotificationServicesController/types/user-storage/index.d.mts +2 -0
  246. package/dist/NotificationServicesController/types/user-storage/index.d.mts.map +1 -0
  247. package/dist/NotificationServicesController/types/user-storage/index.mjs +1 -2
  248. package/dist/NotificationServicesController/types/user-storage/index.mjs.map +1 -1
  249. package/dist/NotificationServicesController/types/user-storage/user-storage.cjs +3 -0
  250. package/dist/NotificationServicesController/types/user-storage/user-storage.cjs.map +1 -0
  251. package/dist/{types/NotificationServicesController/types/user-storage/user-storage.d.ts → NotificationServicesController/types/user-storage/user-storage.d.cts} +3 -3
  252. package/dist/NotificationServicesController/types/user-storage/user-storage.d.cts.map +1 -0
  253. package/dist/NotificationServicesController/types/user-storage/user-storage.d.mts +26 -0
  254. package/dist/NotificationServicesController/types/user-storage/user-storage.d.mts.map +1 -0
  255. package/dist/NotificationServicesController/types/user-storage/user-storage.mjs +1 -1
  256. package/dist/NotificationServicesController/types/user-storage/user-storage.mjs.map +1 -1
  257. package/dist/NotificationServicesController/ui/constants.cjs +62 -0
  258. package/dist/NotificationServicesController/ui/constants.cjs.map +1 -0
  259. package/dist/{types/NotificationServicesController/ui/constants.d.ts → NotificationServicesController/ui/constants.d.cts} +2 -2
  260. package/dist/NotificationServicesController/ui/constants.d.cts.map +1 -0
  261. package/dist/NotificationServicesController/ui/constants.d.mts +54 -0
  262. package/dist/NotificationServicesController/ui/constants.d.mts.map +1 -0
  263. package/dist/NotificationServicesController/ui/constants.mjs +56 -14
  264. package/dist/NotificationServicesController/ui/constants.mjs.map +1 -1
  265. package/dist/NotificationServicesController/ui/index.cjs +18 -0
  266. package/dist/NotificationServicesController/ui/index.cjs.map +1 -0
  267. package/dist/NotificationServicesController/ui/index.d.cts +2 -0
  268. package/dist/NotificationServicesController/ui/index.d.cts.map +1 -0
  269. package/dist/NotificationServicesController/ui/index.d.mts +2 -0
  270. package/dist/NotificationServicesController/ui/index.d.mts.map +1 -0
  271. package/dist/NotificationServicesController/ui/index.mjs +1 -16
  272. package/dist/NotificationServicesController/ui/index.mjs.map +1 -1
  273. package/dist/NotificationServicesController/utils/utils.cjs +348 -0
  274. package/dist/NotificationServicesController/utils/utils.cjs.map +1 -0
  275. package/dist/{types/NotificationServicesController/utils/utils.d.ts → NotificationServicesController/utils/utils.d.cts} +3 -3
  276. package/dist/NotificationServicesController/utils/utils.d.cts.map +1 -0
  277. package/dist/NotificationServicesController/utils/utils.d.mts +142 -0
  278. package/dist/NotificationServicesController/utils/utils.d.mts.map +1 -0
  279. package/dist/NotificationServicesController/utils/utils.mjs +332 -31
  280. package/dist/NotificationServicesController/utils/utils.mjs.map +1 -1
  281. package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs +215 -0
  282. package/dist/NotificationServicesPushController/NotificationServicesPushController.cjs.map +1 -0
  283. package/dist/{types/NotificationServicesPushController/NotificationServicesPushController.d.ts → NotificationServicesPushController/NotificationServicesPushController.d.cts} +6 -6
  284. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.cts.map +1 -0
  285. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts +112 -0
  286. package/dist/NotificationServicesPushController/NotificationServicesPushController.d.mts.map +1 -0
  287. package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs +214 -37
  288. package/dist/NotificationServicesPushController/NotificationServicesPushController.mjs.map +1 -1
  289. package/dist/NotificationServicesPushController/__fixtures__/index.cjs +18 -0
  290. package/dist/NotificationServicesPushController/__fixtures__/index.cjs.map +1 -0
  291. package/dist/NotificationServicesPushController/__fixtures__/index.d.cts +2 -0
  292. package/dist/NotificationServicesPushController/__fixtures__/index.d.cts.map +1 -0
  293. package/dist/NotificationServicesPushController/__fixtures__/index.d.mts +2 -0
  294. package/dist/NotificationServicesPushController/__fixtures__/index.d.mts.map +1 -0
  295. package/dist/NotificationServicesPushController/__fixtures__/index.mjs +2 -0
  296. package/dist/NotificationServicesPushController/__fixtures__/index.mjs.map +1 -0
  297. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.cjs +57 -0
  298. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.cjs.map +1 -0
  299. package/dist/{types/NotificationServicesPushController/__fixtures__/mockResponse.d.ts → NotificationServicesPushController/__fixtures__/mockResponse.d.cts} +2 -2
  300. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.d.cts.map +1 -0
  301. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.d.mts +43 -0
  302. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.d.mts.map +1 -0
  303. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.mjs +50 -0
  304. package/dist/NotificationServicesPushController/__fixtures__/mockResponse.mjs.map +1 -0
  305. package/dist/NotificationServicesPushController/__fixtures__/mockServices.cjs +31 -0
  306. package/dist/NotificationServicesPushController/__fixtures__/mockServices.cjs.map +1 -0
  307. package/dist/{types/NotificationServicesPushController/__fixtures__/mockServices.d.ts → NotificationServicesPushController/__fixtures__/mockServices.d.cts} +2 -2
  308. package/dist/NotificationServicesPushController/__fixtures__/mockServices.d.cts.map +1 -0
  309. package/dist/NotificationServicesPushController/__fixtures__/mockServices.d.mts +9 -0
  310. package/dist/NotificationServicesPushController/__fixtures__/mockServices.d.mts.map +1 -0
  311. package/dist/NotificationServicesPushController/__fixtures__/mockServices.mjs +30 -0
  312. package/dist/NotificationServicesPushController/__fixtures__/mockServices.mjs.map +1 -0
  313. package/dist/NotificationServicesPushController/constants.cjs +14 -0
  314. package/dist/NotificationServicesPushController/constants.cjs.map +1 -0
  315. package/dist/{types/NotificationServicesPushController/constants.d.ts → NotificationServicesPushController/constants.d.cts} +1 -1
  316. package/dist/NotificationServicesPushController/constants.d.cts.map +1 -0
  317. package/dist/NotificationServicesPushController/constants.d.mts +11 -0
  318. package/dist/NotificationServicesPushController/constants.d.mts.map +1 -0
  319. package/dist/NotificationServicesPushController/constants.mjs +10 -25
  320. package/dist/NotificationServicesPushController/constants.mjs.map +1 -1
  321. package/dist/NotificationServicesPushController/index.cjs +43 -0
  322. package/dist/NotificationServicesPushController/index.cjs.map +1 -0
  323. package/dist/NotificationServicesPushController/index.d.cts +11 -0
  324. package/dist/NotificationServicesPushController/index.d.cts.map +1 -0
  325. package/dist/NotificationServicesPushController/index.d.mts +11 -0
  326. package/dist/NotificationServicesPushController/index.d.mts.map +1 -0
  327. package/dist/NotificationServicesPushController/index.mjs +10 -71
  328. package/dist/NotificationServicesPushController/index.mjs.map +1 -1
  329. package/dist/NotificationServicesPushController/services/endpoints.cjs +6 -0
  330. package/dist/NotificationServicesPushController/services/endpoints.cjs.map +1 -0
  331. package/dist/{types/NotificationServicesPushController/services/endpoints.d.ts → NotificationServicesPushController/services/endpoints.d.cts} +1 -1
  332. package/dist/NotificationServicesPushController/services/endpoints.d.cts.map +1 -0
  333. package/dist/NotificationServicesPushController/services/endpoints.d.mts +2 -0
  334. package/dist/NotificationServicesPushController/services/endpoints.d.mts.map +1 -0
  335. package/dist/NotificationServicesPushController/services/endpoints.mjs +2 -7
  336. package/dist/NotificationServicesPushController/services/endpoints.mjs.map +1 -1
  337. package/dist/NotificationServicesPushController/services/push/index.cjs +3 -0
  338. package/dist/NotificationServicesPushController/services/push/index.cjs.map +1 -0
  339. package/dist/{types/NotificationServicesPushController/services/push/index.d.ts → NotificationServicesPushController/services/push/index.d.cts} +2 -2
  340. package/dist/NotificationServicesPushController/services/push/index.d.cts.map +1 -0
  341. package/dist/NotificationServicesPushController/services/push/index.d.mts +6 -0
  342. package/dist/NotificationServicesPushController/services/push/index.d.mts.map +1 -0
  343. package/dist/NotificationServicesPushController/services/push/index.mjs +1 -0
  344. package/dist/NotificationServicesPushController/services/push/index.mjs.map +1 -1
  345. package/dist/NotificationServicesPushController/services/push/push-web.cjs +121 -0
  346. package/dist/NotificationServicesPushController/services/push/push-web.cjs.map +1 -0
  347. package/dist/{types/NotificationServicesPushController/services/push/push-web.d.ts → NotificationServicesPushController/services/push/push-web.d.cts} +3 -3
  348. package/dist/NotificationServicesPushController/services/push/push-web.d.cts.map +1 -0
  349. package/dist/NotificationServicesPushController/services/push/push-web.d.mts +32 -0
  350. package/dist/NotificationServicesPushController/services/push/push-web.d.mts.map +1 -0
  351. package/dist/NotificationServicesPushController/services/push/push-web.mjs +116 -38
  352. package/dist/NotificationServicesPushController/services/push/push-web.mjs.map +1 -1
  353. package/dist/NotificationServicesPushController/services/services.cjs +197 -0
  354. package/dist/NotificationServicesPushController/services/services.cjs.map +1 -0
  355. package/dist/{types/NotificationServicesPushController/services/services.d.ts → NotificationServicesPushController/services/services.d.cts} +4 -4
  356. package/dist/NotificationServicesPushController/services/services.d.cts.map +1 -0
  357. package/dist/NotificationServicesPushController/services/services.d.mts +95 -0
  358. package/dist/NotificationServicesPushController/services/services.d.mts.map +1 -0
  359. package/dist/NotificationServicesPushController/services/services.mjs +168 -45
  360. package/dist/NotificationServicesPushController/services/services.mjs.map +1 -1
  361. package/dist/NotificationServicesPushController/types/firebase.cjs +3 -0
  362. package/dist/NotificationServicesPushController/types/firebase.cjs.map +1 -0
  363. package/dist/{types/NotificationServicesPushController/types/firebase.d.ts → NotificationServicesPushController/types/firebase.d.cts} +1 -1
  364. package/dist/NotificationServicesPushController/types/firebase.d.cts.map +1 -0
  365. package/dist/NotificationServicesPushController/types/firebase.d.mts +53 -0
  366. package/dist/NotificationServicesPushController/types/firebase.d.mts.map +1 -0
  367. package/dist/NotificationServicesPushController/types/firebase.mjs +1 -1
  368. package/dist/NotificationServicesPushController/types/firebase.mjs.map +1 -1
  369. package/dist/NotificationServicesPushController/types/index.cjs +18 -0
  370. package/dist/NotificationServicesPushController/types/index.cjs.map +1 -0
  371. package/dist/NotificationServicesPushController/types/index.d.cts +2 -0
  372. package/dist/NotificationServicesPushController/types/index.d.cts.map +1 -0
  373. package/dist/NotificationServicesPushController/types/index.d.mts +2 -0
  374. package/dist/NotificationServicesPushController/types/index.d.mts.map +1 -0
  375. package/dist/NotificationServicesPushController/types/index.mjs +1 -2
  376. package/dist/NotificationServicesPushController/types/index.mjs.map +1 -1
  377. package/dist/NotificationServicesPushController/utils/get-notification-data.cjs +84 -0
  378. package/dist/NotificationServicesPushController/utils/get-notification-data.cjs.map +1 -0
  379. package/dist/{types/NotificationServicesPushController/utils/get-notification-data.d.ts → NotificationServicesPushController/utils/get-notification-data.d.cts} +2 -2
  380. package/dist/NotificationServicesPushController/utils/get-notification-data.d.cts.map +1 -0
  381. package/dist/NotificationServicesPushController/utils/get-notification-data.d.mts +42 -0
  382. package/dist/NotificationServicesPushController/utils/get-notification-data.d.mts.map +1 -0
  383. package/dist/NotificationServicesPushController/utils/get-notification-data.mjs +76 -12
  384. package/dist/NotificationServicesPushController/utils/get-notification-data.mjs.map +1 -1
  385. package/dist/NotificationServicesPushController/utils/get-notification-message.cjs +190 -0
  386. package/dist/NotificationServicesPushController/utils/get-notification-message.cjs.map +1 -0
  387. package/dist/{types/NotificationServicesPushController/utils/get-notification-message.d.ts → NotificationServicesPushController/utils/get-notification-message.d.cts} +3 -3
  388. package/dist/NotificationServicesPushController/utils/get-notification-message.d.cts.map +1 -0
  389. package/dist/NotificationServicesPushController/utils/get-notification-message.d.mts +67 -0
  390. package/dist/NotificationServicesPushController/utils/get-notification-message.d.mts.map +1 -0
  391. package/dist/NotificationServicesPushController/utils/get-notification-message.mjs +182 -37
  392. package/dist/NotificationServicesPushController/utils/get-notification-message.mjs.map +1 -1
  393. package/dist/NotificationServicesPushController/utils/index.cjs +19 -0
  394. package/dist/NotificationServicesPushController/utils/index.cjs.map +1 -0
  395. package/dist/NotificationServicesPushController/utils/index.d.cts +3 -0
  396. package/dist/NotificationServicesPushController/utils/index.d.cts.map +1 -0
  397. package/dist/NotificationServicesPushController/utils/index.d.mts +3 -0
  398. package/dist/NotificationServicesPushController/utils/index.d.mts.map +1 -0
  399. package/dist/NotificationServicesPushController/utils/index.mjs +2 -48
  400. package/dist/NotificationServicesPushController/utils/index.mjs.map +1 -1
  401. package/dist/index.cjs +29 -0
  402. package/dist/index.cjs.map +1 -0
  403. package/dist/index.d.cts +3 -0
  404. package/dist/index.d.cts.map +1 -0
  405. package/dist/index.d.mts +3 -0
  406. package/dist/index.d.mts.map +1 -0
  407. package/dist/index.mjs +2 -45
  408. package/dist/index.mjs.map +1 -1
  409. package/dist/shared/to-raw-notification.cjs +19 -0
  410. package/dist/shared/to-raw-notification.cjs.map +1 -0
  411. package/dist/{types/shared/to-raw-notification.d.ts → shared/to-raw-notification.d.cts} +2 -2
  412. package/dist/shared/to-raw-notification.d.cts.map +1 -0
  413. package/dist/shared/to-raw-notification.d.mts +11 -0
  414. package/dist/shared/to-raw-notification.d.mts.map +1 -0
  415. package/dist/shared/to-raw-notification.mjs +14 -7
  416. package/dist/shared/to-raw-notification.mjs.map +1 -1
  417. package/package.json +12 -7
  418. package/dist/NotificationServicesController/NotificationServicesController.js +0 -19
  419. package/dist/NotificationServicesController/NotificationServicesController.js.map +0 -1
  420. package/dist/NotificationServicesController/constants/constants.js +0 -10
  421. package/dist/NotificationServicesController/constants/constants.js.map +0 -1
  422. package/dist/NotificationServicesController/constants/index.js +0 -29
  423. package/dist/NotificationServicesController/constants/index.js.map +0 -1
  424. package/dist/NotificationServicesController/constants/notification-schema.js +0 -22
  425. package/dist/NotificationServicesController/constants/notification-schema.js.map +0 -1
  426. package/dist/NotificationServicesController/index.js +0 -87
  427. package/dist/NotificationServicesController/index.js.map +0 -1
  428. package/dist/NotificationServicesController/processors/index.js +0 -22
  429. package/dist/NotificationServicesController/processors/index.js.map +0 -1
  430. package/dist/NotificationServicesController/processors/process-feature-announcement.js +0 -10
  431. package/dist/NotificationServicesController/processors/process-feature-announcement.js.map +0 -1
  432. package/dist/NotificationServicesController/processors/process-notifications.js +0 -13
  433. package/dist/NotificationServicesController/processors/process-notifications.js.map +0 -1
  434. package/dist/NotificationServicesController/processors/process-onchain-notifications.js +0 -8
  435. package/dist/NotificationServicesController/processors/process-onchain-notifications.js.map +0 -1
  436. package/dist/NotificationServicesController/services/feature-announcements.js +0 -14
  437. package/dist/NotificationServicesController/services/feature-announcements.js.map +0 -1
  438. package/dist/NotificationServicesController/services/onchain-notifications.js +0 -30
  439. package/dist/NotificationServicesController/services/onchain-notifications.js.map +0 -1
  440. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.js +0 -2
  441. package/dist/NotificationServicesController/types/feature-announcement/feature-announcement.js.map +0 -1
  442. package/dist/NotificationServicesController/types/feature-announcement/index.js +0 -5
  443. package/dist/NotificationServicesController/types/feature-announcement/index.js.map +0 -1
  444. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.js +0 -2
  445. package/dist/NotificationServicesController/types/feature-announcement/type-feature-announcement.js.map +0 -1
  446. package/dist/NotificationServicesController/types/feature-announcement/type-links.js +0 -2
  447. package/dist/NotificationServicesController/types/feature-announcement/type-links.js.map +0 -1
  448. package/dist/NotificationServicesController/types/index.js +0 -12
  449. package/dist/NotificationServicesController/types/index.js.map +0 -1
  450. package/dist/NotificationServicesController/types/notification/index.js +0 -3
  451. package/dist/NotificationServicesController/types/notification/index.js.map +0 -1
  452. package/dist/NotificationServicesController/types/notification/notification.js +0 -2
  453. package/dist/NotificationServicesController/types/notification/notification.js.map +0 -1
  454. package/dist/NotificationServicesController/types/on-chain-notification/index.js +0 -3
  455. package/dist/NotificationServicesController/types/on-chain-notification/index.js.map +0 -1
  456. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.js +0 -2
  457. package/dist/NotificationServicesController/types/on-chain-notification/on-chain-notification.js.map +0 -1
  458. package/dist/NotificationServicesController/types/on-chain-notification/schema.js +0 -1
  459. package/dist/NotificationServicesController/types/on-chain-notification/schema.js.map +0 -1
  460. package/dist/NotificationServicesController/types/type-utils.js +0 -1
  461. package/dist/NotificationServicesController/types/type-utils.js.map +0 -1
  462. package/dist/NotificationServicesController/types/user-storage/index.js +0 -3
  463. package/dist/NotificationServicesController/types/user-storage/index.js.map +0 -1
  464. package/dist/NotificationServicesController/types/user-storage/user-storage.js +0 -2
  465. package/dist/NotificationServicesController/types/user-storage/user-storage.js.map +0 -1
  466. package/dist/NotificationServicesController/ui/constants.js +0 -16
  467. package/dist/NotificationServicesController/ui/constants.js.map +0 -1
  468. package/dist/NotificationServicesController/ui/index.js +0 -17
  469. package/dist/NotificationServicesController/ui/index.js.map +0 -1
  470. package/dist/NotificationServicesController/utils/utils.js +0 -32
  471. package/dist/NotificationServicesController/utils/utils.js.map +0 -1
  472. package/dist/NotificationServicesPushController/NotificationServicesPushController.js +0 -39
  473. package/dist/NotificationServicesPushController/NotificationServicesPushController.js.map +0 -1
  474. package/dist/NotificationServicesPushController/constants.js +0 -26
  475. package/dist/NotificationServicesPushController/constants.js.map +0 -1
  476. package/dist/NotificationServicesPushController/index.js +0 -72
  477. package/dist/NotificationServicesPushController/index.js.map +0 -1
  478. package/dist/NotificationServicesPushController/services/endpoints.js +0 -8
  479. package/dist/NotificationServicesPushController/services/endpoints.js.map +0 -1
  480. package/dist/NotificationServicesPushController/services/push/index.js +0 -1
  481. package/dist/NotificationServicesPushController/services/push/index.js.map +0 -1
  482. package/dist/NotificationServicesPushController/services/push/push-web.js +0 -40
  483. package/dist/NotificationServicesPushController/services/push/push-web.js.map +0 -1
  484. package/dist/NotificationServicesPushController/services/services.js +0 -46
  485. package/dist/NotificationServicesPushController/services/services.js.map +0 -1
  486. package/dist/NotificationServicesPushController/types/firebase.js +0 -2
  487. package/dist/NotificationServicesPushController/types/firebase.js.map +0 -1
  488. package/dist/NotificationServicesPushController/types/index.js +0 -3
  489. package/dist/NotificationServicesPushController/types/index.js.map +0 -1
  490. package/dist/NotificationServicesPushController/utils/get-notification-data.js +0 -14
  491. package/dist/NotificationServicesPushController/utils/get-notification-data.js.map +0 -1
  492. package/dist/NotificationServicesPushController/utils/get-notification-message.js +0 -39
  493. package/dist/NotificationServicesPushController/utils/get-notification-message.js.map +0 -1
  494. package/dist/NotificationServicesPushController/utils/index.js +0 -49
  495. package/dist/NotificationServicesPushController/utils/index.js.map +0 -1
  496. package/dist/chunk-232HZSEV.js +0 -7
  497. package/dist/chunk-232HZSEV.js.map +0 -1
  498. package/dist/chunk-2P5WP5NT.mjs +0 -37
  499. package/dist/chunk-2P5WP5NT.mjs.map +0 -1
  500. package/dist/chunk-3ZS2HAEG.js +0 -1
  501. package/dist/chunk-3ZS2HAEG.js.map +0 -1
  502. package/dist/chunk-4BTNTREI.mjs +0 -1
  503. package/dist/chunk-4BTNTREI.mjs.map +0 -1
  504. package/dist/chunk-4QXAPVW3.mjs +0 -1
  505. package/dist/chunk-4QXAPVW3.mjs.map +0 -1
  506. package/dist/chunk-52CALMRA.js +0 -28
  507. package/dist/chunk-53F3SYYM.mjs +0 -178
  508. package/dist/chunk-53F3SYYM.mjs.map +0 -1
  509. package/dist/chunk-5FAAZCBK.mjs +0 -29
  510. package/dist/chunk-5FAAZCBK.mjs.map +0 -1
  511. package/dist/chunk-6FLC6CJD.js +0 -149
  512. package/dist/chunk-6FLC6CJD.js.map +0 -1
  513. package/dist/chunk-6ZDVTRRT.mjs +0 -9
  514. package/dist/chunk-6ZDVTRRT.mjs.map +0 -1
  515. package/dist/chunk-77QIITUL.mjs +0 -67
  516. package/dist/chunk-77QIITUL.mjs.map +0 -1
  517. package/dist/chunk-7LWR54U7.js +0 -7
  518. package/dist/chunk-7LWR54U7.js.map +0 -1
  519. package/dist/chunk-7PWKQSM2.mjs +0 -972
  520. package/dist/chunk-7PWKQSM2.mjs.map +0 -1
  521. package/dist/chunk-7RM3YNTD.mjs +0 -1
  522. package/dist/chunk-7RM3YNTD.mjs.map +0 -1
  523. package/dist/chunk-A2RPVX47.mjs +0 -1
  524. package/dist/chunk-A2RPVX47.mjs.map +0 -1
  525. package/dist/chunk-B25TJ7KS.js +0 -8
  526. package/dist/chunk-B25TJ7KS.js.map +0 -1
  527. package/dist/chunk-B4ECJJ5C.mjs +0 -7
  528. package/dist/chunk-B4ECJJ5C.mjs.map +0 -1
  529. package/dist/chunk-BONB66A2.mjs +0 -14
  530. package/dist/chunk-BONB66A2.mjs.map +0 -1
  531. package/dist/chunk-C62SK2KY.mjs +0 -92
  532. package/dist/chunk-C62SK2KY.mjs.map +0 -1
  533. package/dist/chunk-CGPMMFUQ.mjs +0 -96
  534. package/dist/chunk-CGPMMFUQ.mjs.map +0 -1
  535. package/dist/chunk-CWZQMK63.mjs +0 -118
  536. package/dist/chunk-CWZQMK63.mjs.map +0 -1
  537. package/dist/chunk-D42BBXBM.mjs +0 -28
  538. package/dist/chunk-D42BBXBM.mjs.map +0 -1
  539. package/dist/chunk-DINCLRZT.mjs +0 -12
  540. package/dist/chunk-DINCLRZT.mjs.map +0 -1
  541. package/dist/chunk-DMH4NSLF.js +0 -1
  542. package/dist/chunk-DMH4NSLF.js.map +0 -1
  543. package/dist/chunk-DT6SLUWJ.js +0 -12
  544. package/dist/chunk-DT6SLUWJ.js.map +0 -1
  545. package/dist/chunk-EJ52BDLB.js +0 -55
  546. package/dist/chunk-EJ52BDLB.js.map +0 -1
  547. package/dist/chunk-ER475D6V.mjs +0 -231
  548. package/dist/chunk-ER475D6V.mjs.map +0 -1
  549. package/dist/chunk-G52DNXFH.mjs +0 -1
  550. package/dist/chunk-G52DNXFH.mjs.map +0 -1
  551. package/dist/chunk-GETQWOTI.js +0 -1
  552. package/dist/chunk-GETQWOTI.js.map +0 -1
  553. package/dist/chunk-HCDICNYK.js +0 -207
  554. package/dist/chunk-HCDICNYK.js.map +0 -1
  555. package/dist/chunk-HE3P5RM7.js +0 -178
  556. package/dist/chunk-HE3P5RM7.js.map +0 -1
  557. package/dist/chunk-HPUQYDVC.js +0 -1
  558. package/dist/chunk-HPUQYDVC.js.map +0 -1
  559. package/dist/chunk-HT6T5R4U.js +0 -96
  560. package/dist/chunk-HT6T5R4U.js.map +0 -1
  561. package/dist/chunk-IDO4JFV5.mjs +0 -1
  562. package/dist/chunk-IDO4JFV5.mjs.map +0 -1
  563. package/dist/chunk-IGY2S5BC.js +0 -36
  564. package/dist/chunk-IGY2S5BC.js.map +0 -1
  565. package/dist/chunk-IKWNHNJQ.mjs +0 -8
  566. package/dist/chunk-IKWNHNJQ.mjs.map +0 -1
  567. package/dist/chunk-IOMDG67D.mjs +0 -7
  568. package/dist/chunk-IOMDG67D.mjs.map +0 -1
  569. package/dist/chunk-IPI7BAW3.js +0 -1
  570. package/dist/chunk-IPI7BAW3.js.map +0 -1
  571. package/dist/chunk-JIJXHO5V.js +0 -885
  572. package/dist/chunk-JIJXHO5V.js.map +0 -1
  573. package/dist/chunk-JQ7WKFCI.mjs +0 -1
  574. package/dist/chunk-JQ7WKFCI.mjs.map +0 -1
  575. package/dist/chunk-JW3TK3NU.js +0 -221
  576. package/dist/chunk-JW3TK3NU.js.map +0 -1
  577. package/dist/chunk-KGLHGLER.js +0 -231
  578. package/dist/chunk-KGLHGLER.js.map +0 -1
  579. package/dist/chunk-LGXHJ24K.js +0 -92
  580. package/dist/chunk-LGXHJ24K.js.map +0 -1
  581. package/dist/chunk-LYEXYTOI.js +0 -14
  582. package/dist/chunk-LYEXYTOI.js.map +0 -1
  583. package/dist/chunk-LZMC2QML.mjs +0 -25
  584. package/dist/chunk-LZMC2QML.mjs.map +0 -1
  585. package/dist/chunk-MG5QDUDI.mjs +0 -48
  586. package/dist/chunk-MG5QDUDI.mjs.map +0 -1
  587. package/dist/chunk-MNBV5FJI.mjs +0 -31
  588. package/dist/chunk-MNBV5FJI.mjs.map +0 -1
  589. package/dist/chunk-NIPCK74T.js +0 -185
  590. package/dist/chunk-NIPCK74T.js.map +0 -1
  591. package/dist/chunk-O45HYLIV.js +0 -67
  592. package/dist/chunk-O45HYLIV.js.map +0 -1
  593. package/dist/chunk-ODI2BTKS.mjs +0 -55
  594. package/dist/chunk-ODI2BTKS.mjs.map +0 -1
  595. package/dist/chunk-OHFX4S6R.mjs +0 -185
  596. package/dist/chunk-OHFX4S6R.mjs.map +0 -1
  597. package/dist/chunk-OMBFVTP2.js +0 -37
  598. package/dist/chunk-OMBFVTP2.js.map +0 -1
  599. package/dist/chunk-PJMQ2XEG.js +0 -29
  600. package/dist/chunk-PJMQ2XEG.js.map +0 -1
  601. package/dist/chunk-PNCS6GEX.mjs +0 -1
  602. package/dist/chunk-PNCS6GEX.mjs.map +0 -1
  603. package/dist/chunk-PROWNV4M.js +0 -1
  604. package/dist/chunk-PROWNV4M.js.map +0 -1
  605. package/dist/chunk-QAOZN4AX.js +0 -25
  606. package/dist/chunk-QAOZN4AX.js.map +0 -1
  607. package/dist/chunk-QB5IFRLA.mjs +0 -1
  608. package/dist/chunk-QB5IFRLA.mjs.map +0 -1
  609. package/dist/chunk-RAUV5UV4.mjs +0 -1
  610. package/dist/chunk-RAUV5UV4.mjs.map +0 -1
  611. package/dist/chunk-SGLVWM4N.js +0 -48
  612. package/dist/chunk-SGLVWM4N.js.map +0 -1
  613. package/dist/chunk-TLX5QQK5.js +0 -9
  614. package/dist/chunk-TLX5QQK5.js.map +0 -1
  615. package/dist/chunk-U5UIDVOO.mjs +0 -36
  616. package/dist/chunk-U5UIDVOO.mjs.map +0 -1
  617. package/dist/chunk-U74Q3BRP.mjs +0 -1
  618. package/dist/chunk-U74Q3BRP.mjs.map +0 -1
  619. package/dist/chunk-UQ6MTYIR.js +0 -972
  620. package/dist/chunk-UQ6MTYIR.js.map +0 -1
  621. package/dist/chunk-UZHUVXRM.js +0 -31
  622. package/dist/chunk-UZHUVXRM.js.map +0 -1
  623. package/dist/chunk-V5HMYDWE.js +0 -1
  624. package/dist/chunk-V5HMYDWE.js.map +0 -1
  625. package/dist/chunk-VZMQIJMK.mjs +0 -149
  626. package/dist/chunk-VZMQIJMK.mjs.map +0 -1
  627. package/dist/chunk-W7IP4LDB.js +0 -118
  628. package/dist/chunk-W7IP4LDB.js.map +0 -1
  629. package/dist/chunk-WE4RFGT7.mjs +0 -885
  630. package/dist/chunk-WE4RFGT7.mjs.map +0 -1
  631. package/dist/chunk-WGBEAP2F.mjs +0 -207
  632. package/dist/chunk-WGBEAP2F.mjs.map +0 -1
  633. package/dist/chunk-WRYFIWNK.js +0 -1
  634. package/dist/chunk-WRYFIWNK.js.map +0 -1
  635. package/dist/chunk-XZEVRYUE.js +0 -1
  636. package/dist/chunk-XZEVRYUE.js.map +0 -1
  637. package/dist/chunk-YUMIJSUD.mjs +0 -221
  638. package/dist/chunk-YUMIJSUD.mjs.map +0 -1
  639. package/dist/chunk-ZBNBZN5H.js +0 -1
  640. package/dist/chunk-ZBNBZN5H.js.map +0 -1
  641. package/dist/chunk-ZV3DFBO4.js +0 -1
  642. package/dist/chunk-ZV3DFBO4.js.map +0 -1
  643. package/dist/index.js +0 -46
  644. package/dist/index.js.map +0 -1
  645. package/dist/shared/to-raw-notification.js +0 -8
  646. package/dist/shared/to-raw-notification.js.map +0 -1
  647. package/dist/tsconfig.build.tsbuildinfo +0 -1
  648. package/dist/types/NotificationServicesController/NotificationServicesController.d.ts.map +0 -1
  649. package/dist/types/NotificationServicesController/__fixtures__/index.d.ts +0 -6
  650. package/dist/types/NotificationServicesController/__fixtures__/index.d.ts.map +0 -1
  651. package/dist/types/NotificationServicesController/__fixtures__/mock-feature-announcements.d.ts.map +0 -1
  652. package/dist/types/NotificationServicesController/__fixtures__/mock-notification-trigger.d.ts.map +0 -1
  653. package/dist/types/NotificationServicesController/__fixtures__/mock-notification-user-storage.d.ts.map +0 -1
  654. package/dist/types/NotificationServicesController/__fixtures__/mock-raw-notifications.d.ts.map +0 -1
  655. package/dist/types/NotificationServicesController/__fixtures__/mockResponses.d.ts.map +0 -1
  656. package/dist/types/NotificationServicesController/__fixtures__/mockServices.d.ts.map +0 -1
  657. package/dist/types/NotificationServicesController/__fixtures__/test-utils.d.ts.map +0 -1
  658. package/dist/types/NotificationServicesController/constants/constants.d.ts.map +0 -1
  659. package/dist/types/NotificationServicesController/constants/index.d.ts +0 -3
  660. package/dist/types/NotificationServicesController/constants/index.d.ts.map +0 -1
  661. package/dist/types/NotificationServicesController/constants/notification-schema.d.ts.map +0 -1
  662. package/dist/types/NotificationServicesController/index.d.ts +0 -14
  663. package/dist/types/NotificationServicesController/index.d.ts.map +0 -1
  664. package/dist/types/NotificationServicesController/processors/index.d.ts +0 -4
  665. package/dist/types/NotificationServicesController/processors/index.d.ts.map +0 -1
  666. package/dist/types/NotificationServicesController/processors/process-feature-announcement.d.ts.map +0 -1
  667. package/dist/types/NotificationServicesController/processors/process-notifications.d.ts.map +0 -1
  668. package/dist/types/NotificationServicesController/processors/process-onchain-notifications.d.ts.map +0 -1
  669. package/dist/types/NotificationServicesController/services/feature-announcements.d.ts.map +0 -1
  670. package/dist/types/NotificationServicesController/services/onchain-notifications.d.ts.map +0 -1
  671. package/dist/types/NotificationServicesController/types/feature-announcement/feature-announcement.d.ts.map +0 -1
  672. package/dist/types/NotificationServicesController/types/feature-announcement/index.d.ts +0 -4
  673. package/dist/types/NotificationServicesController/types/feature-announcement/index.d.ts.map +0 -1
  674. package/dist/types/NotificationServicesController/types/feature-announcement/type-feature-announcement.d.ts.map +0 -1
  675. package/dist/types/NotificationServicesController/types/feature-announcement/type-links.d.ts.map +0 -1
  676. package/dist/types/NotificationServicesController/types/index.d.ts +0 -5
  677. package/dist/types/NotificationServicesController/types/index.d.ts.map +0 -1
  678. package/dist/types/NotificationServicesController/types/notification/index.d.ts +0 -2
  679. package/dist/types/NotificationServicesController/types/notification/index.d.ts.map +0 -1
  680. package/dist/types/NotificationServicesController/types/notification/notification.d.ts.map +0 -1
  681. package/dist/types/NotificationServicesController/types/on-chain-notification/index.d.ts +0 -2
  682. package/dist/types/NotificationServicesController/types/on-chain-notification/index.d.ts.map +0 -1
  683. package/dist/types/NotificationServicesController/types/on-chain-notification/on-chain-notification.d.ts.map +0 -1
  684. package/dist/types/NotificationServicesController/types/on-chain-notification/schema.d.ts.map +0 -1
  685. package/dist/types/NotificationServicesController/types/type-utils.d.ts.map +0 -1
  686. package/dist/types/NotificationServicesController/types/user-storage/index.d.ts +0 -2
  687. package/dist/types/NotificationServicesController/types/user-storage/index.d.ts.map +0 -1
  688. package/dist/types/NotificationServicesController/types/user-storage/user-storage.d.ts.map +0 -1
  689. package/dist/types/NotificationServicesController/ui/constants.d.ts.map +0 -1
  690. package/dist/types/NotificationServicesController/ui/index.d.ts +0 -2
  691. package/dist/types/NotificationServicesController/ui/index.d.ts.map +0 -1
  692. package/dist/types/NotificationServicesController/utils/utils.d.ts.map +0 -1
  693. package/dist/types/NotificationServicesPushController/NotificationServicesPushController.d.ts.map +0 -1
  694. package/dist/types/NotificationServicesPushController/__fixtures__/index.d.ts +0 -2
  695. package/dist/types/NotificationServicesPushController/__fixtures__/index.d.ts.map +0 -1
  696. package/dist/types/NotificationServicesPushController/__fixtures__/mockResponse.d.ts.map +0 -1
  697. package/dist/types/NotificationServicesPushController/__fixtures__/mockServices.d.ts.map +0 -1
  698. package/dist/types/NotificationServicesPushController/constants.d.ts.map +0 -1
  699. package/dist/types/NotificationServicesPushController/index.d.ts +0 -11
  700. package/dist/types/NotificationServicesPushController/index.d.ts.map +0 -1
  701. package/dist/types/NotificationServicesPushController/services/endpoints.d.ts.map +0 -1
  702. package/dist/types/NotificationServicesPushController/services/push/index.d.ts.map +0 -1
  703. package/dist/types/NotificationServicesPushController/services/push/push-web.d.ts.map +0 -1
  704. package/dist/types/NotificationServicesPushController/services/services.d.ts.map +0 -1
  705. package/dist/types/NotificationServicesPushController/types/firebase.d.ts.map +0 -1
  706. package/dist/types/NotificationServicesPushController/types/index.d.ts +0 -2
  707. package/dist/types/NotificationServicesPushController/types/index.d.ts.map +0 -1
  708. package/dist/types/NotificationServicesPushController/utils/get-notification-data.d.ts.map +0 -1
  709. package/dist/types/NotificationServicesPushController/utils/get-notification-message.d.ts.map +0 -1
  710. package/dist/types/NotificationServicesPushController/utils/index.d.ts +0 -3
  711. package/dist/types/NotificationServicesPushController/utils/index.d.ts.map +0 -1
  712. package/dist/types/index.d.ts +0 -3
  713. package/dist/types/index.d.ts.map +0 -1
  714. package/dist/types/shared/to-raw-notification.d.ts.map +0 -1
@@ -0,0 +1,803 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
+ if (kind === "m") throw new TypeError("Private method is not writable");
27
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
+ };
31
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ 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");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ var _NotificationServicesController_instances, _NotificationServicesController_isPushIntegrated, _NotificationServicesController_isPushNotificationsSetup, _NotificationServicesController_isUnlocked, _NotificationServicesController_keyringController, _NotificationServicesController_auth, _NotificationServicesController_storage, _NotificationServicesController_pushNotifications, _NotificationServicesController_accounts, _NotificationServicesController_featureAnnouncementEnv, _NotificationServicesController_registerMessageHandlers, _NotificationServicesController_clearLoadingStates, _NotificationServicesController_assertAuthEnabled, _NotificationServicesController_getValidStorageKeyAndBearerToken, _NotificationServicesController_performEnableProfileSyncing, _NotificationServicesController_assertUserStorage, _NotificationServicesController_getUserStorage, _NotificationServicesController_setIsUpdatingMetamaskNotifications, _NotificationServicesController_setIsFetchingMetamaskNotifications, _NotificationServicesController_setIsCheckingAccountsPresence, _NotificationServicesController_updateUpdatingAccountsState, _NotificationServicesController_clearUpdatingAccountsState;
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.defaultState = void 0;
42
+ const base_controller_1 = require("@metamask/base-controller");
43
+ const controller_utils_1 = require("@metamask/controller-utils");
44
+ const loglevel_1 = __importDefault(require("loglevel"));
45
+ const constants_1 = require("./constants/constants.cjs");
46
+ const notification_schema_1 = require("./constants/notification-schema.cjs");
47
+ const process_notifications_1 = require("./processors/process-notifications.cjs");
48
+ const FeatureNotifications = __importStar(require("./services/feature-announcements.cjs"));
49
+ const OnChainNotifications = __importStar(require("./services/onchain-notifications.cjs"));
50
+ const Utils = __importStar(require("./utils/utils.cjs"));
51
+ // Unique name for the controller
52
+ const controllerName = 'NotificationServicesController';
53
+ const metadata = {
54
+ subscriptionAccountsSeen: {
55
+ persist: true,
56
+ anonymous: true,
57
+ },
58
+ isMetamaskNotificationsFeatureSeen: {
59
+ persist: true,
60
+ anonymous: false,
61
+ },
62
+ isNotificationServicesEnabled: {
63
+ persist: true,
64
+ anonymous: false,
65
+ },
66
+ isFeatureAnnouncementsEnabled: {
67
+ persist: true,
68
+ anonymous: false,
69
+ },
70
+ metamaskNotificationsList: {
71
+ persist: true,
72
+ anonymous: true,
73
+ },
74
+ metamaskNotificationsReadList: {
75
+ persist: true,
76
+ anonymous: true,
77
+ },
78
+ isUpdatingMetamaskNotifications: {
79
+ persist: false,
80
+ anonymous: false,
81
+ },
82
+ isFetchingMetamaskNotifications: {
83
+ persist: false,
84
+ anonymous: false,
85
+ },
86
+ isUpdatingMetamaskNotificationsAccount: {
87
+ persist: false,
88
+ anonymous: false,
89
+ },
90
+ isCheckingAccountsPresence: {
91
+ persist: false,
92
+ anonymous: false,
93
+ },
94
+ };
95
+ exports.defaultState = {
96
+ subscriptionAccountsSeen: [],
97
+ isMetamaskNotificationsFeatureSeen: false,
98
+ isNotificationServicesEnabled: false,
99
+ isFeatureAnnouncementsEnabled: false,
100
+ metamaskNotificationsList: [],
101
+ metamaskNotificationsReadList: [],
102
+ isUpdatingMetamaskNotifications: false,
103
+ isFetchingMetamaskNotifications: false,
104
+ isUpdatingMetamaskNotificationsAccount: [],
105
+ isCheckingAccountsPresence: false,
106
+ };
107
+ /**
108
+ * Controller that enables wallet notifications and feature announcements
109
+ */
110
+ class NotificationServicesController extends base_controller_1.BaseController {
111
+ /**
112
+ * Creates a NotificationServicesController instance.
113
+ *
114
+ * @param args - The arguments to this function.
115
+ * @param args.messenger - Messenger used to communicate with BaseV2 controller.
116
+ * @param args.state - Initial state to set on this controller.
117
+ * @param args.env - environment variables for a given controller.
118
+ * @param args.env.featureAnnouncements - env variables for feature announcements.
119
+ * @param args.env.isPushIntegrated - toggle push notifications on/off if client has integrated them.
120
+ */
121
+ constructor({ messenger, state, env, }) {
122
+ super({
123
+ messenger,
124
+ metadata,
125
+ name: controllerName,
126
+ state: { ...exports.defaultState, ...state },
127
+ });
128
+ _NotificationServicesController_instances.add(this);
129
+ // Temporary boolean as push notifications are not yet enabled on mobile
130
+ _NotificationServicesController_isPushIntegrated.set(this, true);
131
+ // Flag to check is notifications have been setup when the browser/extension is initialized.
132
+ // We want to re-initialize push notifications when the browser/extension is refreshed
133
+ // To ensure we subscribe to the most up-to-date notifications
134
+ _NotificationServicesController_isPushNotificationsSetup.set(this, false);
135
+ _NotificationServicesController_isUnlocked.set(this, false);
136
+ _NotificationServicesController_keyringController.set(this, {
137
+ setupLockedStateSubscriptions: (onUnlock) => {
138
+ const { isUnlocked } = this.messagingSystem.call('KeyringController:getState');
139
+ __classPrivateFieldSet(this, _NotificationServicesController_isUnlocked, isUnlocked, "f");
140
+ this.messagingSystem.subscribe('KeyringController:unlock', () => {
141
+ __classPrivateFieldSet(this, _NotificationServicesController_isUnlocked, true, "f");
142
+ // messaging system cannot await promises
143
+ // we don't need to wait for a result on this.
144
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
145
+ onUnlock();
146
+ });
147
+ this.messagingSystem.subscribe('KeyringController:lock', () => {
148
+ __classPrivateFieldSet(this, _NotificationServicesController_isUnlocked, false, "f");
149
+ });
150
+ },
151
+ });
152
+ _NotificationServicesController_auth.set(this, {
153
+ getBearerToken: async () => {
154
+ return await this.messagingSystem.call('AuthenticationController:getBearerToken');
155
+ },
156
+ isSignedIn: () => {
157
+ return this.messagingSystem.call('AuthenticationController:isSignedIn');
158
+ },
159
+ });
160
+ _NotificationServicesController_storage.set(this, {
161
+ enableProfileSyncing: async () => {
162
+ return await this.messagingSystem.call('UserStorageController:enableProfileSyncing');
163
+ },
164
+ getStorageKey: () => {
165
+ return this.messagingSystem.call('UserStorageController:getStorageKey');
166
+ },
167
+ getNotificationStorage: async () => {
168
+ return await this.messagingSystem.call('UserStorageController:performGetStorage', 'notifications.notificationSettings');
169
+ },
170
+ setNotificationStorage: async (state) => {
171
+ return await this.messagingSystem.call('UserStorageController:performSetStorage', 'notifications.notificationSettings', state);
172
+ },
173
+ });
174
+ _NotificationServicesController_pushNotifications.set(this, {
175
+ subscribeToPushNotifications: async () => {
176
+ await this.messagingSystem.call('NotificationServicesPushController:subscribeToPushNotifications');
177
+ },
178
+ enablePushNotifications: async (UUIDs) => {
179
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
180
+ return;
181
+ }
182
+ try {
183
+ await this.messagingSystem.call('NotificationServicesPushController:enablePushNotifications', UUIDs);
184
+ }
185
+ catch (e) {
186
+ loglevel_1.default.error('Silently failed to enable push notifications', e);
187
+ }
188
+ },
189
+ disablePushNotifications: async (UUIDs) => {
190
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
191
+ return;
192
+ }
193
+ try {
194
+ await this.messagingSystem.call('NotificationServicesPushController:disablePushNotifications', UUIDs);
195
+ }
196
+ catch (e) {
197
+ loglevel_1.default.error('Silently failed to disable push notifications', e);
198
+ }
199
+ },
200
+ updatePushNotifications: async (UUIDs) => {
201
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
202
+ return;
203
+ }
204
+ try {
205
+ await this.messagingSystem.call('NotificationServicesPushController:updateTriggerPushNotifications', UUIDs);
206
+ }
207
+ catch (e) {
208
+ loglevel_1.default.error('Silently failed to update push notifications', e);
209
+ }
210
+ },
211
+ subscribe: () => {
212
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
213
+ return;
214
+ }
215
+ this.messagingSystem.subscribe('NotificationServicesPushController:onNewNotifications', (notification) => {
216
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
217
+ this.updateMetamaskNotificationsList(notification);
218
+ });
219
+ },
220
+ initializePushNotifications: async () => {
221
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_isPushIntegrated, "f")) {
222
+ return;
223
+ }
224
+ if (!this.state.isNotificationServicesEnabled) {
225
+ return;
226
+ }
227
+ if (__classPrivateFieldGet(this, _NotificationServicesController_isPushNotificationsSetup, "f")) {
228
+ return;
229
+ }
230
+ // If wallet is unlocked, we can create a fresh push subscription
231
+ // Otherwise we can subscribe to original subscription
232
+ if (__classPrivateFieldGet(this, _NotificationServicesController_isUnlocked, "f")) {
233
+ const storage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
234
+ if (!storage) {
235
+ return;
236
+ }
237
+ const uuids = Utils.getAllUUIDs(storage);
238
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").enablePushNotifications(uuids);
239
+ __classPrivateFieldSet(this, _NotificationServicesController_isPushNotificationsSetup, true, "f");
240
+ }
241
+ else {
242
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").subscribeToPushNotifications();
243
+ }
244
+ },
245
+ });
246
+ _NotificationServicesController_accounts.set(this, {
247
+ /**
248
+ * Used to get list of addresses from keyring (wallet addresses)
249
+ *
250
+ * @returns addresses removed, added, and latest list of addresses
251
+ */
252
+ listAccounts: async () => {
253
+ // Get previous and current account sets
254
+ const nonChecksumAccounts = await this.messagingSystem.call('KeyringController:getAccounts');
255
+ const accounts = nonChecksumAccounts.map((a) => (0, controller_utils_1.toChecksumHexAddress)(a));
256
+ const currentAccountsSet = new Set(accounts);
257
+ const prevAccountsSet = new Set(this.state.subscriptionAccountsSeen);
258
+ // Invalid value you cannot have zero accounts
259
+ // Only occurs when the Accounts controller is initializing.
260
+ if (accounts.length === 0) {
261
+ return {
262
+ accountsAdded: [],
263
+ accountsRemoved: [],
264
+ accounts: [],
265
+ };
266
+ }
267
+ // Calculate added and removed addresses
268
+ const accountsAdded = accounts.filter((a) => !prevAccountsSet.has(a));
269
+ const accountsRemoved = [...prevAccountsSet.values()].filter((a) => !currentAccountsSet.has(a));
270
+ // Update accounts seen
271
+ this.update((state) => {
272
+ state.subscriptionAccountsSeen = [...prevAccountsSet, ...accountsAdded];
273
+ });
274
+ return {
275
+ accountsAdded,
276
+ accountsRemoved,
277
+ accounts,
278
+ };
279
+ },
280
+ /**
281
+ * Initializes the cache/previous list. This is handy so we have an accurate in-mem state of the previous list of accounts.
282
+ *
283
+ * @returns result from list accounts
284
+ */
285
+ initialize: () => {
286
+ return __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").listAccounts();
287
+ },
288
+ /**
289
+ * Subscription to any state change in the keyring controller (aka wallet accounts).
290
+ * We can call the `listAccounts` defined above to find out about any accounts added, removed
291
+ * And call effects to subscribe/unsubscribe to notifications.
292
+ */
293
+ subscribe: () => {
294
+ this.messagingSystem.subscribe('KeyringController:stateChange',
295
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
296
+ async () => {
297
+ if (!this.state.isNotificationServicesEnabled) {
298
+ return;
299
+ }
300
+ const { accountsAdded, accountsRemoved } = await __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").listAccounts();
301
+ const promises = [];
302
+ if (accountsAdded.length > 0) {
303
+ promises.push(this.updateOnChainTriggersByAccount(accountsAdded));
304
+ }
305
+ if (accountsRemoved.length > 0) {
306
+ promises.push(this.deleteOnChainTriggersByAccount(accountsRemoved));
307
+ }
308
+ await Promise.all(promises);
309
+ });
310
+ },
311
+ });
312
+ _NotificationServicesController_featureAnnouncementEnv.set(this, void 0);
313
+ _NotificationServicesController_performEnableProfileSyncing.set(this, async () => {
314
+ try {
315
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").enableProfileSyncing();
316
+ }
317
+ catch (e) {
318
+ loglevel_1.default.error('Failed to enable profile syncing', e);
319
+ throw new Error('Failed to enable profile syncing');
320
+ }
321
+ });
322
+ __classPrivateFieldSet(this, _NotificationServicesController_isPushIntegrated, env.isPushIntegrated ?? true, "f");
323
+ __classPrivateFieldSet(this, _NotificationServicesController_featureAnnouncementEnv, env.featureAnnouncements, "f");
324
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_registerMessageHandlers).call(this);
325
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_clearLoadingStates).call(this);
326
+ __classPrivateFieldGet(this, _NotificationServicesController_keyringController, "f").setupLockedStateSubscriptions(__classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").initializePushNotifications);
327
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
328
+ __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").initialize();
329
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
330
+ __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").initializePushNotifications();
331
+ __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").subscribe();
332
+ __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").subscribe();
333
+ }
334
+ /**
335
+ * Retrieves the current enabled state of MetaMask notifications.
336
+ *
337
+ * This method directly returns the boolean value of `isMetamaskNotificationsEnabled`
338
+ * from the controller's state, indicating whether MetaMask notifications are currently enabled.
339
+ *
340
+ * @returns The enabled state of MetaMask notifications.
341
+ */
342
+ selectIsNotificationServicesEnabled() {
343
+ return this.state.isNotificationServicesEnabled;
344
+ }
345
+ async checkAccountsPresence(accounts) {
346
+ try {
347
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsCheckingAccountsPresence).call(this, true);
348
+ // Retrieve user storage
349
+ const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
350
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertUserStorage).call(this, userStorage);
351
+ const presence = Utils.checkAccountsPresence(userStorage, accounts);
352
+ return presence;
353
+ }
354
+ catch (error) {
355
+ loglevel_1.default.error('Failed to check accounts presence', error);
356
+ throw error;
357
+ }
358
+ finally {
359
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsCheckingAccountsPresence).call(this, false);
360
+ }
361
+ }
362
+ /**
363
+ * Sets the enabled state of feature announcements.
364
+ *
365
+ * **Action** - used in the notification settings to enable/disable feature announcements.
366
+ *
367
+ * @param featureAnnouncementsEnabled - A boolean value indicating the desired enabled state of the feature announcements.
368
+ * @async
369
+ * @throws {Error} If fails to update
370
+ */
371
+ async setFeatureAnnouncementsEnabled(featureAnnouncementsEnabled) {
372
+ try {
373
+ this.update((s) => {
374
+ s.isFeatureAnnouncementsEnabled = featureAnnouncementsEnabled;
375
+ });
376
+ }
377
+ catch (e) {
378
+ loglevel_1.default.error('Unable to toggle feature announcements', e);
379
+ throw new Error('Unable to toggle feature announcements');
380
+ }
381
+ }
382
+ /**
383
+ * This creates/re-creates on-chain triggers defined in User Storage.
384
+ *
385
+ * **Action** - Used during Sign In / Enabling of notifications.
386
+ *
387
+ * @returns The updated or newly created user storage.
388
+ * @throws {Error} Throws an error if unauthenticated or from other operations.
389
+ */
390
+ async createOnChainTriggers() {
391
+ try {
392
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, true);
393
+ await __classPrivateFieldGet(this, _NotificationServicesController_performEnableProfileSyncing, "f").call(this);
394
+ const { bearerToken, storageKey } = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getValidStorageKeyAndBearerToken).call(this);
395
+ const { accounts } = await __classPrivateFieldGet(this, _NotificationServicesController_accounts, "f").listAccounts();
396
+ let userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
397
+ // If userStorage does not exist, create a new one
398
+ // All the triggers created are set as: "disabled"
399
+ if (userStorage?.[constants_1.USER_STORAGE_VERSION_KEY] === undefined) {
400
+ userStorage = Utils.initializeUserStorage(accounts.map((account) => ({ address: account })), false);
401
+ // Write the userStorage
402
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").setNotificationStorage(JSON.stringify(userStorage));
403
+ }
404
+ // Create the triggers
405
+ const triggers = Utils.traverseUserStorageTriggers(userStorage);
406
+ await OnChainNotifications.createOnChainTriggers(userStorage, storageKey, bearerToken, triggers);
407
+ // Create push notifications triggers
408
+ const allUUIDS = Utils.getAllUUIDs(userStorage);
409
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").enablePushNotifications(allUUIDS);
410
+ // Write the new userStorage (triggers are now "enabled")
411
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").setNotificationStorage(JSON.stringify(userStorage));
412
+ // Update the state of the controller
413
+ this.update((state) => {
414
+ state.isNotificationServicesEnabled = true;
415
+ state.isFeatureAnnouncementsEnabled = true;
416
+ state.isMetamaskNotificationsFeatureSeen = true;
417
+ });
418
+ return userStorage;
419
+ }
420
+ catch (err) {
421
+ loglevel_1.default.error('Failed to create On Chain triggers', err);
422
+ throw new Error('Failed to create On Chain triggers');
423
+ }
424
+ finally {
425
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, false);
426
+ }
427
+ }
428
+ /**
429
+ * Enables all MetaMask notifications for the user.
430
+ * This is identical flow when initializing notifications for the first time.
431
+ * 1. Enable Profile Syncing
432
+ * 2. Get or Create Notification User Storage
433
+ * 3. Upsert Triggers
434
+ * 4. Update Push notifications
435
+ *
436
+ * @throws {Error} If there is an error during the process of enabling notifications.
437
+ */
438
+ async enableMetamaskNotifications() {
439
+ try {
440
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, true);
441
+ await this.createOnChainTriggers();
442
+ }
443
+ catch (e) {
444
+ loglevel_1.default.error('Unable to enable notifications', e);
445
+ throw new Error('Unable to enable notifications');
446
+ }
447
+ finally {
448
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, false);
449
+ }
450
+ }
451
+ /**
452
+ * Disables all MetaMask notifications for the user.
453
+ * This method ensures that the user is authenticated, retrieves all linked accounts,
454
+ * and disables on-chain triggers for each account. It also sets the global notification
455
+ * settings for MetaMask, feature announcements to false.
456
+ *
457
+ * @throws {Error} If the user is not authenticated or if there is an error during the process.
458
+ */
459
+ async disableNotificationServices() {
460
+ try {
461
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, true);
462
+ // Disable Push Notifications
463
+ const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
464
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertUserStorage).call(this, userStorage);
465
+ const UUIDs = Utils.getAllUUIDs(userStorage);
466
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").disablePushNotifications(UUIDs);
467
+ // Clear Notification States (toggles and list)
468
+ this.update((state) => {
469
+ state.isNotificationServicesEnabled = false;
470
+ state.isFeatureAnnouncementsEnabled = false;
471
+ state.metamaskNotificationsList = [];
472
+ });
473
+ }
474
+ catch (e) {
475
+ loglevel_1.default.error('Unable to disable notifications', e);
476
+ throw new Error('Unable to disable notifications');
477
+ }
478
+ finally {
479
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsUpdatingMetamaskNotifications).call(this, false);
480
+ }
481
+ }
482
+ /**
483
+ * Deletes on-chain triggers associated with a specific account.
484
+ * This method performs several key operations:
485
+ * 1. Validates Auth & Storage
486
+ * 2. Finds and deletes all triggers associated with the account
487
+ * 3. Disables any related push notifications
488
+ * 4. Updates Storage to reflect new state.
489
+ *
490
+ * **Action** - When a user disables notifications for a given account in settings.
491
+ *
492
+ * @param accounts - The account for which on-chain triggers are to be deleted.
493
+ * @returns A promise that resolves to void or an object containing a success message.
494
+ * @throws {Error} Throws an error if unauthenticated or from other operations.
495
+ */
496
+ async deleteOnChainTriggersByAccount(accounts) {
497
+ try {
498
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_updateUpdatingAccountsState).call(this, accounts);
499
+ // Get and Validate BearerToken and User Storage Key
500
+ const { bearerToken, storageKey } = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getValidStorageKeyAndBearerToken).call(this);
501
+ // Get & Validate User Storage
502
+ const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
503
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertUserStorage).call(this, userStorage);
504
+ // Get the UUIDs to delete
505
+ const UUIDs = accounts
506
+ .map((a) => Utils.getUUIDsForAccount(userStorage, a.toLowerCase()))
507
+ .flat();
508
+ if (UUIDs.length === 0) {
509
+ return userStorage;
510
+ }
511
+ // Delete these UUIDs (Mutates User Storage)
512
+ await OnChainNotifications.deleteOnChainTriggers(userStorage, storageKey, bearerToken, UUIDs);
513
+ // Delete these UUIDs from the push notifications
514
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").disablePushNotifications(UUIDs);
515
+ // Update User Storage
516
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").setNotificationStorage(JSON.stringify(userStorage));
517
+ return userStorage;
518
+ }
519
+ catch (err) {
520
+ loglevel_1.default.error('Failed to delete OnChain triggers', err);
521
+ throw new Error('Failed to delete OnChain triggers');
522
+ }
523
+ finally {
524
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_clearUpdatingAccountsState).call(this, accounts);
525
+ }
526
+ }
527
+ /**
528
+ * Updates/Creates on-chain triggers for a specific account.
529
+ *
530
+ * This method performs several key operations:
531
+ * 1. Validates Auth & Storage
532
+ * 2. Finds and creates any missing triggers associated with the account
533
+ * 3. Enables any related push notifications
534
+ * 4. Updates Storage to reflect new state.
535
+ *
536
+ * **Action** - When a user enables notifications for an account
537
+ *
538
+ * @param accounts - List of accounts you want to update.
539
+ * @returns A promise that resolves to the updated user storage.
540
+ * @throws {Error} Throws an error if unauthenticated or from other operations.
541
+ */
542
+ async updateOnChainTriggersByAccount(accounts) {
543
+ try {
544
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_updateUpdatingAccountsState).call(this, accounts);
545
+ // Get and Validate BearerToken and User Storage Key
546
+ const { bearerToken, storageKey } = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getValidStorageKeyAndBearerToken).call(this);
547
+ // Get & Validate User Storage
548
+ const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_getUserStorage).call(this);
549
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertUserStorage).call(this, userStorage);
550
+ // Add any missing triggers
551
+ accounts.forEach((a) => Utils.upsertAddressTriggers(a, userStorage));
552
+ const newTriggers = Utils.traverseUserStorageTriggers(userStorage, {
553
+ mapTrigger: (t) => {
554
+ if (!t.enabled) {
555
+ return t;
556
+ }
557
+ return undefined;
558
+ },
559
+ });
560
+ // Create any missing triggers.
561
+ if (newTriggers.length > 0) {
562
+ // Write te updated userStorage (where triggers are disabled)
563
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").setNotificationStorage(JSON.stringify(userStorage));
564
+ // Create the triggers
565
+ const triggers = Utils.traverseUserStorageTriggers(userStorage, {
566
+ mapTrigger: (t) => {
567
+ if (accounts.some((a) => a.toLowerCase() === t.address.toLowerCase())) {
568
+ return t;
569
+ }
570
+ return undefined;
571
+ },
572
+ });
573
+ await OnChainNotifications.createOnChainTriggers(userStorage, storageKey, bearerToken, triggers);
574
+ }
575
+ // Update Push Notifications Triggers
576
+ const UUIDs = Utils.getAllUUIDs(userStorage);
577
+ await __classPrivateFieldGet(this, _NotificationServicesController_pushNotifications, "f").updatePushNotifications(UUIDs);
578
+ // Update the userStorage (where triggers are enabled)
579
+ await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").setNotificationStorage(JSON.stringify(userStorage));
580
+ return userStorage;
581
+ }
582
+ catch (err) {
583
+ loglevel_1.default.error('Failed to update OnChain triggers', err);
584
+ throw new Error('Failed to update OnChain triggers');
585
+ }
586
+ finally {
587
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_clearUpdatingAccountsState).call(this, accounts);
588
+ }
589
+ }
590
+ /**
591
+ * Fetches the list of metamask notifications.
592
+ * This includes OnChain notifications and Feature Announcements.
593
+ *
594
+ * **Action** - When a user views the notification list page/dropdown
595
+ *
596
+ * @throws {Error} Throws an error if unauthenticated or from other operations.
597
+ */
598
+ async fetchAndUpdateMetamaskNotifications() {
599
+ try {
600
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsFetchingMetamaskNotifications).call(this, true);
601
+ // Raw Feature Notifications
602
+ const rawFeatureAnnouncementNotifications = this.state
603
+ .isFeatureAnnouncementsEnabled
604
+ ? await FeatureNotifications.getFeatureAnnouncementNotifications(__classPrivateFieldGet(this, _NotificationServicesController_featureAnnouncementEnv, "f")).catch(() => [])
605
+ : [];
606
+ // Raw On Chain Notifications
607
+ const rawOnChainNotifications = [];
608
+ const userStorage = await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f")
609
+ .getNotificationStorage()
610
+ .then((s) => s && JSON.parse(s))
611
+ .catch(() => null);
612
+ const bearerToken = await __classPrivateFieldGet(this, _NotificationServicesController_auth, "f").getBearerToken().catch(() => null);
613
+ if (userStorage && bearerToken) {
614
+ const notifications = await OnChainNotifications.getOnChainNotifications(userStorage, bearerToken).catch(() => []);
615
+ rawOnChainNotifications.push(...notifications);
616
+ }
617
+ const readIds = this.state.metamaskNotificationsReadList;
618
+ // Combined Notifications
619
+ const isNotUndefined = (t) => Boolean(t);
620
+ const processAndFilter = (ns) => ns
621
+ .map((n) => (0, process_notifications_1.safeProcessNotification)(n, readIds))
622
+ .filter(isNotUndefined);
623
+ const featureAnnouncementNotifications = processAndFilter(rawFeatureAnnouncementNotifications);
624
+ const onChainNotifications = processAndFilter(rawOnChainNotifications);
625
+ const metamaskNotifications = [
626
+ ...featureAnnouncementNotifications,
627
+ ...onChainNotifications,
628
+ ];
629
+ metamaskNotifications.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
630
+ // Update State
631
+ this.update((state) => {
632
+ state.metamaskNotificationsList = metamaskNotifications;
633
+ });
634
+ this.messagingSystem.publish(`${controllerName}:notificationsListUpdated`, this.state.metamaskNotificationsList);
635
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsFetchingMetamaskNotifications).call(this, false);
636
+ return metamaskNotifications;
637
+ }
638
+ catch (err) {
639
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_setIsFetchingMetamaskNotifications).call(this, false);
640
+ loglevel_1.default.error('Failed to fetch notifications', err);
641
+ throw new Error('Failed to fetch notifications');
642
+ }
643
+ }
644
+ /**
645
+ * Marks specified metamask notifications as read.
646
+ *
647
+ * @param notifications - An array of notifications to be marked as read. Each notification should include its type and read status.
648
+ * @returns A promise that resolves when the operation is complete.
649
+ */
650
+ async markMetamaskNotificationsAsRead(notifications) {
651
+ let onchainNotificationIds = [];
652
+ let featureAnnouncementNotificationIds = [];
653
+ try {
654
+ // Filter unread on/off chain notifications
655
+ const onChainNotifications = notifications.filter((notification) => notification.type !== notification_schema_1.TRIGGER_TYPES.FEATURES_ANNOUNCEMENT &&
656
+ !notification.isRead);
657
+ const featureAnnouncementNotifications = notifications.filter((notification) => notification.type === notification_schema_1.TRIGGER_TYPES.FEATURES_ANNOUNCEMENT &&
658
+ !notification.isRead);
659
+ // Mark On-Chain Notifications as Read
660
+ if (onChainNotifications.length > 0) {
661
+ const bearerToken = await __classPrivateFieldGet(this, _NotificationServicesController_auth, "f").getBearerToken();
662
+ if (bearerToken) {
663
+ onchainNotificationIds = onChainNotifications.map((notification) => notification.id);
664
+ await OnChainNotifications.markNotificationsAsRead(bearerToken, onchainNotificationIds).catch(() => {
665
+ onchainNotificationIds = [];
666
+ loglevel_1.default.warn('Unable to mark onchain notifications as read');
667
+ });
668
+ }
669
+ }
670
+ // Mark Off-Chain notifications as Read
671
+ if (featureAnnouncementNotifications.length > 0) {
672
+ featureAnnouncementNotificationIds =
673
+ featureAnnouncementNotifications.map((notification) => notification.id);
674
+ }
675
+ }
676
+ catch (err) {
677
+ loglevel_1.default.warn('Something failed when marking notifications as read', err);
678
+ }
679
+ // Update the state (state is also used on counter & badge)
680
+ this.update((state) => {
681
+ const currentReadList = state.metamaskNotificationsReadList;
682
+ const newReadIds = [...featureAnnouncementNotificationIds];
683
+ state.metamaskNotificationsReadList = [
684
+ ...new Set([...currentReadList, ...newReadIds]),
685
+ ];
686
+ state.metamaskNotificationsList = state.metamaskNotificationsList.map((notification) => {
687
+ if (newReadIds.includes(notification.id) ||
688
+ onchainNotificationIds.includes(notification.id)) {
689
+ return { ...notification, isRead: true };
690
+ }
691
+ return notification;
692
+ });
693
+ });
694
+ this.messagingSystem.publish(`${controllerName}:markNotificationsAsRead`, this.state.metamaskNotificationsList);
695
+ }
696
+ /**
697
+ * Updates the list of MetaMask notifications by adding a new notification at the beginning of the list.
698
+ * This method ensures that the most recent notification is displayed first in the UI.
699
+ *
700
+ * @param notification - The new notification object to be added to the list.
701
+ * @returns A promise that resolves when the notification list has been successfully updated.
702
+ */
703
+ async updateMetamaskNotificationsList(notification) {
704
+ if (this.state.metamaskNotificationsList.some((n) => n.id === notification.id)) {
705
+ return;
706
+ }
707
+ const processedNotification = (0, process_notifications_1.safeProcessNotification)(notification);
708
+ if (processedNotification) {
709
+ this.update((state) => {
710
+ const existingNotificationIds = new Set(state.metamaskNotificationsList.map((n) => n.id));
711
+ // Add the new notification only if its ID is not already present in the list
712
+ if (!existingNotificationIds.has(notification.id)) {
713
+ state.metamaskNotificationsList = [
714
+ notification,
715
+ ...state.metamaskNotificationsList,
716
+ ];
717
+ this.messagingSystem.publish(`${controllerName}:notificationsListUpdated`, state.metamaskNotificationsList);
718
+ }
719
+ });
720
+ }
721
+ }
722
+ }
723
+ _NotificationServicesController_isPushIntegrated = new WeakMap(), _NotificationServicesController_isPushNotificationsSetup = new WeakMap(), _NotificationServicesController_isUnlocked = new WeakMap(), _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_performEnableProfileSyncing = new WeakMap(), _NotificationServicesController_instances = new WeakSet(), _NotificationServicesController_registerMessageHandlers = function _NotificationServicesController_registerMessageHandlers() {
724
+ this.messagingSystem.registerActionHandler(`${controllerName}:updateMetamaskNotificationsList`, this.updateMetamaskNotificationsList.bind(this));
725
+ this.messagingSystem.registerActionHandler(`${controllerName}:disableNotificationServices`, this.disableNotificationServices.bind(this));
726
+ this.messagingSystem.registerActionHandler(`${controllerName}:selectIsNotificationServicesEnabled`, this.selectIsNotificationServicesEnabled.bind(this));
727
+ }, _NotificationServicesController_clearLoadingStates = function _NotificationServicesController_clearLoadingStates() {
728
+ this.update((state) => {
729
+ state.isUpdatingMetamaskNotifications = false;
730
+ state.isCheckingAccountsPresence = false;
731
+ state.isFetchingMetamaskNotifications = false;
732
+ state.isUpdatingMetamaskNotificationsAccount = [];
733
+ });
734
+ }, _NotificationServicesController_assertAuthEnabled = function _NotificationServicesController_assertAuthEnabled() {
735
+ if (!__classPrivateFieldGet(this, _NotificationServicesController_auth, "f").isSignedIn()) {
736
+ this.update((state) => {
737
+ state.isNotificationServicesEnabled = false;
738
+ });
739
+ throw new Error('User is not signed in.');
740
+ }
741
+ }, _NotificationServicesController_getValidStorageKeyAndBearerToken = async function _NotificationServicesController_getValidStorageKeyAndBearerToken() {
742
+ __classPrivateFieldGet(this, _NotificationServicesController_instances, "m", _NotificationServicesController_assertAuthEnabled).call(this);
743
+ const bearerToken = await __classPrivateFieldGet(this, _NotificationServicesController_auth, "f").getBearerToken();
744
+ const storageKey = await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").getStorageKey();
745
+ if (!bearerToken || !storageKey) {
746
+ throw new Error('Missing BearerToken or storage key');
747
+ }
748
+ return { bearerToken, storageKey };
749
+ }, _NotificationServicesController_assertUserStorage = function _NotificationServicesController_assertUserStorage(storage) {
750
+ if (!storage) {
751
+ throw new Error('User Storage does not exist');
752
+ }
753
+ }, _NotificationServicesController_getUserStorage =
754
+ /**
755
+ * Retrieves and parses the user storage from the storage key.
756
+ *
757
+ * This method attempts to retrieve the user storage using the specified storage key,
758
+ * then parses the JSON string to an object. If the storage is not found or cannot be parsed,
759
+ * it throws an error.
760
+ *
761
+ * @returns The parsed user storage object or null
762
+ */
763
+ async function _NotificationServicesController_getUserStorage() {
764
+ const userStorageString = await __classPrivateFieldGet(this, _NotificationServicesController_storage, "f").getNotificationStorage();
765
+ if (!userStorageString) {
766
+ return null;
767
+ }
768
+ try {
769
+ const userStorage = JSON.parse(userStorageString);
770
+ return userStorage;
771
+ }
772
+ catch (error) {
773
+ loglevel_1.default.error('Unable to parse User Storage');
774
+ return null;
775
+ }
776
+ }, _NotificationServicesController_setIsUpdatingMetamaskNotifications = function _NotificationServicesController_setIsUpdatingMetamaskNotifications(isUpdatingMetamaskNotifications) {
777
+ this.update((state) => {
778
+ state.isUpdatingMetamaskNotifications = isUpdatingMetamaskNotifications;
779
+ });
780
+ }, _NotificationServicesController_setIsFetchingMetamaskNotifications = function _NotificationServicesController_setIsFetchingMetamaskNotifications(isFetchingMetamaskNotifications) {
781
+ this.update((state) => {
782
+ state.isFetchingMetamaskNotifications = isFetchingMetamaskNotifications;
783
+ });
784
+ }, _NotificationServicesController_setIsCheckingAccountsPresence = function _NotificationServicesController_setIsCheckingAccountsPresence(isCheckingAccountsPresence) {
785
+ this.update((state) => {
786
+ state.isCheckingAccountsPresence = isCheckingAccountsPresence;
787
+ });
788
+ }, _NotificationServicesController_updateUpdatingAccountsState = function _NotificationServicesController_updateUpdatingAccountsState(accounts) {
789
+ this.update((state) => {
790
+ const uniqueAccounts = new Set([
791
+ ...state.isUpdatingMetamaskNotificationsAccount,
792
+ ...accounts,
793
+ ]);
794
+ state.isUpdatingMetamaskNotificationsAccount = Array.from(uniqueAccounts);
795
+ });
796
+ }, _NotificationServicesController_clearUpdatingAccountsState = function _NotificationServicesController_clearUpdatingAccountsState(accounts) {
797
+ this.update((state) => {
798
+ state.isUpdatingMetamaskNotificationsAccount =
799
+ state.isUpdatingMetamaskNotificationsAccount.filter((existingAccount) => !accounts.includes(existingAccount));
800
+ });
801
+ };
802
+ exports.default = NotificationServicesController;
803
+ //# sourceMappingURL=NotificationServicesController.cjs.map