@metamask/snaps-rpc-methods 15.1.1 → 16.0.0

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 (344) hide show
  1. package/CHANGELOG.md +27 -4
  2. package/dist/index.cjs +1 -4
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +1 -2
  5. package/dist/index.d.cts.map +1 -1
  6. package/dist/index.d.mts +1 -2
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +1 -2
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/permissions.cjs +18 -8
  11. package/dist/permissions.cjs.map +1 -1
  12. package/dist/permissions.d.cts +3 -2
  13. package/dist/permissions.d.cts.map +1 -1
  14. package/dist/permissions.d.mts +3 -2
  15. package/dist/permissions.d.mts.map +1 -1
  16. package/dist/permissions.mjs +17 -7
  17. package/dist/permissions.mjs.map +1 -1
  18. package/dist/permitted/cancelBackgroundEvent.cjs +10 -14
  19. package/dist/permitted/cancelBackgroundEvent.cjs.map +1 -1
  20. package/dist/permitted/cancelBackgroundEvent.d.cts +9 -12
  21. package/dist/permitted/cancelBackgroundEvent.d.cts.map +1 -1
  22. package/dist/permitted/cancelBackgroundEvent.d.mts +9 -12
  23. package/dist/permitted/cancelBackgroundEvent.d.mts.map +1 -1
  24. package/dist/permitted/cancelBackgroundEvent.mjs +10 -14
  25. package/dist/permitted/cancelBackgroundEvent.mjs.map +1 -1
  26. package/dist/permitted/clearState.cjs +10 -16
  27. package/dist/permitted/clearState.cjs.map +1 -1
  28. package/dist/permitted/clearState.d.cts +9 -23
  29. package/dist/permitted/clearState.d.cts.map +1 -1
  30. package/dist/permitted/clearState.d.mts +9 -23
  31. package/dist/permitted/clearState.d.mts.map +1 -1
  32. package/dist/permitted/clearState.mjs +10 -16
  33. package/dist/permitted/clearState.mjs.map +1 -1
  34. package/dist/permitted/closeWebSocket.cjs +7 -14
  35. package/dist/permitted/closeWebSocket.cjs.map +1 -1
  36. package/dist/permitted/closeWebSocket.d.cts +9 -12
  37. package/dist/permitted/closeWebSocket.d.cts.map +1 -1
  38. package/dist/permitted/closeWebSocket.d.mts +9 -12
  39. package/dist/permitted/closeWebSocket.d.mts.map +1 -1
  40. package/dist/permitted/closeWebSocket.mjs +7 -14
  41. package/dist/permitted/closeWebSocket.mjs.map +1 -1
  42. package/dist/permitted/createInterface.cjs +11 -15
  43. package/dist/permitted/createInterface.cjs.map +1 -1
  44. package/dist/permitted/createInterface.d.cts +23 -37
  45. package/dist/permitted/createInterface.d.cts.map +1 -1
  46. package/dist/permitted/createInterface.d.mts +23 -37
  47. package/dist/permitted/createInterface.d.mts.map +1 -1
  48. package/dist/permitted/createInterface.mjs +11 -15
  49. package/dist/permitted/createInterface.mjs.map +1 -1
  50. package/dist/permitted/endTrace.cjs +4 -6
  51. package/dist/permitted/endTrace.cjs.map +1 -1
  52. package/dist/permitted/endTrace.d.cts +8 -11
  53. package/dist/permitted/endTrace.d.cts.map +1 -1
  54. package/dist/permitted/endTrace.d.mts +8 -11
  55. package/dist/permitted/endTrace.d.mts.map +1 -1
  56. package/dist/permitted/endTrace.mjs +4 -6
  57. package/dist/permitted/endTrace.mjs.map +1 -1
  58. package/dist/permitted/getAllSnaps.cjs +5 -11
  59. package/dist/permitted/getAllSnaps.cjs.map +1 -1
  60. package/dist/permitted/getAllSnaps.d.cts +10 -14
  61. package/dist/permitted/getAllSnaps.d.cts.map +1 -1
  62. package/dist/permitted/getAllSnaps.d.mts +10 -14
  63. package/dist/permitted/getAllSnaps.d.mts.map +1 -1
  64. package/dist/permitted/getAllSnaps.mjs +5 -11
  65. package/dist/permitted/getAllSnaps.mjs.map +1 -1
  66. package/dist/permitted/getBackgroundEvents.cjs +8 -15
  67. package/dist/permitted/getBackgroundEvents.cjs.map +1 -1
  68. package/dist/permitted/getBackgroundEvents.d.cts +10 -13
  69. package/dist/permitted/getBackgroundEvents.d.cts.map +1 -1
  70. package/dist/permitted/getBackgroundEvents.d.mts +10 -13
  71. package/dist/permitted/getBackgroundEvents.d.mts.map +1 -1
  72. package/dist/permitted/getBackgroundEvents.mjs +8 -15
  73. package/dist/permitted/getBackgroundEvents.mjs.map +1 -1
  74. package/dist/permitted/getClientStatus.cjs +5 -6
  75. package/dist/permitted/getClientStatus.cjs.map +1 -1
  76. package/dist/permitted/getClientStatus.d.cts +17 -18
  77. package/dist/permitted/getClientStatus.d.cts.map +1 -1
  78. package/dist/permitted/getClientStatus.d.mts +17 -18
  79. package/dist/permitted/getClientStatus.d.mts.map +1 -1
  80. package/dist/permitted/getClientStatus.mjs +5 -6
  81. package/dist/permitted/getClientStatus.mjs.map +1 -1
  82. package/dist/permitted/getFile.cjs +7 -11
  83. package/dist/permitted/getFile.cjs.map +1 -1
  84. package/dist/permitted/getFile.d.cts +8 -10
  85. package/dist/permitted/getFile.d.cts.map +1 -1
  86. package/dist/permitted/getFile.d.mts +8 -10
  87. package/dist/permitted/getFile.d.mts.map +1 -1
  88. package/dist/permitted/getFile.mjs +7 -11
  89. package/dist/permitted/getFile.mjs.map +1 -1
  90. package/dist/permitted/getInterfaceContext.cjs +12 -15
  91. package/dist/permitted/getInterfaceContext.cjs.map +1 -1
  92. package/dist/permitted/getInterfaceContext.d.cts +9 -21
  93. package/dist/permitted/getInterfaceContext.d.cts.map +1 -1
  94. package/dist/permitted/getInterfaceContext.d.mts +9 -21
  95. package/dist/permitted/getInterfaceContext.d.mts.map +1 -1
  96. package/dist/permitted/getInterfaceContext.mjs +12 -15
  97. package/dist/permitted/getInterfaceContext.mjs.map +1 -1
  98. package/dist/permitted/getInterfaceState.cjs +11 -15
  99. package/dist/permitted/getInterfaceState.cjs.map +1 -1
  100. package/dist/permitted/getInterfaceState.d.cts +9 -21
  101. package/dist/permitted/getInterfaceState.d.cts.map +1 -1
  102. package/dist/permitted/getInterfaceState.d.mts +9 -21
  103. package/dist/permitted/getInterfaceState.d.mts.map +1 -1
  104. package/dist/permitted/getInterfaceState.mjs +11 -15
  105. package/dist/permitted/getInterfaceState.mjs.map +1 -1
  106. package/dist/permitted/getSnaps.cjs +6 -12
  107. package/dist/permitted/getSnaps.cjs.map +1 -1
  108. package/dist/permitted/getSnaps.d.cts +11 -14
  109. package/dist/permitted/getSnaps.d.cts.map +1 -1
  110. package/dist/permitted/getSnaps.d.mts +11 -14
  111. package/dist/permitted/getSnaps.d.mts.map +1 -1
  112. package/dist/permitted/getSnaps.mjs +6 -12
  113. package/dist/permitted/getSnaps.mjs.map +1 -1
  114. package/dist/permitted/getState.cjs +9 -11
  115. package/dist/permitted/getState.cjs.map +1 -1
  116. package/dist/permitted/getState.d.cts +17 -28
  117. package/dist/permitted/getState.d.cts.map +1 -1
  118. package/dist/permitted/getState.d.mts +17 -28
  119. package/dist/permitted/getState.d.mts.map +1 -1
  120. package/dist/permitted/getState.mjs +9 -11
  121. package/dist/permitted/getState.mjs.map +1 -1
  122. package/dist/permitted/getWebSockets.cjs +11 -14
  123. package/dist/permitted/getWebSockets.cjs.map +1 -1
  124. package/dist/permitted/getWebSockets.d.cts +10 -13
  125. package/dist/permitted/getWebSockets.d.cts.map +1 -1
  126. package/dist/permitted/getWebSockets.d.mts +10 -13
  127. package/dist/permitted/getWebSockets.d.mts.map +1 -1
  128. package/dist/permitted/getWebSockets.mjs +11 -14
  129. package/dist/permitted/getWebSockets.mjs.map +1 -1
  130. package/dist/permitted/index.cjs +0 -1
  131. package/dist/permitted/index.cjs.map +1 -1
  132. package/dist/permitted/index.d.cts +29 -25
  133. package/dist/permitted/index.d.cts.map +1 -1
  134. package/dist/permitted/index.d.mts +29 -25
  135. package/dist/permitted/index.d.mts.map +1 -1
  136. package/dist/permitted/index.mjs +0 -1
  137. package/dist/permitted/index.mjs.map +1 -1
  138. package/dist/permitted/invokeKeyring.cjs +12 -13
  139. package/dist/permitted/invokeKeyring.cjs.map +1 -1
  140. package/dist/permitted/invokeKeyring.d.cts +17 -16
  141. package/dist/permitted/invokeKeyring.d.cts.map +1 -1
  142. package/dist/permitted/invokeKeyring.d.mts +17 -16
  143. package/dist/permitted/invokeKeyring.d.mts.map +1 -1
  144. package/dist/permitted/invokeKeyring.mjs +12 -13
  145. package/dist/permitted/invokeKeyring.mjs.map +1 -1
  146. package/dist/permitted/invokeSnapSugar.cjs +6 -10
  147. package/dist/permitted/invokeSnapSugar.cjs.map +1 -1
  148. package/dist/permitted/invokeSnapSugar.d.cts +9 -12
  149. package/dist/permitted/invokeSnapSugar.d.cts.map +1 -1
  150. package/dist/permitted/invokeSnapSugar.d.mts +9 -12
  151. package/dist/permitted/invokeSnapSugar.d.mts.map +1 -1
  152. package/dist/permitted/invokeSnapSugar.mjs +6 -10
  153. package/dist/permitted/invokeSnapSugar.mjs.map +1 -1
  154. package/dist/permitted/listEntropySources.cjs +28 -12
  155. package/dist/permitted/listEntropySources.cjs.map +1 -1
  156. package/dist/permitted/listEntropySources.d.cts +12 -23
  157. package/dist/permitted/listEntropySources.d.cts.map +1 -1
  158. package/dist/permitted/listEntropySources.d.mts +12 -23
  159. package/dist/permitted/listEntropySources.d.mts.map +1 -1
  160. package/dist/permitted/listEntropySources.mjs +28 -12
  161. package/dist/permitted/listEntropySources.mjs.map +1 -1
  162. package/dist/permitted/middleware.cjs +70 -20
  163. package/dist/permitted/middleware.cjs.map +1 -1
  164. package/dist/permitted/middleware.d.cts +5 -2
  165. package/dist/permitted/middleware.d.cts.map +1 -1
  166. package/dist/permitted/middleware.d.mts +5 -2
  167. package/dist/permitted/middleware.d.mts.map +1 -1
  168. package/dist/permitted/middleware.mjs +70 -20
  169. package/dist/permitted/middleware.mjs.map +1 -1
  170. package/dist/permitted/openWebSocket.cjs +7 -14
  171. package/dist/permitted/openWebSocket.cjs.map +1 -1
  172. package/dist/permitted/openWebSocket.d.cts +9 -12
  173. package/dist/permitted/openWebSocket.d.cts.map +1 -1
  174. package/dist/permitted/openWebSocket.d.mts +9 -12
  175. package/dist/permitted/openWebSocket.d.mts.map +1 -1
  176. package/dist/permitted/openWebSocket.mjs +7 -14
  177. package/dist/permitted/openWebSocket.mjs.map +1 -1
  178. package/dist/permitted/requestSnaps.cjs +14 -19
  179. package/dist/permitted/requestSnaps.cjs.map +1 -1
  180. package/dist/permitted/requestSnaps.d.cts +9 -36
  181. package/dist/permitted/requestSnaps.d.cts.map +1 -1
  182. package/dist/permitted/requestSnaps.d.mts +9 -36
  183. package/dist/permitted/requestSnaps.d.mts.map +1 -1
  184. package/dist/permitted/requestSnaps.mjs +15 -20
  185. package/dist/permitted/requestSnaps.mjs.map +1 -1
  186. package/dist/permitted/resolveInterface.cjs +11 -15
  187. package/dist/permitted/resolveInterface.cjs.map +1 -1
  188. package/dist/permitted/resolveInterface.d.cts +12 -24
  189. package/dist/permitted/resolveInterface.d.cts.map +1 -1
  190. package/dist/permitted/resolveInterface.d.mts +12 -24
  191. package/dist/permitted/resolveInterface.d.mts.map +1 -1
  192. package/dist/permitted/resolveInterface.mjs +11 -15
  193. package/dist/permitted/resolveInterface.mjs.map +1 -1
  194. package/dist/permitted/scheduleBackgroundEvent.cjs +11 -14
  195. package/dist/permitted/scheduleBackgroundEvent.cjs.map +1 -1
  196. package/dist/permitted/scheduleBackgroundEvent.d.cts +10 -17
  197. package/dist/permitted/scheduleBackgroundEvent.d.cts.map +1 -1
  198. package/dist/permitted/scheduleBackgroundEvent.d.mts +10 -17
  199. package/dist/permitted/scheduleBackgroundEvent.d.mts.map +1 -1
  200. package/dist/permitted/scheduleBackgroundEvent.mjs +11 -14
  201. package/dist/permitted/scheduleBackgroundEvent.mjs.map +1 -1
  202. package/dist/permitted/sendWebSocketMessage.cjs +10 -14
  203. package/dist/permitted/sendWebSocketMessage.cjs.map +1 -1
  204. package/dist/permitted/sendWebSocketMessage.d.cts +9 -12
  205. package/dist/permitted/sendWebSocketMessage.d.cts.map +1 -1
  206. package/dist/permitted/sendWebSocketMessage.d.mts +9 -12
  207. package/dist/permitted/sendWebSocketMessage.d.mts.map +1 -1
  208. package/dist/permitted/sendWebSocketMessage.mjs +10 -14
  209. package/dist/permitted/sendWebSocketMessage.mjs.map +1 -1
  210. package/dist/permitted/setState.cjs +18 -21
  211. package/dist/permitted/setState.cjs.map +1 -1
  212. package/dist/permitted/setState.d.cts +18 -45
  213. package/dist/permitted/setState.d.cts.map +1 -1
  214. package/dist/permitted/setState.d.mts +18 -45
  215. package/dist/permitted/setState.d.mts.map +1 -1
  216. package/dist/permitted/setState.mjs +18 -21
  217. package/dist/permitted/setState.mjs.map +1 -1
  218. package/dist/permitted/startTrace.cjs +4 -6
  219. package/dist/permitted/startTrace.cjs.map +1 -1
  220. package/dist/permitted/startTrace.d.cts +8 -11
  221. package/dist/permitted/startTrace.d.cts.map +1 -1
  222. package/dist/permitted/startTrace.d.mts +8 -11
  223. package/dist/permitted/startTrace.d.mts.map +1 -1
  224. package/dist/permitted/startTrace.mjs +4 -6
  225. package/dist/permitted/startTrace.mjs.map +1 -1
  226. package/dist/permitted/trackError.cjs +4 -6
  227. package/dist/permitted/trackError.cjs.map +1 -1
  228. package/dist/permitted/trackError.d.cts +8 -11
  229. package/dist/permitted/trackError.d.cts.map +1 -1
  230. package/dist/permitted/trackError.d.mts +8 -11
  231. package/dist/permitted/trackError.d.mts.map +1 -1
  232. package/dist/permitted/trackError.mjs +4 -6
  233. package/dist/permitted/trackError.mjs.map +1 -1
  234. package/dist/permitted/trackEvent.cjs +4 -6
  235. package/dist/permitted/trackEvent.cjs.map +1 -1
  236. package/dist/permitted/trackEvent.d.cts +8 -11
  237. package/dist/permitted/trackEvent.d.cts.map +1 -1
  238. package/dist/permitted/trackEvent.d.mts +8 -11
  239. package/dist/permitted/trackEvent.d.mts.map +1 -1
  240. package/dist/permitted/trackEvent.mjs +4 -6
  241. package/dist/permitted/trackEvent.mjs.map +1 -1
  242. package/dist/permitted/updateInterface.cjs +11 -15
  243. package/dist/permitted/updateInterface.cjs.map +1 -1
  244. package/dist/permitted/updateInterface.d.cts +9 -22
  245. package/dist/permitted/updateInterface.d.cts.map +1 -1
  246. package/dist/permitted/updateInterface.d.mts +9 -22
  247. package/dist/permitted/updateInterface.d.mts.map +1 -1
  248. package/dist/permitted/updateInterface.mjs +11 -15
  249. package/dist/permitted/updateInterface.mjs.map +1 -1
  250. package/dist/restricted/dialog.cjs +23 -30
  251. package/dist/restricted/dialog.cjs.map +1 -1
  252. package/dist/restricted/dialog.d.cts +10 -58
  253. package/dist/restricted/dialog.d.cts.map +1 -1
  254. package/dist/restricted/dialog.d.mts +10 -58
  255. package/dist/restricted/dialog.d.mts.map +1 -1
  256. package/dist/restricted/dialog.mjs +23 -30
  257. package/dist/restricted/dialog.mjs.map +1 -1
  258. package/dist/restricted/getBip32Entropy.cjs +15 -12
  259. package/dist/restricted/getBip32Entropy.cjs.map +1 -1
  260. package/dist/restricted/getBip32Entropy.d.cts +11 -24
  261. package/dist/restricted/getBip32Entropy.d.cts.map +1 -1
  262. package/dist/restricted/getBip32Entropy.d.mts +11 -24
  263. package/dist/restricted/getBip32Entropy.d.mts.map +1 -1
  264. package/dist/restricted/getBip32Entropy.mjs +16 -13
  265. package/dist/restricted/getBip32Entropy.mjs.map +1 -1
  266. package/dist/restricted/getBip32PublicKey.cjs +15 -12
  267. package/dist/restricted/getBip32PublicKey.cjs.map +1 -1
  268. package/dist/restricted/getBip32PublicKey.d.cts +11 -24
  269. package/dist/restricted/getBip32PublicKey.d.cts.map +1 -1
  270. package/dist/restricted/getBip32PublicKey.d.mts +11 -24
  271. package/dist/restricted/getBip32PublicKey.d.mts.map +1 -1
  272. package/dist/restricted/getBip32PublicKey.mjs +16 -13
  273. package/dist/restricted/getBip32PublicKey.mjs.map +1 -1
  274. package/dist/restricted/getBip44Entropy.cjs +14 -10
  275. package/dist/restricted/getBip44Entropy.cjs.map +1 -1
  276. package/dist/restricted/getBip44Entropy.d.cts +11 -15
  277. package/dist/restricted/getBip44Entropy.d.cts.map +1 -1
  278. package/dist/restricted/getBip44Entropy.d.mts +11 -15
  279. package/dist/restricted/getBip44Entropy.d.mts.map +1 -1
  280. package/dist/restricted/getBip44Entropy.mjs +15 -11
  281. package/dist/restricted/getBip44Entropy.mjs.map +1 -1
  282. package/dist/restricted/getEntropy.cjs +10 -10
  283. package/dist/restricted/getEntropy.cjs.map +1 -1
  284. package/dist/restricted/getEntropy.d.cts +11 -15
  285. package/dist/restricted/getEntropy.d.cts.map +1 -1
  286. package/dist/restricted/getEntropy.d.mts +11 -15
  287. package/dist/restricted/getEntropy.d.mts.map +1 -1
  288. package/dist/restricted/getEntropy.mjs +11 -11
  289. package/dist/restricted/getEntropy.mjs.map +1 -1
  290. package/dist/restricted/index.cjs.map +1 -1
  291. package/dist/restricted/index.d.cts +20 -160
  292. package/dist/restricted/index.d.cts.map +1 -1
  293. package/dist/restricted/index.d.mts +20 -160
  294. package/dist/restricted/index.d.mts.map +1 -1
  295. package/dist/restricted/index.mjs.map +1 -1
  296. package/dist/restricted/invokeSnap.cjs +11 -12
  297. package/dist/restricted/invokeSnap.cjs.map +1 -1
  298. package/dist/restricted/invokeSnap.d.cts +9 -13
  299. package/dist/restricted/invokeSnap.d.cts.map +1 -1
  300. package/dist/restricted/invokeSnap.d.mts +9 -13
  301. package/dist/restricted/invokeSnap.d.mts.map +1 -1
  302. package/dist/restricted/invokeSnap.mjs +11 -12
  303. package/dist/restricted/invokeSnap.mjs.map +1 -1
  304. package/dist/restricted/manageState.cjs +21 -20
  305. package/dist/restricted/manageState.cjs.map +1 -1
  306. package/dist/restricted/manageState.d.cts +12 -34
  307. package/dist/restricted/manageState.d.cts.map +1 -1
  308. package/dist/restricted/manageState.d.mts +12 -34
  309. package/dist/restricted/manageState.d.mts.map +1 -1
  310. package/dist/restricted/manageState.mjs +21 -20
  311. package/dist/restricted/manageState.mjs.map +1 -1
  312. package/dist/restricted/notify.cjs +31 -24
  313. package/dist/restricted/notify.cjs.map +1 -1
  314. package/dist/restricted/notify.d.cts +16 -25
  315. package/dist/restricted/notify.d.cts.map +1 -1
  316. package/dist/restricted/notify.d.mts +16 -25
  317. package/dist/restricted/notify.d.mts.map +1 -1
  318. package/dist/restricted/notify.mjs +32 -25
  319. package/dist/restricted/notify.mjs.map +1 -1
  320. package/dist/types.cjs +3 -0
  321. package/dist/types.cjs.map +1 -0
  322. package/dist/types.d.cts +155 -0
  323. package/dist/types.d.cts.map +1 -0
  324. package/dist/types.d.mts +155 -0
  325. package/dist/types.d.mts.map +1 -0
  326. package/dist/types.mjs +2 -0
  327. package/dist/types.mjs.map +1 -0
  328. package/dist/utils.cjs +78 -24
  329. package/dist/utils.cjs.map +1 -1
  330. package/dist/utils.d.cts +21 -13
  331. package/dist/utils.d.cts.map +1 -1
  332. package/dist/utils.d.mts +21 -13
  333. package/dist/utils.d.mts.map +1 -1
  334. package/dist/utils.mjs +75 -22
  335. package/dist/utils.mjs.map +1 -1
  336. package/package.json +6 -6
  337. package/dist/permitted/handlers.cjs +0 -63
  338. package/dist/permitted/handlers.cjs.map +0 -1
  339. package/dist/permitted/handlers.d.cts +0 -299
  340. package/dist/permitted/handlers.d.cts.map +0 -1
  341. package/dist/permitted/handlers.d.mts +0 -299
  342. package/dist/permitted/handlers.d.mts.map +0 -1
  343. package/dist/permitted/handlers.mjs +0 -60
  344. package/dist/permitted/handlers.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"endTrace.d.mts","sourceRoot":"","sources":["../../src/permitted/endTrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EAEd,eAAe,EAChB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,8BAA8B;AASjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AASlD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAE7C;;;;OAIG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,QAAA,MAAM,wBAAwB;;;;;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,OAAO,wBAAwB,EAC/B,cAAc,CACf,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;CAQ3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,cAAc,CAAC,kBAAkB,CAAC,EAC3C,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,GACzC,IAAI,CAqBN"}
