@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":"getWebSockets.cjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":";;;AAEA,qDAAsD;AAQtD,wDAA+C;AAG/C,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,SAAS,GAAgD;IAC7D,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACU,QAAA,oBAAoB,GAAG;IAClC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,2BAA2B,CAClC,IAAyC,EACzC,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,aAAa,EAA4B;IAE1D,IAAI,CAAC,aAAa,CAAC,2BAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,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 GetWebSocketsParams,\n GetWebSocketsResult,\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_getWebSockets';\n\nconst hookNames: MethodHooksObject<GetWebSocketsMethodHooks> = {\n hasPermission: true,\n getWebSockets: true,\n};\n\nexport type GetWebSocketsMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n getWebSockets: () => GetWebSocketsResult;\n};\n\n/**\n * Get the connected WebSockets for the Snap.\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"initialPermissions\": {\n * \"endowment:network-access\": {}\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const webSockets = await snap.request({ method: 'snap_getWebSockets' });\n * console.log(webSockets);\n * // Example output:\n * // [\n * // {\n * // id: 'websocket-1',\n * // url: 'wss://example.com/socket',\n * // protocols: ['protocol1', 'protocol2'],\n * // },\n * // {\n * // id: 'websocket-2',\n * // url: 'ws://example.org/endpoint',\n * // protocols: [],\n * // },\n * // ]\n * ```\n */\nexport const getWebSocketsHandler = {\n methodNames: [methodName] as const,\n implementation: getWebSocketsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetWebSocketsMethodHooks,\n GetWebSocketsParams,\n GetWebSocketsResult\n>;\n\n/**\n * The `snap_getWebSockets` 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. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.\n * @returns Nothing.\n */\nfunction getWebSocketsImplementation(\n _req: JsonRpcRequest<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, getWebSockets }: GetWebSocketsMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = getWebSockets();\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
1
+ {"version":3,"file":"getWebSockets.cjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":";;;AAMA,qDAAsD;AAOtD,wDAA+C;AAU/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACU,QAAA,oBAAoB,GAAG;IAClC,cAAc,EAAE,2BAA2B;IAC3C,WAAW,EAAE;QACX,oCAAoC;QACpC,yBAAyB;KAC1B;CAOF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,SAAS,2BAA2B,CAClC,GAAkD,EAClD,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAwD;IAExD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IACE,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,2BAAc,CAAC,aAAa,CAC7B,EACD,CAAC;QACD,OAAO,GAAG,CAAC,2BAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACjE,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 GetWebSocketsParams,\n GetWebSocketsResult,\n} from '@metamask/snaps-sdk';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type {\n JsonRpcRequestWithOrigin,\n WebSocketServiceGetAllAction,\n} from '../types';\n\nexport type GetWebSocketsMethodActions =\n | PermissionControllerHasPermissionAction\n | WebSocketServiceGetAllAction;\n\n/**\n * Get the connected WebSockets for the Snap.\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"initialPermissions\": {\n * \"endowment:network-access\": {}\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const webSockets = await snap.request({ method: 'snap_getWebSockets' });\n * console.log(webSockets);\n * // Example output:\n * // [\n * // {\n * // id: 'websocket-1',\n * // url: 'wss://example.com/socket',\n * // protocols: ['protocol1', 'protocol2'],\n * // },\n * // {\n * // id: 'websocket-2',\n * // url: 'ws://example.org/endpoint',\n * // protocols: [],\n * // },\n * // ]\n * ```\n */\nexport const getWebSocketsHandler = {\n implementation: getWebSocketsImplementation,\n actionNames: [\n 'PermissionController:hasPermission',\n 'WebSocketService:getAll',\n ],\n} satisfies MethodHandler<\n never,\n GetWebSocketsMethodActions,\n GetWebSocketsParams,\n GetWebSocketsResult,\n { origin: string }\n>;\n\n/**\n * The `snap_getWebSockets` 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. 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 Nothing.\n */\nfunction getWebSocketsImplementation(\n req: JsonRpcRequestWithOrigin<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetWebSocketsMethodActions>,\n): void {\n const { origin } = req;\n\n if (\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n SnapEndowments.NetworkAccess,\n )\n ) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = messenger.call('WebSocketService:getAll', 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 { GetWebSocketsParams, GetWebSocketsResult, JsonRpcRequest } from "@metamask/snaps-sdk";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
4
+ import type { GetWebSocketsParams, GetWebSocketsResult } from "@metamask/snaps-sdk";
3
5
  import type { PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.cjs";
5
- export type GetWebSocketsMethodHooks = {
6
- hasPermission: (permissionName: string) => boolean;
7
- getWebSockets: () => GetWebSocketsResult;
8
- };
6
+ import type { JsonRpcRequestWithOrigin, WebSocketServiceGetAllAction } from "../types.cjs";
7
+ export type GetWebSocketsMethodActions = PermissionControllerHasPermissionAction | WebSocketServiceGetAllAction;
9
8
  /**
10
9
  * Get the connected WebSockets for the Snap.
11
10
  *
@@ -36,22 +35,20 @@ export type GetWebSocketsMethodHooks = {
36
35
  * ```
37
36
  */
38
37
  export declare const getWebSocketsHandler: {
39
- methodNames: ["snap_getWebSockets"];
40
38
  implementation: typeof getWebSocketsImplementation;
41
- hookNames: MethodHooksObject<GetWebSocketsMethodHooks>;
39
+ actionNames: ("WebSocketService:getAll" | "PermissionController:hasPermission")[];
42
40
  };
43
41
  /**
44
42
  * The `snap_getWebSockets` method implementation.
45
43
  *
46
- * @param _req - The JSON-RPC request object. Not used by this function.
44
+ * @param req - The JSON-RPC request object.
47
45
  * @param res - The JSON-RPC response object.
48
46
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
49
47
  * @param end - The `json-rpc-engine` "end" callback.
50
- * @param hooks - The RPC method hooks.
51
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
52
- * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.
48
+ * @param _hooks - The RPC method hooks. Not used by this function.
49
+ * @param messenger - The messenger used to call controller actions.
53
50
  * @returns Nothing.
54
51
  */
55
- declare function getWebSocketsImplementation(_req: JsonRpcRequest<GetWebSocketsParams>, res: PendingJsonRpcResponse<GetWebSocketsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { hasPermission, getWebSockets }: GetWebSocketsMethodHooks): void;
52
+ declare function getWebSocketsImplementation(req: JsonRpcRequestWithOrigin<GetWebSocketsParams>, res: PendingJsonRpcResponse<GetWebSocketsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetWebSocketsMethodActions>): void;
56
53
  export {};
57
54
  //# sourceMappingURL=getWebSockets.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWebSockets.d.cts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,4BAA4B;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AASlD,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,aAAa,EAAE,MAAM,mBAAmB,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,oBAAoB;;;;CAQhC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAS,2BAA2B,CAClC,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACzC,GAAG,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,wBAAwB,GACzD,IAAI,CAYN"}
1
+ {"version":3,"file":"getWebSockets.d.cts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.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,mBAAmB,EACnB,mBAAmB,EACpB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC7B,qBAAiB;AAElB,MAAM,MAAM,0BAA0B,GAClC,uCAAuC,GACvC,4BAA4B,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,oBAAoB;;;CAYhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,iBAAS,2BAA2B,CAClC,GAAG,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,EAClD,GAAG,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,0BAA0B,CAAC,GACvD,IAAI,CAoBN"}
@@ -1,11 +1,10 @@
1
1
  import type { JsonRpcEngineEndCallback } from "@metamask/json-rpc-engine";
2
- import type { GetWebSocketsParams, GetWebSocketsResult, JsonRpcRequest } from "@metamask/snaps-sdk";
2
+ import type { Messenger } from "@metamask/messenger";
3
+ import type { PermissionControllerHasPermissionAction } from "@metamask/permission-controller";
4
+ import type { GetWebSocketsParams, GetWebSocketsResult } from "@metamask/snaps-sdk";
3
5
  import type { PendingJsonRpcResponse } from "@metamask/utils";
4
- import type { MethodHooksObject } from "../utils.mjs";
5
- export type GetWebSocketsMethodHooks = {
6
- hasPermission: (permissionName: string) => boolean;
7
- getWebSockets: () => GetWebSocketsResult;
8
- };
6
+ import type { JsonRpcRequestWithOrigin, WebSocketServiceGetAllAction } from "../types.mjs";
7
+ export type GetWebSocketsMethodActions = PermissionControllerHasPermissionAction | WebSocketServiceGetAllAction;
9
8
  /**
10
9
  * Get the connected WebSockets for the Snap.
11
10
  *
@@ -36,22 +35,20 @@ export type GetWebSocketsMethodHooks = {
36
35
  * ```
37
36
  */
38
37
  export declare const getWebSocketsHandler: {
39
- methodNames: ["snap_getWebSockets"];
40
38
  implementation: typeof getWebSocketsImplementation;
41
- hookNames: MethodHooksObject<GetWebSocketsMethodHooks>;
39
+ actionNames: ("WebSocketService:getAll" | "PermissionController:hasPermission")[];
42
40
  };
43
41
  /**
44
42
  * The `snap_getWebSockets` method implementation.
45
43
  *
46
- * @param _req - The JSON-RPC request object. Not used by this function.
44
+ * @param req - The JSON-RPC request object.
47
45
  * @param res - The JSON-RPC response object.
48
46
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
49
47
  * @param end - The `json-rpc-engine` "end" callback.
50
- * @param hooks - The RPC method hooks.
51
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
52
- * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.
48
+ * @param _hooks - The RPC method hooks. Not used by this function.
49
+ * @param messenger - The messenger used to call controller actions.
53
50
  * @returns Nothing.
54
51
  */
55
- declare function getWebSocketsImplementation(_req: JsonRpcRequest<GetWebSocketsParams>, res: PendingJsonRpcResponse<GetWebSocketsResult>, _next: unknown, end: JsonRpcEngineEndCallback, { hasPermission, getWebSockets }: GetWebSocketsMethodHooks): void;
52
+ declare function getWebSocketsImplementation(req: JsonRpcRequestWithOrigin<GetWebSocketsParams>, res: PendingJsonRpcResponse<GetWebSocketsResult>, _next: unknown, end: JsonRpcEngineEndCallback, _hooks: never, messenger: Messenger<string, GetWebSocketsMethodActions>): void;
56
53
  export {};
57
54
  //# sourceMappingURL=getWebSockets.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getWebSockets.d.mts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kCAAkC;AAG1E,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACf,4BAA4B;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAiB;AASlD,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,aAAa,EAAE,MAAM,mBAAmB,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,oBAAoB;;;;CAQhC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,iBAAS,2BAA2B,CAClC,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC,EACzC,GAAG,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,wBAAwB,GACzD,IAAI,CAYN"}
1
+ {"version":3,"file":"getWebSockets.d.mts","sourceRoot":"","sources":["../../src/permitted/getWebSockets.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,mBAAmB,EACnB,mBAAmB,EACpB,4BAA4B;AAC7B,OAAO,KAAK,EAAE,sBAAsB,EAAE,wBAAwB;AAG9D,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC7B,qBAAiB;AAElB,MAAM,MAAM,0BAA0B,GAClC,uCAAuC,GACvC,4BAA4B,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,oBAAoB;;;CAYhC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,iBAAS,2BAA2B,CAClC,GAAG,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,EAClD,GAAG,EAAE,sBAAsB,CAAC,mBAAmB,CAAC,EAChD,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,0BAA0B,CAAC,GACvD,IAAI,CAoBN"}
@@ -1,10 +1,5 @@
1
1
  import { providerErrors } from "@metamask/rpc-errors";
2
2
  import { SnapEndowments } from "../endowments/index.mjs";
3
- const methodName = 'snap_getWebSockets';
4
- const hookNames = {
5
- hasPermission: true,
6
- getWebSockets: true,
7
- };
8
3
  /**
9
4
  * Get the connected WebSockets for the Snap.
10
5
  *
@@ -35,28 +30,30 @@ const hookNames = {
35
30
  * ```
36
31
  */
37
32
  export const getWebSocketsHandler = {
38
- methodNames: [methodName],
39
33
  implementation: getWebSocketsImplementation,
40
- hookNames,
34
+ actionNames: [
35
+ 'PermissionController:hasPermission',
36
+ 'WebSocketService:getAll',
37
+ ],
41
38
  };
42
39
  /**
43
40
  * The `snap_getWebSockets` method implementation.
44
41
  *
45
- * @param _req - The JSON-RPC request object. Not used by this function.
42
+ * @param req - The JSON-RPC request object.
46
43
  * @param res - The JSON-RPC response object.
47
44
  * @param _next - The `json-rpc-engine` "next" callback. Not used by this function.
48
45
  * @param end - The `json-rpc-engine` "end" callback.
49
- * @param hooks - The RPC method hooks.
50
- * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.
51
- * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.
46
+ * @param _hooks - The RPC method hooks. Not used by this function.
47
+ * @param messenger - The messenger used to call controller actions.
52
48
  * @returns Nothing.
53
49
  */
54
- function getWebSocketsImplementation(_req, res, _next, end, { hasPermission, getWebSockets }) {
55
- if (!hasPermission(SnapEndowments.NetworkAccess)) {
50
+ function getWebSocketsImplementation(req, res, _next, end, _hooks, messenger) {
51
+ const { origin } = req;
52
+ if (!messenger.call('PermissionController:hasPermission', origin, SnapEndowments.NetworkAccess)) {
56
53
  return end(providerErrors.unauthorized());
57
54
  }
58
55
  try {
59
- res.result = getWebSockets();
56
+ res.result = messenger.call('WebSocketService:getAll', origin);
60
57
  }
61
58
  catch (error) {
62
59
  return end(error);
@@ -1 +1 @@
1
- {"version":3,"file":"getWebSockets.mjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAQtD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAG/C,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAExC,MAAM,SAAS,GAAgD;IAC7D,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACpB,CAAC;AAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;CAKV,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,2BAA2B,CAClC,IAAyC,EACzC,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,aAAa,EAAE,aAAa,EAA4B;IAE1D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,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 GetWebSocketsParams,\n GetWebSocketsResult,\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_getWebSockets';\n\nconst hookNames: MethodHooksObject<GetWebSocketsMethodHooks> = {\n hasPermission: true,\n getWebSockets: true,\n};\n\nexport type GetWebSocketsMethodHooks = {\n hasPermission: (permissionName: string) => boolean;\n getWebSockets: () => GetWebSocketsResult;\n};\n\n/**\n * Get the connected WebSockets for the Snap.\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"initialPermissions\": {\n * \"endowment:network-access\": {}\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const webSockets = await snap.request({ method: 'snap_getWebSockets' });\n * console.log(webSockets);\n * // Example output:\n * // [\n * // {\n * // id: 'websocket-1',\n * // url: 'wss://example.com/socket',\n * // protocols: ['protocol1', 'protocol2'],\n * // },\n * // {\n * // id: 'websocket-2',\n * // url: 'ws://example.org/endpoint',\n * // protocols: [],\n * // },\n * // ]\n * ```\n */\nexport const getWebSocketsHandler = {\n methodNames: [methodName] as const,\n implementation: getWebSocketsImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n GetWebSocketsMethodHooks,\n GetWebSocketsParams,\n GetWebSocketsResult\n>;\n\n/**\n * The `snap_getWebSockets` 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. Not used by this function.\n * @param end - The `json-rpc-engine` \"end\" callback.\n * @param hooks - The RPC method hooks.\n * @param hooks.hasPermission - The function to check if a snap has the `endowment:network-access` permission.\n * @param hooks.getWebSockets - The function to get the connected WebSockets for the origin.\n * @returns Nothing.\n */\nfunction getWebSocketsImplementation(\n _req: JsonRpcRequest<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { hasPermission, getWebSockets }: GetWebSocketsMethodHooks,\n): void {\n if (!hasPermission(SnapEndowments.NetworkAccess)) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = getWebSockets();\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
1
+ {"version":3,"file":"getWebSockets.mjs","sourceRoot":"","sources":["../../src/permitted/getWebSockets.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,6BAA6B;AAOtD,OAAO,EAAE,cAAc,EAAE,gCAAsB;AAU/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc,EAAE,2BAA2B;IAC3C,WAAW,EAAE;QACX,oCAAoC;QACpC,yBAAyB;KAC1B;CAOF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,SAAS,2BAA2B,CAClC,GAAkD,EAClD,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,MAAa,EACb,SAAwD;IAExD,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAEvB,IACE,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,cAAc,CAAC,aAAa,CAC7B,EACD,CAAC;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;IACjE,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 GetWebSocketsParams,\n GetWebSocketsResult,\n} from '@metamask/snaps-sdk';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport { SnapEndowments } from '../endowments';\nimport type {\n JsonRpcRequestWithOrigin,\n WebSocketServiceGetAllAction,\n} from '../types';\n\nexport type GetWebSocketsMethodActions =\n | PermissionControllerHasPermissionAction\n | WebSocketServiceGetAllAction;\n\n/**\n * Get the connected WebSockets for the Snap.\n *\n * @example\n * ```json name=\"Manifest\"\n * {\n * \"initialPermissions\": {\n * \"endowment:network-access\": {}\n * }\n * }\n * ```\n * ```ts name=\"Usage\"\n * const webSockets = await snap.request({ method: 'snap_getWebSockets' });\n * console.log(webSockets);\n * // Example output:\n * // [\n * // {\n * // id: 'websocket-1',\n * // url: 'wss://example.com/socket',\n * // protocols: ['protocol1', 'protocol2'],\n * // },\n * // {\n * // id: 'websocket-2',\n * // url: 'ws://example.org/endpoint',\n * // protocols: [],\n * // },\n * // ]\n * ```\n */\nexport const getWebSocketsHandler = {\n implementation: getWebSocketsImplementation,\n actionNames: [\n 'PermissionController:hasPermission',\n 'WebSocketService:getAll',\n ],\n} satisfies MethodHandler<\n never,\n GetWebSocketsMethodActions,\n GetWebSocketsParams,\n GetWebSocketsResult,\n { origin: string }\n>;\n\n/**\n * The `snap_getWebSockets` 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. 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 Nothing.\n */\nfunction getWebSocketsImplementation(\n req: JsonRpcRequestWithOrigin<GetWebSocketsParams>,\n res: PendingJsonRpcResponse<GetWebSocketsResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n _hooks: never,\n messenger: Messenger<string, GetWebSocketsMethodActions>,\n): void {\n const { origin } = req;\n\n if (\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n SnapEndowments.NetworkAccess,\n )\n ) {\n return end(providerErrors.unauthorized());\n }\n\n try {\n res.result = messenger.call('WebSocketService:getAll', origin);\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./handlers.cjs"), exports);
18
17
  __exportStar(require("./middleware.cjs"), exports);
19
18
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAgDA,iDAA2B;AAC3B,mDAA6B","sourcesContent":["import type { CancelBackgroundEventMethodHooks } from './cancelBackgroundEvent';\nimport type { ClearStateHooks } from './clearState';\nimport type { CloseWebSocketMethodHooks } from './closeWebSocket';\nimport type { CreateInterfaceMethodHooks } from './createInterface';\nimport type { EndTraceMethodHooks } from './endTrace';\nimport type { GetAllSnapsHooks } from './getAllSnaps';\nimport type { GetBackgroundEventsMethodHooks } from './getBackgroundEvents';\nimport type { GetClientStatusHooks } from './getClientStatus';\nimport type { GetInterfaceStateMethodHooks } from './getInterfaceState';\nimport type { GetSnapsHooks } from './getSnaps';\nimport type { GetStateHooks } from './getState';\nimport type { GetWebSocketsMethodHooks } from './getWebSockets';\nimport type { ListEntropySourcesHooks } from './listEntropySources';\nimport type { OpenWebSocketMethodHooks } from './openWebSocket';\nimport type { RequestSnapsHooks } from './requestSnaps';\nimport type { ResolveInterfaceMethodHooks } from './resolveInterface';\nimport type { ScheduleBackgroundEventMethodHooks } from './scheduleBackgroundEvent';\nimport type { SendWebSocketMessageMethodHooks } from './sendWebSocketMessage';\nimport type { SetStateHooks } from './setState';\nimport type { StartTraceMethodHooks } from './startTrace';\nimport type { TrackErrorMethodHooks } from './trackError';\nimport type { TrackEventMethodHooks } from './trackEvent';\nimport type { UpdateInterfaceMethodHooks } from './updateInterface';\n\nexport type PermittedRpcMethodHooks = ClearStateHooks &\n GetAllSnapsHooks &\n GetClientStatusHooks &\n GetSnapsHooks &\n GetStateHooks &\n ListEntropySourcesHooks &\n RequestSnapsHooks &\n CreateInterfaceMethodHooks &\n UpdateInterfaceMethodHooks &\n GetInterfaceStateMethodHooks &\n ResolveInterfaceMethodHooks &\n ScheduleBackgroundEventMethodHooks &\n CancelBackgroundEventMethodHooks &\n GetBackgroundEventsMethodHooks &\n SetStateHooks &\n OpenWebSocketMethodHooks &\n CloseWebSocketMethodHooks &\n SendWebSocketMessageMethodHooks &\n GetWebSocketsMethodHooks &\n TrackEventMethodHooks &\n TrackErrorMethodHooks &\n StartTraceMethodHooks &\n EndTraceMethodHooks;\n\nexport * from './handlers';\nexport * from './middleware';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAqFA,mDAA6B","sourcesContent":["import type { CancelBackgroundEventMethodActions } from './cancelBackgroundEvent';\nimport type { ClearStateMethodActions } from './clearState';\nimport type { CloseWebSocketMethodActions } from './closeWebSocket';\nimport type { CreateInterfaceMethodActions } from './createInterface';\nimport type { EndTraceMethodActions, EndTraceMethodHooks } from './endTrace';\nimport type { GetAllSnapsMethodActions } from './getAllSnaps';\nimport type { GetBackgroundEventsMethodActions } from './getBackgroundEvents';\nimport type {\n GetClientStatusMethodActions,\n GetClientStatusMethodHooks,\n} from './getClientStatus';\nimport type { GetFileMethodActions } from './getFile';\nimport type { GetInterfaceContextMethodActions } from './getInterfaceContext';\nimport type { GetInterfaceStateMethodActions } from './getInterfaceState';\nimport type { GetSnapsMethodActions } from './getSnaps';\nimport type { GetStateMethodActions, GetStateMethodHooks } from './getState';\nimport type { GetWebSocketsMethodActions } from './getWebSockets';\nimport type {\n InvokeKeyringMethodActions,\n InvokeKeyringMethodHooks,\n} from './invokeKeyring';\nimport type { InvokeSnapSugarMethodActions } from './invokeSnapSugar';\nimport type {\n ListEntropySourcesMethodActions,\n ListEntropySourcesMethodHooks,\n} from './listEntropySources';\nimport type { OpenWebSocketMethodActions } from './openWebSocket';\nimport type { RequestSnapsMethodActions } from './requestSnaps';\nimport type { ResolveInterfaceMethodActions } from './resolveInterface';\nimport type { ScheduleBackgroundEventMethodActions } from './scheduleBackgroundEvent';\nimport type { SendWebSocketMessageMethodActions } from './sendWebSocketMessage';\nimport type { SetStateMethodActions, SetStateMethodHooks } from './setState';\nimport type {\n StartTraceMethodActions,\n StartTraceMethodHooks,\n} from './startTrace';\nimport type {\n TrackErrorMethodActions,\n TrackErrorMethodHooks,\n} from './trackError';\nimport type {\n TrackEventMethodActions,\n TrackEventMethodHooks,\n} from './trackEvent';\nimport type { UpdateInterfaceMethodActions } from './updateInterface';\n\nexport type PermittedRpcMethodActions =\n | CancelBackgroundEventMethodActions\n | ClearStateMethodActions\n | CloseWebSocketMethodActions\n | CreateInterfaceMethodActions\n | EndTraceMethodActions\n | GetAllSnapsMethodActions\n | GetBackgroundEventsMethodActions\n | GetClientStatusMethodActions\n | GetFileMethodActions\n | GetInterfaceContextMethodActions\n | GetInterfaceStateMethodActions\n | GetSnapsMethodActions\n | GetStateMethodActions\n | GetWebSocketsMethodActions\n | InvokeKeyringMethodActions\n | InvokeSnapSugarMethodActions\n | ListEntropySourcesMethodActions\n | OpenWebSocketMethodActions\n | RequestSnapsMethodActions\n | ResolveInterfaceMethodActions\n | ScheduleBackgroundEventMethodActions\n | SendWebSocketMessageMethodActions\n | SetStateMethodActions\n | StartTraceMethodActions\n | TrackErrorMethodActions\n | TrackEventMethodActions\n | UpdateInterfaceMethodActions;\n\nexport type PermittedRpcMethodHooks = GetClientStatusMethodHooks &\n GetStateMethodHooks &\n ListEntropySourcesMethodHooks &\n SetStateMethodHooks &\n TrackEventMethodHooks &\n TrackErrorMethodHooks &\n StartTraceMethodHooks &\n EndTraceMethodHooks &\n InvokeKeyringMethodHooks;\n\nexport * from './middleware';\n"]}
@@ -1,27 +1,31 @@
1
- import type { CancelBackgroundEventMethodHooks } from "./cancelBackgroundEvent.cjs";
2
- import type { ClearStateHooks } from "./clearState.cjs";
3
- import type { CloseWebSocketMethodHooks } from "./closeWebSocket.cjs";
4
- import type { CreateInterfaceMethodHooks } from "./createInterface.cjs";
5
- import type { EndTraceMethodHooks } from "./endTrace.cjs";
6
- import type { GetAllSnapsHooks } from "./getAllSnaps.cjs";
7
- import type { GetBackgroundEventsMethodHooks } from "./getBackgroundEvents.cjs";
8
- import type { GetClientStatusHooks } from "./getClientStatus.cjs";
9
- import type { GetInterfaceStateMethodHooks } from "./getInterfaceState.cjs";
10
- import type { GetSnapsHooks } from "./getSnaps.cjs";
11
- import type { GetStateHooks } from "./getState.cjs";
12
- import type { GetWebSocketsMethodHooks } from "./getWebSockets.cjs";
13
- import type { ListEntropySourcesHooks } from "./listEntropySources.cjs";
14
- import type { OpenWebSocketMethodHooks } from "./openWebSocket.cjs";
15
- import type { RequestSnapsHooks } from "./requestSnaps.cjs";
16
- import type { ResolveInterfaceMethodHooks } from "./resolveInterface.cjs";
17
- import type { ScheduleBackgroundEventMethodHooks } from "./scheduleBackgroundEvent.cjs";
18
- import type { SendWebSocketMessageMethodHooks } from "./sendWebSocketMessage.cjs";
19
- import type { SetStateHooks } from "./setState.cjs";
20
- import type { StartTraceMethodHooks } from "./startTrace.cjs";
21
- import type { TrackErrorMethodHooks } from "./trackError.cjs";
22
- import type { TrackEventMethodHooks } from "./trackEvent.cjs";
23
- import type { UpdateInterfaceMethodHooks } from "./updateInterface.cjs";
24
- export type PermittedRpcMethodHooks = ClearStateHooks & GetAllSnapsHooks & GetClientStatusHooks & GetSnapsHooks & GetStateHooks & ListEntropySourcesHooks & RequestSnapsHooks & CreateInterfaceMethodHooks & UpdateInterfaceMethodHooks & GetInterfaceStateMethodHooks & ResolveInterfaceMethodHooks & ScheduleBackgroundEventMethodHooks & CancelBackgroundEventMethodHooks & GetBackgroundEventsMethodHooks & SetStateHooks & OpenWebSocketMethodHooks & CloseWebSocketMethodHooks & SendWebSocketMessageMethodHooks & GetWebSocketsMethodHooks & TrackEventMethodHooks & TrackErrorMethodHooks & StartTraceMethodHooks & EndTraceMethodHooks;
25
- export * from "./handlers.cjs";
1
+ import type { CancelBackgroundEventMethodActions } from "./cancelBackgroundEvent.cjs";
2
+ import type { ClearStateMethodActions } from "./clearState.cjs";
3
+ import type { CloseWebSocketMethodActions } from "./closeWebSocket.cjs";
4
+ import type { CreateInterfaceMethodActions } from "./createInterface.cjs";
5
+ import type { EndTraceMethodActions, EndTraceMethodHooks } from "./endTrace.cjs";
6
+ import type { GetAllSnapsMethodActions } from "./getAllSnaps.cjs";
7
+ import type { GetBackgroundEventsMethodActions } from "./getBackgroundEvents.cjs";
8
+ import type { GetClientStatusMethodActions, GetClientStatusMethodHooks } from "./getClientStatus.cjs";
9
+ import type { GetFileMethodActions } from "./getFile.cjs";
10
+ import type { GetInterfaceContextMethodActions } from "./getInterfaceContext.cjs";
11
+ import type { GetInterfaceStateMethodActions } from "./getInterfaceState.cjs";
12
+ import type { GetSnapsMethodActions } from "./getSnaps.cjs";
13
+ import type { GetStateMethodActions, GetStateMethodHooks } from "./getState.cjs";
14
+ import type { GetWebSocketsMethodActions } from "./getWebSockets.cjs";
15
+ import type { InvokeKeyringMethodActions, InvokeKeyringMethodHooks } from "./invokeKeyring.cjs";
16
+ import type { InvokeSnapSugarMethodActions } from "./invokeSnapSugar.cjs";
17
+ import type { ListEntropySourcesMethodActions, ListEntropySourcesMethodHooks } from "./listEntropySources.cjs";
18
+ import type { OpenWebSocketMethodActions } from "./openWebSocket.cjs";
19
+ import type { RequestSnapsMethodActions } from "./requestSnaps.cjs";
20
+ import type { ResolveInterfaceMethodActions } from "./resolveInterface.cjs";
21
+ import type { ScheduleBackgroundEventMethodActions } from "./scheduleBackgroundEvent.cjs";
22
+ import type { SendWebSocketMessageMethodActions } from "./sendWebSocketMessage.cjs";
23
+ import type { SetStateMethodActions, SetStateMethodHooks } from "./setState.cjs";
24
+ import type { StartTraceMethodActions, StartTraceMethodHooks } from "./startTrace.cjs";
25
+ import type { TrackErrorMethodActions, TrackErrorMethodHooks } from "./trackError.cjs";
26
+ import type { TrackEventMethodActions, TrackEventMethodHooks } from "./trackEvent.cjs";
27
+ import type { UpdateInterfaceMethodActions } from "./updateInterface.cjs";
28
+ export type PermittedRpcMethodActions = CancelBackgroundEventMethodActions | ClearStateMethodActions | CloseWebSocketMethodActions | CreateInterfaceMethodActions | EndTraceMethodActions | GetAllSnapsMethodActions | GetBackgroundEventsMethodActions | GetClientStatusMethodActions | GetFileMethodActions | GetInterfaceContextMethodActions | GetInterfaceStateMethodActions | GetSnapsMethodActions | GetStateMethodActions | GetWebSocketsMethodActions | InvokeKeyringMethodActions | InvokeSnapSugarMethodActions | ListEntropySourcesMethodActions | OpenWebSocketMethodActions | RequestSnapsMethodActions | ResolveInterfaceMethodActions | ScheduleBackgroundEventMethodActions | SendWebSocketMessageMethodActions | SetStateMethodActions | StartTraceMethodActions | TrackErrorMethodActions | TrackEventMethodActions | UpdateInterfaceMethodActions;
29
+ export type PermittedRpcMethodHooks = GetClientStatusMethodHooks & GetStateMethodHooks & ListEntropySourcesMethodHooks & SetStateMethodHooks & TrackEventMethodHooks & TrackErrorMethodHooks & StartTraceMethodHooks & EndTraceMethodHooks & InvokeKeyringMethodHooks;
26
30
  export * from "./middleware.cjs";
27
31
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,oCAAgC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,6BAAyB;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAA0B;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAmB;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAAsB;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,kCAA8B;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA0B;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAA4B;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,4BAAwB;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,iCAA6B;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,4BAAwB;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAAuB;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,+BAA2B;AACtE,OAAO,KAAK,EAAE,kCAAkC,EAAE,sCAAkC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,mCAA+B;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAA0B;AAEpE,MAAM,MAAM,uBAAuB,GAAG,eAAe,GACnD,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,uBAAuB,GACvB,iBAAiB,GACjB,0BAA0B,GAC1B,0BAA0B,GAC1B,4BAA4B,GAC5B,2BAA2B,GAC3B,kCAAkC,GAClC,gCAAgC,GAChC,8BAA8B,GAC9B,aAAa,GACb,wBAAwB,GACxB,yBAAyB,GACzB,+BAA+B,GAC/B,wBAAwB,GACxB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,CAAC;AAEtB,+BAA2B;AAC3B,iCAA6B"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,oCAAgC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAqB;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,6BAAyB;AACpE,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAAsB;AAC9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,kCAA8B;AAC9E,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,8BAA0B;AAC3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAkB;AACtD,OAAO,KAAK,EAAE,gCAAgC,EAAE,kCAA8B;AAC9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,gCAA4B;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAmB;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAAwB;AAClE,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,4BAAwB;AACzB,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AACtE,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC9B,iCAA6B;AAC9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAAwB;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAAuB;AAChE,OAAO,KAAK,EAAE,6BAA6B,EAAE,+BAA2B;AACxE,OAAO,KAAK,EAAE,oCAAoC,EAAE,sCAAkC;AACtF,OAAO,KAAK,EAAE,iCAAiC,EAAE,mCAA+B;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AAEtE,MAAM,MAAM,yBAAyB,GACjC,kCAAkC,GAClC,uBAAuB,GACvB,2BAA2B,GAC3B,4BAA4B,GAC5B,qBAAqB,GACrB,wBAAwB,GACxB,gCAAgC,GAChC,4BAA4B,GAC5B,oBAAoB,GACpB,gCAAgC,GAChC,8BAA8B,GAC9B,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B,GAC/B,0BAA0B,GAC1B,yBAAyB,GACzB,6BAA6B,GAC7B,oCAAoC,GACpC,iCAAiC,GACjC,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,4BAA4B,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAC9D,mBAAmB,GACnB,6BAA6B,GAC7B,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,wBAAwB,CAAC;AAE3B,iCAA6B"}
@@ -1,27 +1,31 @@
1
- import type { CancelBackgroundEventMethodHooks } from "./cancelBackgroundEvent.mjs";
2
- import type { ClearStateHooks } from "./clearState.mjs";
3
- import type { CloseWebSocketMethodHooks } from "./closeWebSocket.mjs";
4
- import type { CreateInterfaceMethodHooks } from "./createInterface.mjs";
5
- import type { EndTraceMethodHooks } from "./endTrace.mjs";
6
- import type { GetAllSnapsHooks } from "./getAllSnaps.mjs";
7
- import type { GetBackgroundEventsMethodHooks } from "./getBackgroundEvents.mjs";
8
- import type { GetClientStatusHooks } from "./getClientStatus.mjs";
9
- import type { GetInterfaceStateMethodHooks } from "./getInterfaceState.mjs";
10
- import type { GetSnapsHooks } from "./getSnaps.mjs";
11
- import type { GetStateHooks } from "./getState.mjs";
12
- import type { GetWebSocketsMethodHooks } from "./getWebSockets.mjs";
13
- import type { ListEntropySourcesHooks } from "./listEntropySources.mjs";
14
- import type { OpenWebSocketMethodHooks } from "./openWebSocket.mjs";
15
- import type { RequestSnapsHooks } from "./requestSnaps.mjs";
16
- import type { ResolveInterfaceMethodHooks } from "./resolveInterface.mjs";
17
- import type { ScheduleBackgroundEventMethodHooks } from "./scheduleBackgroundEvent.mjs";
18
- import type { SendWebSocketMessageMethodHooks } from "./sendWebSocketMessage.mjs";
19
- import type { SetStateHooks } from "./setState.mjs";
20
- import type { StartTraceMethodHooks } from "./startTrace.mjs";
21
- import type { TrackErrorMethodHooks } from "./trackError.mjs";
22
- import type { TrackEventMethodHooks } from "./trackEvent.mjs";
23
- import type { UpdateInterfaceMethodHooks } from "./updateInterface.mjs";
24
- export type PermittedRpcMethodHooks = ClearStateHooks & GetAllSnapsHooks & GetClientStatusHooks & GetSnapsHooks & GetStateHooks & ListEntropySourcesHooks & RequestSnapsHooks & CreateInterfaceMethodHooks & UpdateInterfaceMethodHooks & GetInterfaceStateMethodHooks & ResolveInterfaceMethodHooks & ScheduleBackgroundEventMethodHooks & CancelBackgroundEventMethodHooks & GetBackgroundEventsMethodHooks & SetStateHooks & OpenWebSocketMethodHooks & CloseWebSocketMethodHooks & SendWebSocketMessageMethodHooks & GetWebSocketsMethodHooks & TrackEventMethodHooks & TrackErrorMethodHooks & StartTraceMethodHooks & EndTraceMethodHooks;
25
- export * from "./handlers.mjs";
1
+ import type { CancelBackgroundEventMethodActions } from "./cancelBackgroundEvent.mjs";
2
+ import type { ClearStateMethodActions } from "./clearState.mjs";
3
+ import type { CloseWebSocketMethodActions } from "./closeWebSocket.mjs";
4
+ import type { CreateInterfaceMethodActions } from "./createInterface.mjs";
5
+ import type { EndTraceMethodActions, EndTraceMethodHooks } from "./endTrace.mjs";
6
+ import type { GetAllSnapsMethodActions } from "./getAllSnaps.mjs";
7
+ import type { GetBackgroundEventsMethodActions } from "./getBackgroundEvents.mjs";
8
+ import type { GetClientStatusMethodActions, GetClientStatusMethodHooks } from "./getClientStatus.mjs";
9
+ import type { GetFileMethodActions } from "./getFile.mjs";
10
+ import type { GetInterfaceContextMethodActions } from "./getInterfaceContext.mjs";
11
+ import type { GetInterfaceStateMethodActions } from "./getInterfaceState.mjs";
12
+ import type { GetSnapsMethodActions } from "./getSnaps.mjs";
13
+ import type { GetStateMethodActions, GetStateMethodHooks } from "./getState.mjs";
14
+ import type { GetWebSocketsMethodActions } from "./getWebSockets.mjs";
15
+ import type { InvokeKeyringMethodActions, InvokeKeyringMethodHooks } from "./invokeKeyring.mjs";
16
+ import type { InvokeSnapSugarMethodActions } from "./invokeSnapSugar.mjs";
17
+ import type { ListEntropySourcesMethodActions, ListEntropySourcesMethodHooks } from "./listEntropySources.mjs";
18
+ import type { OpenWebSocketMethodActions } from "./openWebSocket.mjs";
19
+ import type { RequestSnapsMethodActions } from "./requestSnaps.mjs";
20
+ import type { ResolveInterfaceMethodActions } from "./resolveInterface.mjs";
21
+ import type { ScheduleBackgroundEventMethodActions } from "./scheduleBackgroundEvent.mjs";
22
+ import type { SendWebSocketMessageMethodActions } from "./sendWebSocketMessage.mjs";
23
+ import type { SetStateMethodActions, SetStateMethodHooks } from "./setState.mjs";
24
+ import type { StartTraceMethodActions, StartTraceMethodHooks } from "./startTrace.mjs";
25
+ import type { TrackErrorMethodActions, TrackErrorMethodHooks } from "./trackError.mjs";
26
+ import type { TrackEventMethodActions, TrackEventMethodHooks } from "./trackEvent.mjs";
27
+ import type { UpdateInterfaceMethodActions } from "./updateInterface.mjs";
28
+ export type PermittedRpcMethodActions = CancelBackgroundEventMethodActions | ClearStateMethodActions | CloseWebSocketMethodActions | CreateInterfaceMethodActions | EndTraceMethodActions | GetAllSnapsMethodActions | GetBackgroundEventsMethodActions | GetClientStatusMethodActions | GetFileMethodActions | GetInterfaceContextMethodActions | GetInterfaceStateMethodActions | GetSnapsMethodActions | GetStateMethodActions | GetWebSocketsMethodActions | InvokeKeyringMethodActions | InvokeSnapSugarMethodActions | ListEntropySourcesMethodActions | OpenWebSocketMethodActions | RequestSnapsMethodActions | ResolveInterfaceMethodActions | ScheduleBackgroundEventMethodActions | SendWebSocketMessageMethodActions | SetStateMethodActions | StartTraceMethodActions | TrackErrorMethodActions | TrackEventMethodActions | UpdateInterfaceMethodActions;
29
+ export type PermittedRpcMethodHooks = GetClientStatusMethodHooks & GetStateMethodHooks & ListEntropySourcesMethodHooks & SetStateMethodHooks & TrackEventMethodHooks & TrackErrorMethodHooks & StartTraceMethodHooks & EndTraceMethodHooks & InvokeKeyringMethodHooks;
26
30
  export * from "./middleware.mjs";
27
31
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,oCAAgC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAqB;AACpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,6BAAyB;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAA0B;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAmB;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAAsB;AACtD,OAAO,KAAK,EAAE,8BAA8B,EAAE,kCAA8B;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,8BAA0B;AAC9D,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAA4B;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,4BAAwB;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,iCAA6B;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,4BAAwB;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,2BAAuB;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,+BAA2B;AACtE,OAAO,KAAK,EAAE,kCAAkC,EAAE,sCAAkC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,mCAA+B;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,uBAAmB;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAqB;AAC1D,OAAO,KAAK,EAAE,0BAA0B,EAAE,8BAA0B;AAEpE,MAAM,MAAM,uBAAuB,GAAG,eAAe,GACnD,gBAAgB,GAChB,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,uBAAuB,GACvB,iBAAiB,GACjB,0BAA0B,GAC1B,0BAA0B,GAC1B,4BAA4B,GAC5B,2BAA2B,GAC3B,kCAAkC,GAClC,gCAAgC,GAChC,8BAA8B,GAC9B,aAAa,GACb,wBAAwB,GACxB,yBAAyB,GACzB,+BAA+B,GAC/B,wBAAwB,GACxB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,CAAC;AAEtB,+BAA2B;AAC3B,iCAA6B"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kCAAkC,EAAE,oCAAgC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAqB;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,6BAAyB;AACpE,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AACtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAAsB;AAC9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,kCAA8B;AAC9E,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,8BAA0B;AAC3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAkB;AACtD,OAAO,KAAK,EAAE,gCAAgC,EAAE,kCAA8B;AAC9E,OAAO,KAAK,EAAE,8BAA8B,EAAE,gCAA4B;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAmB;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAAwB;AAClE,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACzB,4BAAwB;AACzB,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AACtE,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC9B,iCAA6B;AAC9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAAwB;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAAuB;AAChE,OAAO,KAAK,EAAE,6BAA6B,EAAE,+BAA2B;AACxE,OAAO,KAAK,EAAE,oCAAoC,EAAE,sCAAkC;AACtF,OAAO,KAAK,EAAE,iCAAiC,EAAE,mCAA+B;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAmB;AAC7E,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACtB,yBAAqB;AACtB,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA0B;AAEtE,MAAM,MAAM,yBAAyB,GACjC,kCAAkC,GAClC,uBAAuB,GACvB,2BAA2B,GAC3B,4BAA4B,GAC5B,qBAAqB,GACrB,wBAAwB,GACxB,gCAAgC,GAChC,4BAA4B,GAC5B,oBAAoB,GACpB,gCAAgC,GAChC,8BAA8B,GAC9B,qBAAqB,GACrB,qBAAqB,GACrB,0BAA0B,GAC1B,0BAA0B,GAC1B,4BAA4B,GAC5B,+BAA+B,GAC/B,0BAA0B,GAC1B,yBAAyB,GACzB,6BAA6B,GAC7B,oCAAoC,GACpC,iCAAiC,GACjC,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,4BAA4B,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAC9D,mBAAmB,GACnB,6BAA6B,GAC7B,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,wBAAwB,CAAC;AAE3B,iCAA6B"}
@@ -1,3 +1,2 @@
1
- export * from "./handlers.mjs";
2
1
  export * from "./middleware.mjs";
3
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAgDA,+BAA2B;AAC3B,iCAA6B","sourcesContent":["import type { CancelBackgroundEventMethodHooks } from './cancelBackgroundEvent';\nimport type { ClearStateHooks } from './clearState';\nimport type { CloseWebSocketMethodHooks } from './closeWebSocket';\nimport type { CreateInterfaceMethodHooks } from './createInterface';\nimport type { EndTraceMethodHooks } from './endTrace';\nimport type { GetAllSnapsHooks } from './getAllSnaps';\nimport type { GetBackgroundEventsMethodHooks } from './getBackgroundEvents';\nimport type { GetClientStatusHooks } from './getClientStatus';\nimport type { GetInterfaceStateMethodHooks } from './getInterfaceState';\nimport type { GetSnapsHooks } from './getSnaps';\nimport type { GetStateHooks } from './getState';\nimport type { GetWebSocketsMethodHooks } from './getWebSockets';\nimport type { ListEntropySourcesHooks } from './listEntropySources';\nimport type { OpenWebSocketMethodHooks } from './openWebSocket';\nimport type { RequestSnapsHooks } from './requestSnaps';\nimport type { ResolveInterfaceMethodHooks } from './resolveInterface';\nimport type { ScheduleBackgroundEventMethodHooks } from './scheduleBackgroundEvent';\nimport type { SendWebSocketMessageMethodHooks } from './sendWebSocketMessage';\nimport type { SetStateHooks } from './setState';\nimport type { StartTraceMethodHooks } from './startTrace';\nimport type { TrackErrorMethodHooks } from './trackError';\nimport type { TrackEventMethodHooks } from './trackEvent';\nimport type { UpdateInterfaceMethodHooks } from './updateInterface';\n\nexport type PermittedRpcMethodHooks = ClearStateHooks &\n GetAllSnapsHooks &\n GetClientStatusHooks &\n GetSnapsHooks &\n GetStateHooks &\n ListEntropySourcesHooks &\n RequestSnapsHooks &\n CreateInterfaceMethodHooks &\n UpdateInterfaceMethodHooks &\n GetInterfaceStateMethodHooks &\n ResolveInterfaceMethodHooks &\n ScheduleBackgroundEventMethodHooks &\n CancelBackgroundEventMethodHooks &\n GetBackgroundEventsMethodHooks &\n SetStateHooks &\n OpenWebSocketMethodHooks &\n CloseWebSocketMethodHooks &\n SendWebSocketMessageMethodHooks &\n GetWebSocketsMethodHooks &\n TrackEventMethodHooks &\n TrackErrorMethodHooks &\n StartTraceMethodHooks &\n EndTraceMethodHooks;\n\nexport * from './handlers';\nexport * from './middleware';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/permitted/index.ts"],"names":[],"mappings":"AAqFA,iCAA6B","sourcesContent":["import type { CancelBackgroundEventMethodActions } from './cancelBackgroundEvent';\nimport type { ClearStateMethodActions } from './clearState';\nimport type { CloseWebSocketMethodActions } from './closeWebSocket';\nimport type { CreateInterfaceMethodActions } from './createInterface';\nimport type { EndTraceMethodActions, EndTraceMethodHooks } from './endTrace';\nimport type { GetAllSnapsMethodActions } from './getAllSnaps';\nimport type { GetBackgroundEventsMethodActions } from './getBackgroundEvents';\nimport type {\n GetClientStatusMethodActions,\n GetClientStatusMethodHooks,\n} from './getClientStatus';\nimport type { GetFileMethodActions } from './getFile';\nimport type { GetInterfaceContextMethodActions } from './getInterfaceContext';\nimport type { GetInterfaceStateMethodActions } from './getInterfaceState';\nimport type { GetSnapsMethodActions } from './getSnaps';\nimport type { GetStateMethodActions, GetStateMethodHooks } from './getState';\nimport type { GetWebSocketsMethodActions } from './getWebSockets';\nimport type {\n InvokeKeyringMethodActions,\n InvokeKeyringMethodHooks,\n} from './invokeKeyring';\nimport type { InvokeSnapSugarMethodActions } from './invokeSnapSugar';\nimport type {\n ListEntropySourcesMethodActions,\n ListEntropySourcesMethodHooks,\n} from './listEntropySources';\nimport type { OpenWebSocketMethodActions } from './openWebSocket';\nimport type { RequestSnapsMethodActions } from './requestSnaps';\nimport type { ResolveInterfaceMethodActions } from './resolveInterface';\nimport type { ScheduleBackgroundEventMethodActions } from './scheduleBackgroundEvent';\nimport type { SendWebSocketMessageMethodActions } from './sendWebSocketMessage';\nimport type { SetStateMethodActions, SetStateMethodHooks } from './setState';\nimport type {\n StartTraceMethodActions,\n StartTraceMethodHooks,\n} from './startTrace';\nimport type {\n TrackErrorMethodActions,\n TrackErrorMethodHooks,\n} from './trackError';\nimport type {\n TrackEventMethodActions,\n TrackEventMethodHooks,\n} from './trackEvent';\nimport type { UpdateInterfaceMethodActions } from './updateInterface';\n\nexport type PermittedRpcMethodActions =\n | CancelBackgroundEventMethodActions\n | ClearStateMethodActions\n | CloseWebSocketMethodActions\n | CreateInterfaceMethodActions\n | EndTraceMethodActions\n | GetAllSnapsMethodActions\n | GetBackgroundEventsMethodActions\n | GetClientStatusMethodActions\n | GetFileMethodActions\n | GetInterfaceContextMethodActions\n | GetInterfaceStateMethodActions\n | GetSnapsMethodActions\n | GetStateMethodActions\n | GetWebSocketsMethodActions\n | InvokeKeyringMethodActions\n | InvokeSnapSugarMethodActions\n | ListEntropySourcesMethodActions\n | OpenWebSocketMethodActions\n | RequestSnapsMethodActions\n | ResolveInterfaceMethodActions\n | ScheduleBackgroundEventMethodActions\n | SendWebSocketMessageMethodActions\n | SetStateMethodActions\n | StartTraceMethodActions\n | TrackErrorMethodActions\n | TrackEventMethodActions\n | UpdateInterfaceMethodActions;\n\nexport type PermittedRpcMethodHooks = GetClientStatusMethodHooks &\n GetStateMethodHooks &\n ListEntropySourcesMethodHooks &\n SetStateMethodHooks &\n TrackEventMethodHooks &\n TrackErrorMethodHooks &\n StartTraceMethodHooks &\n EndTraceMethodHooks &\n InvokeKeyringMethodHooks;\n\nexport * from './middleware';\n"]}
@@ -5,11 +5,7 @@ const rpc_errors_1 = require("@metamask/rpc-errors");
5
5
  const snaps_utils_1 = require("@metamask/snaps-utils");
6
6
  const utils_1 = require("@metamask/utils");
7
7
  const invokeSnapSugar_1 = require("./invokeSnapSugar.cjs");
8
- const methodName = 'wallet_invokeKeyring';
9
8
  const hookNames = {
10
- hasPermission: true,
11
- handleSnapRpcRequest: true,
12
- getSnap: true,
13
9
  getAllowedKeyringMethods: true,
14
10
  };
15
11
  /**
@@ -21,9 +17,13 @@ const hookNames = {
21
17
  * request permission to communicate with it using [`wallet_requestSnaps`](https://docs.metamask.io/snaps/reference/snaps-api/wallet_requestsnaps).
22
18
  */
23
19
  exports.invokeKeyringHandler = {
24
- methodNames: [methodName],
25
20
  implementation: invokeKeyringImplementation,
26
21
  hookNames,
22
+ actionNames: [
23
+ 'PermissionController:hasPermission',
24
+ 'SnapController:handleRequest',
25
+ 'SnapController:getSnap',
26
+ ],
27
27
  };
28
28
  /**
29
29
  * The `wallet_invokeKeyring` method implementation.
@@ -35,11 +35,9 @@ exports.invokeKeyringHandler = {
35
35
  * function.
36
36
  * @param end - The `json-rpc-engine` "end" callback.
37
37
  * @param hooks - The RPC method hooks.
38
- * @param hooks.handleSnapRpcRequest - Invokes a snap with a given RPC request.
39
- * @param hooks.hasPermission - Checks whether a given origin has a given permission.
40
- * @param hooks.getSnap - Gets information about a given snap.
41
38
  * @param hooks.getAllowedKeyringMethods - Get the list of allowed Keyring
42
39
  * methods for a given origin.
40
+ * @param messenger - The messenger used to call controller actions.
43
41
  * @returns Nothing.
44
42
  */
45
43
  async function invokeKeyringImplementation(req,
@@ -48,7 +46,7 @@ async function invokeKeyringImplementation(req,
48
46
  // future. We use `InvokeKeyringResult` here to make it clear that this is the
49
47
  // expected type of the result.
50
48
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments
51
- res, _next, end, { handleSnapRpcRequest, hasPermission, getSnap, getAllowedKeyringMethods, }) {
49
+ res, _next, end, { getAllowedKeyringMethods }, messenger) {
52
50
  let params;
53
51
  try {
54
52
  params = (0, invokeSnapSugar_1.getValidatedParams)(req.params);
@@ -56,15 +54,15 @@ res, _next, end, { handleSnapRpcRequest, hasPermission, getSnap, getAllowedKeyri
56
54
  catch (error) {
57
55
  return end(error);
58
56
  }
59
- // We expect the MM middleware stack to always add the origin to requests
60
57
  const { origin } = req;
61
58
  const { snapId, request } = params;
62
- if (!origin || !hasPermission(snaps_utils_1.WALLET_SNAP_PERMISSION_KEY)) {
59
+ if (!origin ||
60
+ !messenger.call('PermissionController:hasPermission', origin, snaps_utils_1.WALLET_SNAP_PERMISSION_KEY)) {
63
61
  return end(rpc_errors_1.rpcErrors.invalidRequest({
64
62
  message: `The snap "${snapId}" is not connected to "${origin}". Please connect before invoking the snap.`,
65
63
  }));
66
64
  }
67
- if (!getSnap(snapId)) {
65
+ if (!messenger.call('SnapController:getSnap', snapId)) {
68
66
  return end(
69
67
  // Mirror error message from SnapController.
70
68
  rpc_errors_1.rpcErrors.invalidRequest({
@@ -83,7 +81,8 @@ res, _next, end, { handleSnapRpcRequest, hasPermission, getSnap, getAllowedKeyri
83
81
  }));
84
82
  }
85
83
  try {
86
- res.result = (await handleSnapRpcRequest({
84
+ res.result = (await messenger.call('SnapController:handleRequest', {
85
+ origin,
87
86
  snapId,
88
87
  request,
89
88
  handler: snaps_utils_1.HandlerType.OnKeyringRequest,
@@ -1 +1 @@
1
- {"version":3,"file":"invokeKeyring.cjs","sourceRoot":"","sources":["../../src/permitted/invokeKeyring.ts"],"names":[],"mappings":";;;AAEA,qDAAiD;AAOjD,uDAAgF;AAMhF,2CAA8C;AAE9C,2DAAuD;AAGvD,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAE1C,MAAM,SAAS,GAA0C;IACvD,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,IAAI;IAC1B,OAAO,EAAE,IAAI;IACb,wBAAwB,EAAE,IAAI;CAC/B,CAAC;AAEF;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAG;IAClC,WAAW,EAAE,CAAC,UAAU,CAAU;IAClC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;CAKV,CAAC;AAgBF;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,2BAA2B,CACxC,GAAwC;AACxC,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,+BAA+B;AAC/B,4EAA4E;AAC5E,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EACE,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,wBAAwB,GACL;IAErB,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,oCAAkB,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,yEAAyE;IACzE,MAAM,EAAE,MAAM,EAAE,GAAG,GAA0C,CAAC;IAC9D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEnC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,wCAA0B,CAAC,EAAE,CAAC;QAC1D,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,aAAa,MAAM,0BAA0B,MAAM,6CAA6C;SAC1G,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG;QACR,4CAA4C;QAC5C,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,aAAa,MAAM,2DAA2D;SACxF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,eAAe,MAAM,0CAA0C,OAAO,CAAC,MAAM,IAAI;SAC3F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,oBAAoB,CAAC;YACvC,MAAM;YACN,OAAO;YACP,OAAO,EAAE,yBAAW,CAAC,gBAAgB;SACtC,CAAC,CAAS,CAAC;IACd,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 { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n InvokeKeyringParams,\n InvokeKeyringResult,\n InvokeSnapParams,\n} from '@metamask/snaps-sdk';\nimport type { Snap, SnapRpcHookArgs } from '@metamask/snaps-utils';\nimport { HandlerType, WALLET_SNAP_PERMISSION_KEY } from '@metamask/snaps-utils';\nimport type {\n PendingJsonRpcResponse,\n Json,\n JsonRpcRequest,\n} from '@metamask/utils';\nimport { hasProperty } from '@metamask/utils';\n\nimport { getValidatedParams } from './invokeSnapSugar';\nimport type { MethodHooksObject } from '../utils';\n\nconst methodName = 'wallet_invokeKeyring';\n\nconst hookNames: MethodHooksObject<InvokeKeyringHooks> = {\n hasPermission: true,\n handleSnapRpcRequest: true,\n getSnap: true,\n getAllowedKeyringMethods: true,\n};\n\n/**\n * Invoke a keyring method of a Snap. This calls the `onKeyringRequest` handler\n * of the Snap.\n *\n * The Snap must be installed and the dapp must have permission to communicate\n * with the Snap, or the request is rejected. The dapp can install the Snap and\n * request permission to communicate with it using [`wallet_requestSnaps`](https://docs.metamask.io/snaps/reference/snaps-api/wallet_requestsnaps).\n */\nexport const invokeKeyringHandler = {\n methodNames: [methodName] as const,\n implementation: invokeKeyringImplementation,\n hookNames,\n} satisfies PermittedHandlerExport<\n InvokeKeyringHooks,\n InvokeSnapParams,\n InvokeKeyringResult\n>;\n\nexport type InvokeKeyringHooks = {\n hasPermission: (permissionName: string) => boolean;\n\n handleSnapRpcRequest: ({\n snapId,\n handler,\n request,\n }: Omit<SnapRpcHookArgs, 'origin'> & { snapId: string }) => Promise<unknown>;\n\n getSnap: (snapId: string) => Snap | undefined;\n\n getAllowedKeyringMethods: () => string[];\n};\n\n/**\n * The `wallet_invokeKeyring` method implementation.\n * Invokes onKeyringRequest if the snap requested is installed and connected to the dapp.\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. 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.handleSnapRpcRequest - Invokes a snap with a given RPC request.\n * @param hooks.hasPermission - Checks whether a given origin has a given permission.\n * @param hooks.getSnap - Gets information about a given snap.\n * @param hooks.getAllowedKeyringMethods - Get the list of allowed Keyring\n * methods for a given origin.\n * @returns Nothing.\n */\nasync function invokeKeyringImplementation(\n req: JsonRpcRequest<InvokeKeyringParams>,\n // `InvokeKeyringResult` is an alias for `Json` (which is the default type\n // argument for `PendingJsonRpcResponse`), but that may not be the case in the\n // future. We use `InvokeKeyringResult` here to make it clear that this is the\n // expected type of the result.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments\n res: PendingJsonRpcResponse<InvokeKeyringResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n {\n handleSnapRpcRequest,\n hasPermission,\n getSnap,\n getAllowedKeyringMethods,\n }: InvokeKeyringHooks,\n): Promise<void> {\n let params: InvokeSnapParams;\n try {\n params = getValidatedParams(req.params);\n } catch (error) {\n return end(error);\n }\n\n // We expect the MM middleware stack to always add the origin to requests\n const { origin } = req as JsonRpcRequest & { origin: string };\n const { snapId, request } = params;\n\n if (!origin || !hasPermission(WALLET_SNAP_PERMISSION_KEY)) {\n return end(\n rpcErrors.invalidRequest({\n message: `The snap \"${snapId}\" is not connected to \"${origin}\". Please connect before invoking the snap.`,\n }),\n );\n }\n\n if (!getSnap(snapId)) {\n return end(\n // Mirror error message from SnapController.\n rpcErrors.invalidRequest({\n message: `The Snap \"${snapId}\" is not installed. Please install it before invoking it.`,\n }),\n );\n }\n\n if (!hasProperty(request, 'method') || typeof request.method !== 'string') {\n return end(\n rpcErrors.invalidRequest({\n message: 'The request must have a method.',\n }),\n );\n }\n\n const allowedMethods = getAllowedKeyringMethods();\n if (!allowedMethods.includes(request.method)) {\n return end(\n rpcErrors.invalidRequest({\n message: `The origin \"${origin}\" is not allowed to invoke the method \"${request.method}\".`,\n }),\n );\n }\n\n try {\n res.result = (await handleSnapRpcRequest({\n snapId,\n request,\n handler: HandlerType.OnKeyringRequest,\n })) as Json;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}
1
+ {"version":3,"file":"invokeKeyring.cjs","sourceRoot":"","sources":["../../src/permitted/invokeKeyring.ts"],"names":[],"mappings":";;;AAMA,qDAAiD;AAMjD,uDAAgF;AAEhF,2CAA8C;AAE9C,2DAAuD;AAQvD,MAAM,SAAS,GAAgD;IAC7D,wBAAwB,EAAE,IAAI;CAC/B,CAAC;AAgBF;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAG;IAClC,cAAc,EAAE,2BAA2B;IAC3C,SAAS;IACT,WAAW,EAAE;QACX,oCAAoC;QACpC,8BAA8B;QAC9B,wBAAwB;KACzB;CAOF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,2BAA2B,CACxC,GAAkD;AAClD,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,+BAA+B;AAC/B,4EAA4E;AAC5E,GAAgD,EAChD,KAAc,EACd,GAA6B,EAC7B,EAAE,wBAAwB,EAA4B,EACtD,SAAwD;IAExD,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,oCAAkB,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEnC,IACE,CAAC,MAAM;QACP,CAAC,SAAS,CAAC,IAAI,CACb,oCAAoC,EACpC,MAAM,EACN,wCAA0B,CAC3B,EACD,CAAC;QACD,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,aAAa,MAAM,0BAA0B,MAAM,6CAA6C;SAC1G,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG;QACR,4CAA4C;QAC5C,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,aAAa,MAAM,2DAA2D;SACxF,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAA,mBAAW,EAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1E,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,iCAAiC;SAC3C,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;IAClD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CACR,sBAAS,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,eAAe,MAAM,0CAA0C,OAAO,CAAC,MAAM,IAAI;SAC3F,CAAC,CACH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACjE,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO,EAAE,yBAAW,CAAC,gBAAgB;SACtC,CAAC,CAAS,CAAC;IACd,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 { rpcErrors } from '@metamask/rpc-errors';\nimport type {\n InvokeKeyringParams,\n InvokeKeyringResult,\n InvokeSnapParams,\n} from '@metamask/snaps-sdk';\nimport { HandlerType, WALLET_SNAP_PERMISSION_KEY } from '@metamask/snaps-utils';\nimport type { PendingJsonRpcResponse, Json } from '@metamask/utils';\nimport { hasProperty } from '@metamask/utils';\n\nimport { getValidatedParams } from './invokeSnapSugar';\nimport type {\n JsonRpcRequestWithOrigin,\n SnapControllerGetSnapAction,\n SnapControllerHandleRequestAction,\n} from '../types';\nimport type { MethodHooksObject } from '../utils';\n\nconst hookNames: MethodHooksObject<InvokeKeyringMethodHooks> = {\n getAllowedKeyringMethods: true,\n};\n\nexport type InvokeKeyringMethodHooks = {\n /**\n * Get the list of allowed Keyring methods for a given origin.\n *\n * @returns The list of allowed Keyring methods.\n */\n getAllowedKeyringMethods: () => string[];\n};\n\nexport type InvokeKeyringMethodActions =\n | PermissionControllerHasPermissionAction\n | SnapControllerHandleRequestAction\n | SnapControllerGetSnapAction;\n\n/**\n * Invoke a keyring method of a Snap. This calls the `onKeyringRequest` handler\n * of the Snap.\n *\n * The Snap must be installed and the dapp must have permission to communicate\n * with the Snap, or the request is rejected. The dapp can install the Snap and\n * request permission to communicate with it using [`wallet_requestSnaps`](https://docs.metamask.io/snaps/reference/snaps-api/wallet_requestsnaps).\n */\nexport const invokeKeyringHandler = {\n implementation: invokeKeyringImplementation,\n hookNames,\n actionNames: [\n 'PermissionController:hasPermission',\n 'SnapController:handleRequest',\n 'SnapController:getSnap',\n ],\n} satisfies MethodHandler<\n InvokeKeyringMethodHooks,\n InvokeKeyringMethodActions,\n InvokeSnapParams,\n InvokeKeyringResult,\n { origin: string }\n>;\n\n/**\n * The `wallet_invokeKeyring` method implementation.\n * Invokes onKeyringRequest if the snap requested is installed and connected to the dapp.\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. 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.getAllowedKeyringMethods - Get the list of allowed Keyring\n * methods for a given origin.\n * @param messenger - The messenger used to call controller actions.\n * @returns Nothing.\n */\nasync function invokeKeyringImplementation(\n req: JsonRpcRequestWithOrigin<InvokeKeyringParams>,\n // `InvokeKeyringResult` is an alias for `Json` (which is the default type\n // argument for `PendingJsonRpcResponse`), but that may not be the case in the\n // future. We use `InvokeKeyringResult` here to make it clear that this is the\n // expected type of the result.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-arguments\n res: PendingJsonRpcResponse<InvokeKeyringResult>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getAllowedKeyringMethods }: InvokeKeyringMethodHooks,\n messenger: Messenger<string, InvokeKeyringMethodActions>,\n): Promise<void> {\n let params: InvokeSnapParams;\n try {\n params = getValidatedParams(req.params);\n } catch (error) {\n return end(error);\n }\n\n const { origin } = req;\n const { snapId, request } = params;\n\n if (\n !origin ||\n !messenger.call(\n 'PermissionController:hasPermission',\n origin,\n WALLET_SNAP_PERMISSION_KEY,\n )\n ) {\n return end(\n rpcErrors.invalidRequest({\n message: `The snap \"${snapId}\" is not connected to \"${origin}\". Please connect before invoking the snap.`,\n }),\n );\n }\n\n if (!messenger.call('SnapController:getSnap', snapId)) {\n return end(\n // Mirror error message from SnapController.\n rpcErrors.invalidRequest({\n message: `The Snap \"${snapId}\" is not installed. Please install it before invoking it.`,\n }),\n );\n }\n\n if (!hasProperty(request, 'method') || typeof request.method !== 'string') {\n return end(\n rpcErrors.invalidRequest({\n message: 'The request must have a method.',\n }),\n );\n }\n\n const allowedMethods = getAllowedKeyringMethods();\n if (!allowedMethods.includes(request.method)) {\n return end(\n rpcErrors.invalidRequest({\n message: `The origin \"${origin}\" is not allowed to invoke the method \"${request.method}\".`,\n }),\n );\n }\n\n try {\n res.result = (await messenger.call('SnapController:handleRequest', {\n origin,\n snapId,\n request,\n handler: HandlerType.OnKeyringRequest,\n })) as Json;\n } catch (error) {\n return end(error);\n }\n\n return end();\n}\n"]}