1
+ {"version":3,"file":"endTrace.d.mts","sourceRoot":"","sources":["../../src/permitted/endTrace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EACV,cAAc,EAEd,eAAe,EAChB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAS3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAE9D,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,qBAAiB;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAMlD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAEhE,QAAA,MAAM,wBAAwB;;;;;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAC5C,OAAO,wBAAwB,EAC/B,cAAc,CACf,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;CAU3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,iBAAS,yBAAyB,CAChC,OAAO,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,EACrD,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,QAAQ,EAAE,EAAE,mBAAmB,EACjC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAClD,IAAI,CAmBN"}
@@ -1,9 +1,7 @@
1
1
  import { rpcErrors } from "@metamask/rpc-errors";
2
2
  import { number, create, object, string, StructError, exactOptional } from "@metamask/superstruct";
3
- const methodName = 'snap_endTrace';
4
3
  const hookNames = {
5
4
  endTrace: true,
6
- getSnap: true,
7
5
  };
8
6
  const EndTraceParametersStruct = object({
9
7
  id: exactOptional(string()),
@@ -17,9 +15,9 @@ const EndTraceParametersStruct = object({
17
15
  * @internal
18
16
  */
19
17
  export const endTraceHandler = {
20
- methodNames: [methodName],
21
18
  implementation: getEndTraceImplementation,
22
19
  hookNames,
20
+ actionNames: ['SnapController:getSnap'],
23
21
  };
24
22
  /**
25
23
  * The `snap_endTrace` method implementation. This method is used to end a
@@ -32,11 +30,11 @@ export const endTraceHandler = {
32
30
  * @param end - The `json-rpc-engine` "end" callback.
33
31
  * @param hooks - The RPC method hooks.
34
32
  * @param hooks.endTrace - The hook function to end a performance trace.
35
- * @param hooks.getSnap - The hook function to get Snap metadata.
33
+ * @param messenger - The messenger used to call controller actions.
36
34
  * @returns Nothing.
37
35
  */
38
- function getEndTraceImplementation(request, response, _next, end, { endTrace, getSnap }) {
39
- const snap = getSnap(request.origin);
36
+ function getEndTraceImplementation(request, response, _next, end, { endTrace }, messenger) {
37
+ const snap = messenger.call('SnapController:getSnap', request.origin);
40
38
  if (!snap?.preinstalled) {
41
39
  return end(rpcErrors.methodNotFound());
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"endTrace.mjs","sourceRoot":"","sources":["../../src/permitted/endTrace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAQjD,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACd,8BAA8B;AAK/B,MAAM,UAAU,GAAG,eAAe,CAAC;AAEnC,MAAM,SAAS,GAA2C;IACxD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;CACd,CAAC;AAmBF,MAAM,wBAAwB,GAAG,MAAM,CAAC;IACtC,EAAE,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE;IACd,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAC;AAOH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,yBAAyB;IACzC,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAChC,OAA2C,EAC3C,QAAgC,EAChC,KAAc,EACd,GAA6B,EAC7B,EAAE,QAAQ,EAAE,OAAO,EAAuB;IAE1C,MAAM,IAAI,GAAG,OAAO,CACjB,OAA+D,CAAC,MAAM,CACxE,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE1B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n JsonRpcRequest,\n EndTraceParams,\n EndTraceResult,\n EndTraceRequest,\n} from '@metamask/snaps-sdk';\nimport type { InferMatching, Snap } from '@metamask/snaps-utils';\nimport {\n number,\n create,\n object,\n string,\n StructError,\n exactOptional,\n} from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_endTrace';\n\nconst hookNames: MethodHooksObject<EndTraceMethodHooks> = {\n endTrace: true,\n getSnap: true,\n};\n\nexport type EndTraceMethodHooks = {\n /**\n * End a performance trace in Sentry.\n *\n * @param request - The trace request object.\n * @returns The performance trace context.\n */\n endTrace: (request: EndTraceRequest) => void;\n\n /**\n * Get Snap metadata.\n *\n * @param snapId - The ID of a Snap.\n */\n getSnap: (snapId: string) => Snap | undefined;\n};\n\nconst EndTraceParametersStruct = object({\n id: exactOptional(string()),\n name: string(),\n timestamp: exactOptional(number()),\n});\n\nexport type EndTraceParameters = InferMatching<\n typeof EndTraceParametersStruct,\n EndTraceParams\n>;\n\n/**\n * End a performance trace in Sentry. This method is only available to\n * preinstalled Snaps.\n *\n * @internal\n */\nexport const endTraceHandler = {\n methodNames: [methodName] as const,\n implementation: getEndTraceImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n EndTraceMethodHooks,\n EndTraceParameters,\n EndTraceResult\n>;\n\n/**\n * The `snap_endTrace` method implementation. This method is used to end a\n * performance trace in Sentry. It is only available to preinstalled Snaps.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.endTrace - The hook function to end a performance trace.\n * @param hooks.getSnap - The hook function to get Snap metadata.\n * @returns Nothing.\n */\nfunction getEndTraceImplementation(\n request: JsonRpcRequest<EndTraceParameters>,\n response: PendingJsonRpcResponse,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { endTrace, getSnap }: EndTraceMethodHooks,\n): void {\n const snap = getSnap(\n (request as JsonRpcRequest<EndTraceParams> & { origin: string }).origin,\n );\n\n if (!snap?.preinstalled) {\n return end(rpcErrors.methodNotFound());\n }\n\n const { params } = request;\n\n try {\n const validatedParams = getValidatedParams(params);\n endTrace(validatedParams);\n\n response.result = null;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validate the parameters for the `snap_endTrace` method.\n *\n * @param params - Parameters to validate.\n * @returns Validated parameters.\n * @throws Throws RPC error if validation fails.\n */\nfunction getValidatedParams(params: unknown): EndTraceParameters {\n try {\n return create(params, EndTraceParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"]}
1
+ {"version":3,"file":"endTrace.mjs","sourceRoot":"","sources":["../../src/permitted/endTrace.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAOjD,OAAO,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,aAAa,EACd,8BAA8B;AAS/B,MAAM,SAAS,GAA2C;IACxD,QAAQ,EAAE,IAAI;CACf,CAAC;AAcF,MAAM,wBAAwB,GAAG,MAAM,CAAC;IACtC,EAAE,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE;IACd,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAC;AAOH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,cAAc,EAAE,yBAAyB;IACzC,SAAS;IACT,WAAW,EAAE,CAAC,wBAAwB,CAAC;CAOxC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAChC,OAAqD,EACrD,QAAgC,EAChC,KAAc,EACd,GAA6B,EAC7B,EAAE,QAAQ,EAAuB,EACjC,SAAmD;IAEnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnD,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE1B,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,MAAe;IACzC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,aAAa,CAAC;gBAC5B,OAAO,EAAE,mBAAmB,KAAK,CAAC,OAAO,GAAG;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n EndTraceParams,\n EndTraceResult,\n EndTraceRequest,\n} from '@metamask/snaps-sdk';\nimport type { InferMatching } from '@metamask/snaps-utils';\nimport {\n number,\n create,\n object,\n string,\n StructError,\n exactOptional,\n} from '@metamask/superstruct';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetSnapAction,\n} from '../types';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<EndTraceMethodHooks> = {\n endTrace: true,\n};\n\nexport type EndTraceMethodHooks = {\n /**\n * End a performance trace in Sentry.\n *\n * @param request - The trace request object.\n * @returns The performance trace context.\n */\n endTrace: (request: EndTraceRequest) => void;\n};\n\nexport type EndTraceMethodActions = SnapControllerGetSnapAction;\n\nconst EndTraceParametersStruct = object({\n id: exactOptional(string()),\n name: string(),\n timestamp: exactOptional(number()),\n});\n\nexport type EndTraceParameters = InferMatching<\n typeof EndTraceParametersStruct,\n EndTraceParams\n>;\n\n/**\n * End a performance trace in Sentry. This method is only available to\n * preinstalled Snaps.\n *\n * @internal\n */\nexport const endTraceHandler = {\n implementation: getEndTraceImplementation,\n hookNames,\n actionNames: ['SnapController:getSnap'],\n} satisfies MethodHandler<\n EndTraceMethodHooks,\n EndTraceMethodActions,\n EndTraceParameters,\n EndTraceResult,\n { origin: string }\n>;\n\n/**\n * The `snap_endTrace` method implementation. This method is used to end a\n * performance trace in Sentry. It is only available to preinstalled Snaps.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.endTrace - The hook function to end a performance trace.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nfunction getEndTraceImplementation(\n request: JsonRpcRequestWithOrigin<EndTraceParameters>,\n response: PendingJsonRpcResponse,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { endTrace }: EndTraceMethodHooks,\n messenger: Messenger<string, EndTraceMethodActions>,\n): void {\n const snap = messenger.call('SnapController:getSnap', request.origin);\n\n if (!snap?.preinstalled) {\n return end(rpcErrors.methodNotFound());\n }\n\n const { params } = request;\n\n try {\n const validatedParams = getValidatedParams(params);\n endTrace(validatedParams);\n\n response.result = null;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n\n/**\n * Validate the parameters for the `snap_endTrace` method.\n *\n * @param params - Parameters to validate.\n * @returns Validated parameters.\n * @throws Throws RPC error if validation fails.\n */\nfunction getValidatedParams(params: unknown): EndTraceParameters {\n try {\n return create(params, EndTraceParametersStruct);\n } catch (error) {\n if (error instanceof StructError) {\n throw rpcErrors.invalidParams({\n message: `Invalid params: ${error.message}.`,\n });\n }\n\n /* istanbul ignore next */\n throw rpcErrors.internal();\n }\n}\n"]}
@@ -2,10 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAllSnapsHandler = void 0;
4
4
  const rpc_errors_1 = require("@metamask/rpc-errors");
5
- const methodName = 'wallet_getAllSnaps';
6
- const hookNames = {
7
- getAllSnaps: true,
8
- };
9
5
  /**
10
6
  * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be
11
7
  * called from `https://snaps.metamask.io`.
@@ -13,9 +9,8 @@ const hookNames = {
13
9
  * @internal
14
10
  */
15
11
  exports.getAllSnapsHandler = {
16
- methodNames: [methodName],
17
12
  implementation: getAllSnapsImplementation,
18
- hookNames,
13
+ actionNames: ['SnapController:getAllSnaps'],
19
14
  };
20
15
  /**
21
16
  * The `wallet_getAllSnaps` method implementation.
@@ -26,17 +21,16 @@ exports.getAllSnapsHandler = {
26
21
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this
27
22
  * function.
28
23
  * @param end - The `json-rpc-engine` "end" callback.
29
- * @param hooks - The RPC method hooks.
30
- * @param hooks.getAllSnaps - A function that returns all installed snaps.
24
+ * @param _hooks - The RPC method hooks. Not used by this function.
25
+ * @param messenger - The messenger used to call controller actions.
31
26
  * @returns Nothing.
32
27
  */
33
- async function getAllSnapsImplementation(request, response, _next, end, { getAllSnaps }) {
34
- // The origin is added by the MetaMask middleware stack.
28
+ async function getAllSnapsImplementation(request, response, _next, end, _hooks, messenger) {
35
29
  const { origin } = request;
36
30
  if (origin !== 'https://snaps.metamask.io') {
37
31
  return end(rpc_errors_1.rpcErrors.methodNotFound());
38
32
  }
39
- response.result = await getAllSnaps();
33
+ response.result = messenger.call('SnapController:getAllSnaps');
40
34
  return end();
41
35
  }
42
36
  //# sourceMappingURL=getAllSnaps.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAllSnaps.cjs","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAUjD,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,SAAS,GAAwC;IACrD,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG;IAChC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,yBAAyB;IACzC,SAAS;CAKV,CAAC;AASF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,OAAuB,EACvB,QAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAoB;IAEjC,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAA8C,CAAC;IAElE,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,sBAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACtC,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { GetSnapsResult } from '@metamask/snaps-sdk';\nimport type {\n JsonRpcParams,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'wallet_getAllSnaps';\n\nconst hookNames: MethodHooksObject<GetAllSnapsHooks> = {\n getAllSnaps: true,\n};\n\n/**\n * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be\n * called from `https://snaps.metamask.io`.\n *\n * @internal\n */\nexport const getAllSnapsHandler = {\n methodNames: [methodName] as const,\n implementation: getAllSnapsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetAllSnapsHooks,\n JsonRpcParams,\n GetSnapsResult\n>;\n\nexport type GetAllSnapsHooks = {\n /**\n * @returns All installed Snaps.\n */\n getAllSnaps: () => Promise<GetSnapsResult>;\n};\n\n/**\n * The `wallet_getAllSnaps` method implementation.\n * Fetches all installed snaps and adds them to the JSON-RPC response.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getAllSnaps - A function that returns all installed snaps.\n * @returns Nothing.\n */\nasync function getAllSnapsImplementation(\n request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetSnapsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getAllSnaps }: GetAllSnapsHooks,\n): Promise<void> {\n // The origin is added by the MetaMask middleware stack.\n const { origin } = request as JsonRpcRequest & { origin: string };\n\n if (origin !== 'https://snaps.metamask.io') {\n return end(rpcErrors.methodNotFound());\n }\n\n response.result = await getAllSnaps();\n return end();\n}\n"]}
1
+ {"version":3,"file":"getAllSnaps.cjs","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":";;;AAKA,qDAAiD;AAajD;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG;IAChC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAO5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,OAAiC,EACjC,QAAmD,EACnD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAsD;IAEtD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,sBAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC/D,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { TruncatedSnap } from '@metamask/snaps-utils';\nimport type { JsonRpcParams, PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetAllSnapsAction,\n} from '../types';\n\nexport type GetAllSnapsResult = TruncatedSnap[];\n\nexport type GetAllSnapsMethodActions = SnapControllerGetAllSnapsAction;\n\n/**\n * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be\n * called from `https://snaps.metamask.io`.\n *\n * @internal\n */\nexport const getAllSnapsHandler = {\n implementation: getAllSnapsImplementation,\n actionNames: ['SnapController:getAllSnaps'],\n} satisfies MethodHandler<\n never,\n GetAllSnapsMethodActions,\n JsonRpcParams,\n GetAllSnapsResult,\n { origin: string }\n>;\n\n/**\n * The `wallet_getAllSnaps` method implementation.\n * Fetches all installed snaps and adds them to the JSON-RPC response.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function getAllSnapsImplementation(\n request: JsonRpcRequestWithOrigin,\n response: PendingJsonRpcResponse<GetAllSnapsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetAllSnapsMethodActions>,\n): Promise<void> {\n const { origin } = request;\n\n if (origin !== 'https://snaps.metamask.io') {\n return end(rpcErrors.methodNotFound());\n }\n\n response.result = messenger.call('SnapController:getAllSnaps');\n return end();\n}\n"]}
@@ -1,7 +1,10 @@
1
1
  import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
2
- import type { GetSnapsResult } from "@metamask/snaps-sdk";
3
- import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.cjs";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { TruncatedSnap } from "@metamask/snaps-utils";
4
+ import type { PendingJsonRpcResponse } from "@metamask/utils";
5
+ import type { JsonRpcRequestWithOrigin, SnapControllerGetAllSnapsAction } from "../types.cjs";
6
+ export type GetAllSnapsResult = TruncatedSnap[];
7
+ export type GetAllSnapsMethodActions = SnapControllerGetAllSnapsAction;
5
8
  /**
6
9
  * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be
7
10
  * called from `https://snaps.metamask.io`.
@@ -9,15 +12,8 @@ import type { MethodHooksObject } from "../utils.cjs";
9
12
  * @internal
10
13
  */
11
14
  export declare const getAllSnapsHandler: {
12
- methodNames: ["wallet_getAllSnaps"];
13
15
  implementation: typeof getAllSnapsImplementation;
14
- hookNames: MethodHooksObject<GetAllSnapsHooks>;
15
- };
16
- export type GetAllSnapsHooks = {
17
- /**
18
- * @returns All installed Snaps.
19
- */
20
- getAllSnaps: () => Promise<GetSnapsResult>;
16
+ actionNames: "SnapController:getAllSnaps"[];
21
17
  };
22
18
  /**
23
19
  * The `wallet_getAllSnaps` method implementation.
@@ -28,10 +24,10 @@ export type GetAllSnapsHooks = {
28
24
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this
29
25
  * function.
30
26
  * @param end - The `json-rpc-engine` "end" callback.
31
- * @param hooks - The RPC method hooks.
32
- * @param hooks.getAllSnaps - A function that returns all installed snaps.
27
+ * @param _hooks - The RPC method hooks. Not used by this function.
28
+ * @param messenger - The messenger used to call controller actions.
33
29
  * @returns Nothing.
34
30
  */
35
- declare function getAllSnapsImplementation(request: JsonRpcRequest, response: PendingJsonRpcResponse<GetSnapsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getAllSnaps }: GetAllSnapsHooks): Promise<void>;
31
+ declare function getAllSnapsImplementation(request: JsonRpcRequestWithOrigin, response: PendingJsonRpcResponse<GetAllSnapsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetAllSnapsMethodActions>): Promise<void>;
36
32
  export {};
37
33
  //# sourceMappingURL=getAllSnaps.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAllSnaps.d.cts","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EAAE,cAAc,EAAE,4BAA4B;AAC1D,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAQlD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;CAQ9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAChC,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"getAllSnaps.d.cts","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAC3D,OAAO,KAAK,EAAiB,sBAAsB,EAAE,wBAAwB;AAE7E,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,qBAAiB;AAElB,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;CAS9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EACnD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -1,7 +1,10 @@
1
1
  import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
2
- import type { GetSnapsResult } from "@metamask/snaps-sdk";
3
- import type { JsonRpcRequest, PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.mjs";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { TruncatedSnap } from "@metamask/snaps-utils";
4
+ import type { PendingJsonRpcResponse } from "@metamask/utils";
5
+ import type { JsonRpcRequestWithOrigin, SnapControllerGetAllSnapsAction } from "../types.mjs";
6
+ export type GetAllSnapsResult = TruncatedSnap[];
7
+ export type GetAllSnapsMethodActions = SnapControllerGetAllSnapsAction;
5
8
  /**
6
9
  * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be
7
10
  * called from `https://snaps.metamask.io`.
@@ -9,15 +12,8 @@ import type { MethodHooksObject } from "../utils.mjs";
9
12
  * @internal
10
13
  */
11
14
  export declare const getAllSnapsHandler: {
12
- methodNames: ["wallet_getAllSnaps"];
13
15
  implementation: typeof getAllSnapsImplementation;
14
- hookNames: MethodHooksObject<GetAllSnapsHooks>;
15
- };
16
- export type GetAllSnapsHooks = {
17
- /**
18
- * @returns All installed Snaps.
19
- */
20
- getAllSnaps: () => Promise<GetSnapsResult>;
16
+ actionNames: "SnapController:getAllSnaps"[];
21
17
  };
22
18
  /**
23
19
  * The `wallet_getAllSnaps` method implementation.
@@ -28,10 +24,10 @@ export type GetAllSnapsHooks = {
28
24
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this
29
25
  * function.
30
26
  * @param end - The `json-rpc-engine` "end" callback.
31
- * @param hooks - The RPC method hooks.
32
- * @param hooks.getAllSnaps - A function that returns all installed snaps.
27
+ * @param _hooks - The RPC method hooks. Not used by this function.
28
+ * @param messenger - The messenger used to call controller actions.
33
29
  * @returns Nothing.
34
30
  */
35
- declare function getAllSnapsImplementation(request: JsonRpcRequest, response: PendingJsonRpcResponse<GetSnapsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getAllSnaps }: GetAllSnapsHooks): Promise<void>;
31
+ declare function getAllSnapsImplementation(request: JsonRpcRequestWithOrigin, response: PendingJsonRpcResponse<GetAllSnapsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetAllSnapsMethodActions>): Promise<void>;
36
32
  export {};
37
33
  //# sourceMappingURL=getAllSnaps.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAllSnaps.d.mts","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EAAE,cAAc,EAAE,4BAA4B;AAC1D,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACvB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AAQlD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;CAQ9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,sBAAsB,CAAC,cAAc,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAChC,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"getAllSnaps.d.mts","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B;AAC3D,OAAO,KAAK,EAAiB,sBAAsB,EAAE,wBAAwB;AAE7E,OAAO,KAAK,EACV,wBAAwB,EACxB,+BAA+B,EAChC,qBAAiB;AAElB,MAAM,MAAM,iBAAiB,GAAG,aAAa,EAAE,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAC;AAEvE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;CAS9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,yBAAyB,CACtC,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,EACnD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,wBAAwB,CAAC,GACrD,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -1,8 +1,4 @@
1
1
  import { rpcErrors } from "@metamask/rpc-errors";
2
- const methodName = 'wallet_getAllSnaps';
3
- const hookNames = {
4
- getAllSnaps: true,
5
- };
6
2
  /**
7
3
  * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be
8
4
  * called from `https://snaps.metamask.io`.
@@ -10,9 +6,8 @@ const hookNames = {
10
6
  * @internal
11
7
  */
12
8
  export const getAllSnapsHandler = {
13
- methodNames: [methodName],
14
9
  implementation: getAllSnapsImplementation,
15
- hookNames,
10
+ actionNames: ['SnapController:getAllSnaps'],
16
11
  };
17
12
  /**
18
13
  * The `wallet_getAllSnaps` method implementation.
@@ -23,17 +18,16 @@ export const getAllSnapsHandler = {
23
18
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this
24
19
  * function.
25
20
  * @param end - The `json-rpc-engine` "end" callback.
26
- * @param hooks - The RPC method hooks.
27
- * @param hooks.getAllSnaps - A function that returns all installed snaps.
21
+ * @param _hooks - The RPC method hooks. Not used by this function.
22
+ * @param messenger - The messenger used to call controller actions.
28
23
  * @returns Nothing.
29
24
  */
30
- async function getAllSnapsImplementation(request, response, _next, end, { getAllSnaps }) {
31
- // The origin is added by the MetaMask middleware stack.
25
+ async function getAllSnapsImplementation(request, response, _next, end, _hooks, messenger) {
32
26
  const { origin } = request;
33
27
  if (origin !== 'https://snaps.metamask.io') {
34
28
  return end(rpcErrors.methodNotFound());
35
29
  }
36
- response.result = await getAllSnaps();
30
+ response.result = messenger.call('SnapController:getAllSnaps');
37
31
  return end();
38
32
  }
39
33
  //# sourceMappingURL=getAllSnaps.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAllSnaps.mjs","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAUjD,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,SAAS,GAAwC;IACrD,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,yBAAyB;IACzC,SAAS;CAKV,CAAC;AASF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,OAAuB,EACvB,QAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,WAAW,EAAoB;IAEjC,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,OAA8C,CAAC;IAElE,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;IACtC,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { GetSnapsResult } from '@metamask/snaps-sdk';\nimport type {\n JsonRpcParams,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'wallet_getAllSnaps';\n\nconst hookNames: MethodHooksObject<GetAllSnapsHooks> = {\n getAllSnaps: true,\n};\n\n/**\n * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be\n * called from `https://snaps.metamask.io`.\n *\n * @internal\n */\nexport const getAllSnapsHandler = {\n methodNames: [methodName] as const,\n implementation: getAllSnapsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetAllSnapsHooks,\n JsonRpcParams,\n GetSnapsResult\n>;\n\nexport type GetAllSnapsHooks = {\n /**\n * @returns All installed Snaps.\n */\n getAllSnaps: () => Promise<GetSnapsResult>;\n};\n\n/**\n * The `wallet_getAllSnaps` method implementation.\n * Fetches all installed snaps and adds them to the JSON-RPC response.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getAllSnaps - A function that returns all installed snaps.\n * @returns Nothing.\n */\nasync function getAllSnapsImplementation(\n request: JsonRpcRequest,\n response: PendingJsonRpcResponse<GetSnapsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getAllSnaps }: GetAllSnapsHooks,\n): Promise<void> {\n // The origin is added by the MetaMask middleware stack.\n const { origin } = request as JsonRpcRequest & { origin: string };\n\n if (origin !== 'https://snaps.metamask.io') {\n return end(rpcErrors.methodNotFound());\n }\n\n response.result = await getAllSnaps();\n return end();\n}\n"]}
1
+ {"version":3,"file":"getAllSnaps.mjs","sourceRoot":"","sources":["../../src/permitted/getAllSnaps.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAajD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,CAAC,4BAA4B,CAAC;CAO5C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CACtC,OAAiC,EACjC,QAAmD,EACnD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAsD;IAEtD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,IAAI,MAAM,KAAK,2BAA2B,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC/D,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { TruncatedSnap } from '@metamask/snaps-utils';\nimport type { JsonRpcParams, PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetAllSnapsAction,\n} from '../types';\n\nexport type GetAllSnapsResult = TruncatedSnap[];\n\nexport type GetAllSnapsMethodActions = SnapControllerGetAllSnapsAction;\n\n/**\n * `wallet_getAllSnaps` gets all installed Snaps. Currently, this can only be\n * called from `https://snaps.metamask.io`.\n *\n * @internal\n */\nexport const getAllSnapsHandler = {\n implementation: getAllSnapsImplementation,\n actionNames: ['SnapController:getAllSnaps'],\n} satisfies MethodHandler<\n never,\n GetAllSnapsMethodActions,\n JsonRpcParams,\n GetAllSnapsResult,\n { origin: string }\n>;\n\n/**\n * The `wallet_getAllSnaps` method implementation.\n * Fetches all installed snaps and adds them to the JSON-RPC response.\n *\n * @param request - The JSON-RPC request object.\n * @param response - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback. Not used by this\n * function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function getAllSnapsImplementation(\n request: JsonRpcRequestWithOrigin,\n response: PendingJsonRpcResponse<GetAllSnapsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetAllSnapsMethodActions>,\n): Promise<void> {\n const { origin } = request;\n\n if (origin !== 'https://snaps.metamask.io') {\n return end(rpcErrors.methodNotFound());\n }\n\n response.result = messenger.call('SnapController:getAllSnaps');\n return end();\n}\n"]}
@@ -3,11 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBackgroundEventsHandler = void 0;
4
4
  const rpc_errors_1 = require("@metamask/rpc-errors");
5
5
  const endowments_1 = require("../endowments/index.cjs");
6
- const methodName = 'snap_getBackgroundEvents';
7
- const hookNames = {
8
- getBackgroundEvents: true,
9
- hasPermission: true,
10
- };
11
6
  /**
12
7
  * Get the scheduled background events for the Snap.
13
8
  *
@@ -33,30 +28,28 @@ const hookNames = {
33
28
  * ```
34
29
  */
35
30
  exports.getBackgroundEventsHandler = {
36
- methodNames: [methodName],
37
31
  implementation: getGetBackgroundEventsImplementation,
38
- hookNames,
32
+ actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],
39
33
  };
40
34
  /**
41
35
  * The `snap_getBackgroundEvents` method implementation.
42
36
  *
43
- * @param _req - The JSON-RPC request object. Not used by this function.
37
+ * @param req - The JSON-RPC request object.
44
38
  * @param res - The JSON-RPC response object.
45
39
  * @param _next - The `json-rpc-engine` "next" callback.
46
40
  * Not used by this function.
47
41
  * @param end - The `json-rpc-engine` "end" callback.
48
- * @param hooks - The RPC method hooks.
49
- * @param hooks.getBackgroundEvents - The function to get the background events.
50
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
42
+ * @param _hooks - The RPC method hooks. Not used by this function.
43
+ * @param messenger - The messenger used to call controller actions.
51
44
  * @returns An array of background events.
52
45
  */
53
- async function getGetBackgroundEventsImplementation(_req, res, _next, end, { getBackgroundEvents, hasPermission }) {
54
- if (!hasPermission(endowments_1.SnapEndowments.Cronjob)) {
46
+ async function getGetBackgroundEventsImplementation(req, res, _next, end, _hooks, messenger) {
47
+ const { origin } = req;
48
+ if (!messenger.call('PermissionController:hasPermission', origin, endowments_1.SnapEndowments.Cronjob)) {
55
49
  return end(rpc_errors_1.providerErrors.unauthorized());
56
50
  }
57
51
  try {
58
- const events = getBackgroundEvents();
59
- res.result = events;
52
+ res.result = messenger.call('CronjobController:get', origin);
60
53
  }
61
54
  catch (error) {
62
55
  return end(error);
@@ -1 +1 @@
1
- {"version":3,"file":"getBackgroundEvents.cjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":";;;AAEA,qDAAsD;AAStD,wDAA+C;AAG/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,MAAM,SAAS,GAAsD;IACnE,mBAAmB,EAAE,IAAI;IACzB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,0BAA0B,GAAG;IACxC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,oCAAoC;IACpD,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,oCAAoC,CACjD,IAA+C,EAC/C,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,EAAE,mBAAmB,EAAE,aAAa,EAAkC;IAEtE,IAAI,CAAC,aAAa,CAAC,2BAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n BackgroundEvent,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_getBackgroundEvents';\n\nconst hookNames: MethodHooksObject<GetBackgroundEventsMethodHooks> = {\n getBackgroundEvents: true,\n hasPermission: true,\n};\n\nexport type GetBackgroundEventsMethodHooks = {\n getBackgroundEvents: () => BackgroundEvent[];\n hasPermission: (permissionName: string) => boolean;\n};\n\n/**\n * Get the scheduled background events for the Snap.\n *\n * @example\n * ```ts\n * const events = await snap.request({\n * method: 'snap_getBackgroundEvents',\n * });\n * console.log(events);\n * // [\n * // {\n * // id: 'event-1',\n * // scheduledAt: 1672531200000,\n * // snapId: 'npm:example-snap',\n * // date: 1672531200000,\n * // request: {\n * // method: 'example_method',\n * // params: { example: 'data' },\n * // },\n * // },\n * // ...,\n * // ]\n * ```\n */\nexport const getBackgroundEventsHandler = {\n methodNames: [methodName] as const,\n implementation: getGetBackgroundEventsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetBackgroundEventsMethodHooks,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult\n>;\n\n/**\n * The `snap_getBackgroundEvents` method implementation.\n *\n * @param _req - The JSON-RPC request object. Not used by this function.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback.\n * Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getBackgroundEvents - The function to get the background events.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.\n * @returns An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n _req: JsonRpcRequest<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getBackgroundEvents, hasPermission }: GetBackgroundEventsMethodHooks,\n): Promise<void> {\n if (!hasPermission(SnapEndowments.Cronjob)) {\n return end(providerErrors.unauthorized());\n }\n try {\n const events = getBackgroundEvents();\n res.result = events;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
1
+ {"version":3,"file":"getBackgroundEvents.cjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":";;;AAMA,qDAAsD;AAQtD,wDAA+C;AAU/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACU,QAAA,0BAA0B,GAAG;IACxC,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,CAAC,oCAAoC,EAAE,uBAAuB,CAAC;CAO7E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oCAAoC,CACjD,GAAwD,EACxD,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAA8D;IAE9D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IACE,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,2BAAc,CAAC,OAAO,CACvB,EACD,CAAC;QACD,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport type { PermissionControllerHasPermissionAction } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n SnapId,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type {\n CronjobControllerGetAction,\n JsonRpcRequestWithOrigin,\n} from '../types';\n\nexport type GetBackgroundEventsMethodActions =\n | PermissionControllerHasPermissionAction\n | CronjobControllerGetAction;\n\n/**\n * Get the scheduled background events for the Snap.\n *\n * @example\n * ```ts\n * const events = await snap.request({\n * method: 'snap_getBackgroundEvents',\n * });\n * console.log(events);\n * // [\n * // {\n * // id: 'event-1',\n * // scheduledAt: 1672531200000,\n * // snapId: 'npm:example-snap',\n * // date: 1672531200000,\n * // request: {\n * // method: 'example_method',\n * // params: { example: 'data' },\n * // },\n * // },\n * // ...,\n * // ]\n * ```\n */\nexport const getBackgroundEventsHandler = {\n implementation: getGetBackgroundEventsImplementation,\n actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],\n} satisfies MethodHandler<\n never,\n GetBackgroundEventsMethodActions,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n { origin: SnapId }\n>;\n\n/**\n * The `snap_getBackgroundEvents` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback.\n * Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetBackgroundEventsMethodActions>,\n): Promise<void> {\n const { origin } = req;\n\n if (\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n SnapEndowments.Cronjob,\n )\n ) {\n return end(providerErrors.unauthorized());\n }\n try {\n res.result = messenger.call('CronjobController:get', origin);\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
@@ -1,11 +1,10 @@
1
1
  import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
2
- import type { BackgroundEvent, GetBackgroundEventsParams, GetBackgroundEventsResult, JsonRpcRequest } from "@metamask/snaps-sdk";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
4
+ import type { GetBackgroundEventsParams, GetBackgroundEventsResult } from "@metamask/snaps-sdk";
3
5
  import { type PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.cjs";
5
- export type GetBackgroundEventsMethodHooks = {
6
- getBackgroundEvents: () => BackgroundEvent[];
7
- hasPermission: (permissionName: string) => boolean;
8
- };
6
+ import type { CronjobControllerGetAction, JsonRpcRequestWithOrigin } from "../types.cjs";
7
+ export type GetBackgroundEventsMethodActions = PermissionControllerHasPermissionAction | CronjobControllerGetAction;
9
8
  /**
10
9
  * Get the scheduled background events for the Snap.
11
10
  *
@@ -31,23 +30,21 @@ export type GetBackgroundEventsMethodHooks = {
31
30
  * ```
32
31
  */
33
32
  export declare const getBackgroundEventsHandler: {
34
- methodNames: ["snap_getBackgroundEvents"];
35
33
  implementation: typeof getGetBackgroundEventsImplementation;
36
- hookNames: MethodHooksObject<GetBackgroundEventsMethodHooks>;
34
+ actionNames: ("CronjobController:get" | "PermissionController:hasPermission")[];
37
35
  };
38
36
  /**
39
37
  * The `snap_getBackgroundEvents` method implementation.
40
38
  *
41
- * @param _req - The JSON-RPC request object. Not used by this function.
39
+ * @param req - The JSON-RPC request object.
42
40
  * @param res - The JSON-RPC response object.
43
41
  * @param _next - The `json-rpc-engine` "next" callback.
44
42
  * Not used by this function.
45
43
  * @param end - The `json-rpc-engine` "end" callback.
46
- * @param hooks - The RPC method hooks.
47
- * @param hooks.getBackgroundEvents - The function to get the background events.
48
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
44
+ * @param _hooks - The RPC method hooks. Not used by this function.
45
+ * @param messenger - The messenger used to call controller actions.
49
46
  * @returns An array of background events.
50
47
  */
51
- declare function getGetBackgroundEventsImplementation(_req: JsonRpcRequest<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getBackgroundEvents, hasPermission }: GetBackgroundEventsMethodHooks): Promise<void>;
48
+ declare function getGetBackgroundEventsImplementation(req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetBackgroundEventsMethodActions>): Promise<void>;
52
49
  export {};
53
50
  //# sourceMappingURL=getBackgroundEvents.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBackgroundEvents.d.cts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AASlD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,EAAE,MAAM,eAAe,EAAE,CAAC;IAC7C,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;;CAQtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,oCAAoC,CACjD,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC,EAC/C,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,mBAAmB,EAAE,aAAa,EAAE,EAAE,8BAA8B,GACrE,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"getBackgroundEvents.d.cts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,uCAAuC,EAAE,wCAAwC;AAE/F,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAE1B,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,qBAAiB;AAElB,MAAM,MAAM,gCAAgC,GACxC,uCAAuC,GACvC,0BAA0B,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;CAStC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,oCAAoC,CACjD,GAAG,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,EACxD,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -1,11 +1,10 @@
1
1
  import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
2
- import type { BackgroundEvent, GetBackgroundEventsParams, GetBackgroundEventsResult, JsonRpcRequest } from "@metamask/snaps-sdk";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
4
+ import type { GetBackgroundEventsParams, GetBackgroundEventsResult } from "@metamask/snaps-sdk";
3
5
  import { type PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.mjs";
5
- export type GetBackgroundEventsMethodHooks = {
6
- getBackgroundEvents: () => BackgroundEvent[];
7
- hasPermission: (permissionName: string) => boolean;
8
- };
6
+ import type { CronjobControllerGetAction, JsonRpcRequestWithOrigin } from "../types.mjs";
7
+ export type GetBackgroundEventsMethodActions = PermissionControllerHasPermissionAction | CronjobControllerGetAction;
9
8
  /**
10
9
  * Get the scheduled background events for the Snap.
11
10
  *
@@ -31,23 +30,21 @@ export type GetBackgroundEventsMethodHooks = {
31
30
  * ```
32
31
  */
33
32
  export declare const getBackgroundEventsHandler: {
34
- methodNames: ["snap_getBackgroundEvents"];
35
33
  implementation: typeof getGetBackgroundEventsImplementation;
36
- hookNames: MethodHooksObject<GetBackgroundEventsMethodHooks>;
34
+ actionNames: ("CronjobController:get" | "PermissionController:hasPermission")[];
37
35
  };
38
36
  /**
39
37
  * The `snap_getBackgroundEvents` method implementation.
40
38
  *
41
- * @param _req - The JSON-RPC request object. Not used by this function.
39
+ * @param req - The JSON-RPC request object.
42
40
  * @param res - The JSON-RPC response object.
43
41
  * @param _next - The `json-rpc-engine` "next" callback.
44
42
  * Not used by this function.
45
43
  * @param end - The `json-rpc-engine` "end" callback.
46
- * @param hooks - The RPC method hooks.
47
- * @param hooks.getBackgroundEvents - The function to get the background events.
48
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
44
+ * @param _hooks - The RPC method hooks. Not used by this function.
45
+ * @param messenger - The messenger used to call controller actions.
49
46
  * @returns An array of background events.
50
47
  */
51
- declare function getGetBackgroundEventsImplementation(_req: JsonRpcRequest<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { getBackgroundEvents, hasPermission }: GetBackgroundEventsMethodHooks): Promise<void>;
48
+ declare function getGetBackgroundEventsImplementation(req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>, res: PendingJsonRpcResponse<GetBackgroundEventsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetBackgroundEventsMethodActions>): Promise<void>;
52
49
  export {};
53
50
  //# sourceMappingURL=getBackgroundEvents.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBackgroundEvents.d.mts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EACV,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AASlD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,mBAAmB,EAAE,MAAM,eAAe,EAAE,CAAC;IAC7C,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;;CAQtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,iBAAe,oCAAoC,CACjD,IAAI,EAAE,cAAc,CAAC,yBAAyB,CAAC,EAC/C,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,mBAAmB,EAAE,aAAa,EAAE,EAAE,8BAA8B,GACrE,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"getBackgroundEvents.d.mts","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,kCAAkC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,uCAAuC,EAAE,wCAAwC;AAE/F,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAE1B,4BAA4B;AAC7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,qBAAiB;AAElB,MAAM,MAAM,gCAAgC,GACxC,uCAAuC,GACvC,0BAA0B,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B;;;CAStC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAe,oCAAoC,CACjD,GAAG,EAAE,wBAAwB,CAAC,yBAAyB,CAAC,EACxD,GAAG,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,EACtD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,gCAAgC,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAmBf"}
@@ -1,10 +1,5 @@
1
1
  import { providerErrors } from "@metamask/rpc-errors";
2
2
  import { SnapEndowments } from "../endowments/index.mjs";
3
- const methodName = 'snap_getBackgroundEvents';
4
- const hookNames = {
5
- getBackgroundEvents: true,
6
- hasPermission: true,
7
- };
8
3
  /**
9
4
  * Get the scheduled background events for the Snap.
10
5
  *
@@ -30,30 +25,28 @@ const hookNames = {
30
25
  * ```
31
26
  */
32
27
  export const getBackgroundEventsHandler = {
33
- methodNames: [methodName],
34
28
  implementation: getGetBackgroundEventsImplementation,
35
- hookNames,
29
+ actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],
36
30
  };
37
31
  /**
38
32
  * The `snap_getBackgroundEvents` method implementation.
39
33
  *
40
- * @param _req - The JSON-RPC request object. Not used by this function.
34
+ * @param req - The JSON-RPC request object.
41
35
  * @param res - The JSON-RPC response object.
42
36
  * @param _next - The `json-rpc-engine` "next" callback.
43
37
  * Not used by this function.
44
38
  * @param end - The `json-rpc-engine` "end" callback.
45
- * @param hooks - The RPC method hooks.
46
- * @param hooks.getBackgroundEvents - The function to get the background events.
47
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.
39
+ * @param _hooks - The RPC method hooks. Not used by this function.
40
+ * @param messenger - The messenger used to call controller actions.
48
41
  * @returns An array of background events.
49
42
  */
50
- async function getGetBackgroundEventsImplementation(_req, res, _next, end, { getBackgroundEvents, hasPermission }) {
51
- if (!hasPermission(SnapEndowments.Cronjob)) {
43
+ async function getGetBackgroundEventsImplementation(req, res, _next, end, _hooks, messenger) {
44
+ const { origin } = req;
45
+ if (!messenger.call('PermissionController:hasPermission', origin, SnapEndowments.Cronjob)) {
52
46
  return end(providerErrors.unauthorized());
53
47
  }
54
48
  try {
55
- const events = getBackgroundEvents();
56
- res.result = events;
49
+ res.result = messenger.call('CronjobController:get', origin);
57
50
  }
58
51
  catch (error) {
59
52
  return end(error);
@@ -1 +1 @@
1
- {"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAStD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,UAAU,GAAG,0BAA0B,CAAC;AAE9C,MAAM,SAAS,GAAsD;IACnE,mBAAmB,EAAE,IAAI;IACzB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,oCAAoC;IACpD,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,oCAAoC,CACjD,IAA+C,EAC/C,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,EAAE,mBAAmB,EAAE,aAAa,EAAkC;IAEtE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PermittedHandlerExport } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n BackgroundEvent,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n JsonRpcRequest,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'snap_getBackgroundEvents';\n\nconst hookNames: MethodHooksObject<GetBackgroundEventsMethodHooks> = {\n getBackgroundEvents: true,\n hasPermission: true,\n};\n\nexport type GetBackgroundEventsMethodHooks = {\n getBackgroundEvents: () => BackgroundEvent[];\n hasPermission: (permissionName: string) => boolean;\n};\n\n/**\n * Get the scheduled background events for the Snap.\n *\n * @example\n * ```ts\n * const events = await snap.request({\n * method: 'snap_getBackgroundEvents',\n * });\n * console.log(events);\n * // [\n * // {\n * // id: 'event-1',\n * // scheduledAt: 1672531200000,\n * // snapId: 'npm:example-snap',\n * // date: 1672531200000,\n * // request: {\n * // method: 'example_method',\n * // params: { example: 'data' },\n * // },\n * // },\n * // ...,\n * // ]\n * ```\n */\nexport const getBackgroundEventsHandler = {\n methodNames: [methodName] as const,\n implementation: getGetBackgroundEventsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetBackgroundEventsMethodHooks,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult\n>;\n\n/**\n * The `snap_getBackgroundEvents` method implementation.\n *\n * @param _req - The JSON-RPC request object. Not used by this function.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback.\n * Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.getBackgroundEvents - The function to get the background events.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:cronjob` permission.\n * @returns An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n _req: JsonRpcRequest<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getBackgroundEvents, hasPermission }: GetBackgroundEventsMethodHooks,\n): Promise<void> {\n if (!hasPermission(SnapEndowments.Cronjob)) {\n return end(providerErrors.unauthorized());\n }\n try {\n const events = getBackgroundEvents();\n res.result = events;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
1
+ {"version":3,"file":"getBackgroundEvents.mjs","sourceRoot":"","sources":["../../src/permitted/getBackgroundEvents.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAQtD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAU/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,cAAc,EAAE,oCAAoC;IACpD,WAAW,EAAE,CAAC,oCAAoC,EAAE,uBAAuB,CAAC;CAO7E,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,oCAAoC,CACjD,GAAwD,EACxD,GAAsD,EACtD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAA8D;IAE9D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IACE,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,cAAc,CAAC,OAAO,CACvB,EACD,CAAC;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,EAAE,CAAC;AACf,CAAC","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n MethodHandler,\n} from '@metamask/json-rpc-engine';\nimport type { Messenger } from '@metamask/messenger';\nimport type { PermissionControllerHasPermissionAction } from '@metamask/permission-controller';\nimport { providerErrors } from '@metamask/rpc-errors';\nimport type {\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n SnapId,\n} from '@metamask/snaps-sdk';\nimport { type PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type {\n CronjobControllerGetAction,\n JsonRpcRequestWithOrigin,\n} from '../types';\n\nexport type GetBackgroundEventsMethodActions =\n | PermissionControllerHasPermissionAction\n | CronjobControllerGetAction;\n\n/**\n * Get the scheduled background events for the Snap.\n *\n * @example\n * ```ts\n * const events = await snap.request({\n * method: 'snap_getBackgroundEvents',\n * });\n * console.log(events);\n * // [\n * // {\n * // id: 'event-1',\n * // scheduledAt: 1672531200000,\n * // snapId: 'npm:example-snap',\n * // date: 1672531200000,\n * // request: {\n * // method: 'example_method',\n * // params: { example: 'data' },\n * // },\n * // },\n * // ...,\n * // ]\n * ```\n */\nexport const getBackgroundEventsHandler = {\n implementation: getGetBackgroundEventsImplementation,\n actionNames: ['PermissionController:hasPermission', 'CronjobController:get'],\n} satisfies MethodHandler<\n never,\n GetBackgroundEventsMethodActions,\n GetBackgroundEventsParams,\n GetBackgroundEventsResult,\n { origin: SnapId }\n>;\n\n/**\n * The `snap_getBackgroundEvents` method implementation.\n *\n * @param req - The JSON-RPC request object.\n * @param res - The JSON-RPC response object.\n * @param _next - The `json-rpc-engine` \"next\" callback.\n * Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param _hooks - The RPC method hooks. Not used by this function.\n * @param messenger - The messenger used to call controller actions.\n * @returns An array of background events.\n */\nasync function getGetBackgroundEventsImplementation(\n req: JsonRpcRequestWithOrigin<GetBackgroundEventsParams>,\n res: PendingJsonRpcResponse<GetBackgroundEventsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetBackgroundEventsMethodActions>,\n): Promise<void> {\n const { origin } = req;\n\n if (\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n SnapEndowments.Cronjob,\n )\n ) {\n return end(providerErrors.unauthorized());\n }\n try {\n res.result = messenger.call('CronjobController:get', origin);\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
@@ -2,9 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getClientStatusHandler = void 0;
4
4
  const snaps_utils_1 = require("@metamask/snaps-utils");
5
- const methodName = 'snap_getClientStatus';
6
5
  const hookNames = {
7
- getIsLocked: true,
8
6
  getIsActive: true,
9
7
  getVersion: true,
10
8
  };
@@ -36,9 +34,9 @@ const hookNames = {
36
34
  * ```
37
35
  */
38
36
  exports.getClientStatusHandler = {
39
- methodNames: [methodName],
40
37
  implementation: getClientStatusImplementation,
41
38
  hookNames,
39
+ actionNames: ['KeyringController:getState'],
42
40
  };
43
41
  /**
44
42
  * The `snap_getClientStatus` method implementation.
@@ -50,14 +48,15 @@ exports.getClientStatusHandler = {
50
48
  * function.
51
49
  * @param end - The `json-rpc-engine` "end" callback.
52
50
  * @param hooks - The RPC method hooks.
53
- * @param hooks.getIsLocked - A function that returns whether the client is locked or not.
54
51
  * @param hooks.getIsActive - A function that returns whether the client is opened or not.
55
52
  * @param hooks.getVersion - A function that returns the client version.
53
+ * @param messenger - The messenger used to call controller actions.
56
54
  * @returns Nothing.
57
55
  */
58
- async function getClientStatusImplementation(_request, response, _next, end, { getIsLocked, getIsActive, getVersion }) {
56
+ async function getClientStatusImplementation(_request, response, _next, end, { getIsActive, getVersion }, messenger) {
57
+ const { isUnlocked } = messenger.call('KeyringController:getState');
59
58
  response.result = {
60
- locked: getIsLocked(),
59
+ locked: !isUnlocked,
61
60
  active: getIsActive(),
62
61
  clientVersion: getVersion(),
63
62
  platformVersion: (0, snaps_utils_1.getPlatformVersion)(),