@metamask/snaps-jest 5.0.0 → 6.0.1

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 (519) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/chunk-265BMFM5.js +13 -0
  3. package/dist/chunk-265BMFM5.js.map +1 -0
  4. package/dist/chunk-2JTGBHPR.js +14 -0
  5. package/dist/chunk-2JTGBHPR.js.map +1 -0
  6. package/dist/chunk-2X23DUDP.mjs +22 -0
  7. package/dist/chunk-2X23DUDP.mjs.map +1 -0
  8. package/dist/chunk-2YE2P5BZ.js +36 -0
  9. package/dist/chunk-2YE2P5BZ.js.map +1 -0
  10. package/dist/chunk-3FNLFVV2.js +15 -0
  11. package/dist/chunk-3FNLFVV2.js.map +1 -0
  12. package/dist/chunk-4SC3HVI5.mjs +104 -0
  13. package/dist/chunk-4SC3HVI5.mjs.map +1 -0
  14. package/dist/chunk-55J6XMHW.js +1 -0
  15. package/dist/chunk-55J6XMHW.js.map +1 -0
  16. package/dist/chunk-57SGDM5B.mjs +69 -0
  17. package/dist/chunk-57SGDM5B.mjs.map +1 -0
  18. package/dist/chunk-5PLDD7ZC.js +153 -0
  19. package/dist/chunk-5PLDD7ZC.js.map +1 -0
  20. package/dist/chunk-5ZFHFICZ.mjs +1 -0
  21. package/dist/chunk-5ZFHFICZ.mjs.map +1 -0
  22. package/dist/chunk-6HHV6YFQ.mjs +1 -0
  23. package/dist/chunk-6HHV6YFQ.mjs.map +1 -0
  24. package/dist/chunk-6KXCBUNZ.mjs +11 -0
  25. package/dist/chunk-6KXCBUNZ.mjs.map +1 -0
  26. package/dist/chunk-6MVV44M5.mjs +76 -0
  27. package/dist/chunk-6MVV44M5.mjs.map +1 -0
  28. package/dist/chunk-74TIKA2T.mjs +34 -0
  29. package/dist/chunk-74TIKA2T.mjs.map +1 -0
  30. package/dist/chunk-7BFTEFLS.mjs +39 -0
  31. package/dist/chunk-7BFTEFLS.mjs.map +1 -0
  32. package/dist/chunk-7J34R6YW.mjs +233 -0
  33. package/dist/chunk-7J34R6YW.mjs.map +1 -0
  34. package/dist/chunk-7VILST6M.mjs +134 -0
  35. package/dist/chunk-7VILST6M.mjs.map +1 -0
  36. package/dist/chunk-7YD4IW43.mjs +57 -0
  37. package/dist/chunk-7YD4IW43.mjs.map +1 -0
  38. package/dist/chunk-ALRZENWP.mjs +42 -0
  39. package/dist/chunk-ALRZENWP.mjs.map +1 -0
  40. package/dist/chunk-B4QZXXQY.js +134 -0
  41. package/dist/chunk-B4QZXXQY.js.map +1 -0
  42. package/dist/chunk-B73P64TE.mjs +28 -0
  43. package/dist/chunk-B73P64TE.mjs.map +1 -0
  44. package/dist/chunk-CCYBLBVL.mjs +91 -0
  45. package/dist/chunk-CCYBLBVL.mjs.map +1 -0
  46. package/dist/chunk-DR6Y7IVX.js +1 -0
  47. package/dist/chunk-DR6Y7IVX.js.map +1 -0
  48. package/dist/chunk-EMTW3H54.js +20 -0
  49. package/dist/chunk-EMTW3H54.js.map +1 -0
  50. package/dist/chunk-FP4H3ADT.mjs +20 -0
  51. package/dist/chunk-FP4H3ADT.mjs.map +1 -0
  52. package/dist/chunk-GECE47HW.js +1 -0
  53. package/dist/chunk-GECE47HW.js.map +1 -0
  54. package/dist/chunk-GMTKFAWO.js +42 -0
  55. package/dist/chunk-GMTKFAWO.js.map +1 -0
  56. package/dist/chunk-H2464AXT.mjs +33 -0
  57. package/dist/chunk-H2464AXT.mjs.map +1 -0
  58. package/dist/chunk-HBLJOACO.mjs +97 -0
  59. package/dist/chunk-HBLJOACO.mjs.map +1 -0
  60. package/dist/chunk-HNH5UAKZ.js +80 -0
  61. package/dist/chunk-HNH5UAKZ.js.map +1 -0
  62. package/dist/chunk-HROOL3VI.js +1 -0
  63. package/dist/chunk-HROOL3VI.js.map +1 -0
  64. package/dist/chunk-IH7UNS5A.mjs +36 -0
  65. package/dist/chunk-IH7UNS5A.mjs.map +1 -0
  66. package/dist/chunk-ISWZ7XZ5.js +39 -0
  67. package/dist/chunk-ISWZ7XZ5.js.map +1 -0
  68. package/dist/chunk-IXKO6X55.mjs +15 -0
  69. package/dist/chunk-IXKO6X55.mjs.map +1 -0
  70. package/dist/chunk-J4ZPUCLX.mjs +8 -0
  71. package/dist/chunk-J4ZPUCLX.mjs.map +1 -0
  72. package/dist/chunk-JMDSN227.mjs +25 -0
  73. package/dist/chunk-JMDSN227.mjs.map +1 -0
  74. package/dist/chunk-JUNUGLG4.js +104 -0
  75. package/dist/chunk-JUNUGLG4.js.map +1 -0
  76. package/dist/chunk-KIQOUUEZ.mjs +1 -0
  77. package/dist/chunk-KIQOUUEZ.mjs.map +1 -0
  78. package/dist/chunk-KNJNL723.mjs +39 -0
  79. package/dist/chunk-KNJNL723.mjs.map +1 -0
  80. package/dist/chunk-KSIBNOB2.mjs +13 -0
  81. package/dist/chunk-KSIBNOB2.mjs.map +1 -0
  82. package/dist/chunk-LACTK6EO.js +33 -0
  83. package/dist/chunk-LACTK6EO.js.map +1 -0
  84. package/dist/chunk-LB4R3BUA.mjs +36 -0
  85. package/dist/chunk-LB4R3BUA.mjs.map +1 -0
  86. package/dist/chunk-LBC2OGSN.js +48 -0
  87. package/dist/chunk-LBC2OGSN.js.map +1 -0
  88. package/dist/chunk-LHU3EHLI.mjs +137 -0
  89. package/dist/chunk-LHU3EHLI.mjs.map +1 -0
  90. package/dist/chunk-LXSNRZV4.js +97 -0
  91. package/dist/chunk-LXSNRZV4.js.map +1 -0
  92. package/dist/chunk-LYK6EGZU.mjs +80 -0
  93. package/dist/chunk-LYK6EGZU.mjs.map +1 -0
  94. package/dist/chunk-MF43OG3Z.mjs +1 -0
  95. package/dist/chunk-MF43OG3Z.mjs.map +1 -0
  96. package/dist/chunk-MJHR5RTY.js +21 -0
  97. package/dist/chunk-MJHR5RTY.js.map +1 -0
  98. package/dist/chunk-MPZOXW6I.mjs +48 -0
  99. package/dist/chunk-MPZOXW6I.mjs.map +1 -0
  100. package/dist/chunk-N6MAO223.js +60 -0
  101. package/dist/chunk-N6MAO223.js.map +1 -0
  102. package/dist/chunk-NTOY6Y4Q.mjs +1 -0
  103. package/dist/chunk-NTOY6Y4Q.mjs.map +1 -0
  104. package/dist/chunk-ORO3T6BU.mjs +24 -0
  105. package/dist/chunk-ORO3T6BU.mjs.map +1 -0
  106. package/dist/chunk-PHUTP7NB.js +25 -0
  107. package/dist/chunk-PHUTP7NB.js.map +1 -0
  108. package/dist/chunk-PZDTZGSI.js +34 -0
  109. package/dist/chunk-PZDTZGSI.js.map +1 -0
  110. package/dist/chunk-Q2OQXAUM.mjs +35 -0
  111. package/dist/chunk-Q2OQXAUM.mjs.map +1 -0
  112. package/dist/chunk-RAMAN5RM.js +24 -0
  113. package/dist/{cjs/internals/simulation/methods/hooks/show-dialog.js.map → chunk-RAMAN5RM.js.map} +1 -1
  114. package/dist/chunk-RD7GQCPL.js +22 -0
  115. package/dist/chunk-RD7GQCPL.js.map +1 -0
  116. package/dist/chunk-RQKT6BQ2.mjs +1 -0
  117. package/dist/chunk-RQKT6BQ2.mjs.map +1 -0
  118. package/dist/chunk-SLU4FNKX.mjs +60 -0
  119. package/dist/chunk-SLU4FNKX.mjs.map +1 -0
  120. package/dist/chunk-SQJOQ7AF.js +137 -0
  121. package/dist/chunk-SQJOQ7AF.js.map +1 -0
  122. package/dist/chunk-T2BE4O5H.js +233 -0
  123. package/dist/chunk-T2BE4O5H.js.map +1 -0
  124. package/dist/chunk-T2PHS5FY.js +28 -0
  125. package/dist/chunk-T2PHS5FY.js.map +1 -0
  126. package/dist/chunk-TBDYQSRT.mjs +16 -0
  127. package/dist/chunk-TBDYQSRT.mjs.map +1 -0
  128. package/dist/chunk-TO46ICOZ.js +57 -0
  129. package/dist/chunk-TO46ICOZ.js.map +1 -0
  130. package/dist/chunk-TVD4SWH7.js +16 -0
  131. package/dist/chunk-TVD4SWH7.js.map +1 -0
  132. package/dist/chunk-TZB4LBT7.js +8 -0
  133. package/dist/chunk-TZB4LBT7.js.map +1 -0
  134. package/dist/chunk-U5BLLHIU.js +1 -0
  135. package/dist/chunk-U5BLLHIU.js.map +1 -0
  136. package/dist/chunk-V6LFAN3U.mjs +1 -0
  137. package/dist/chunk-V6LFAN3U.mjs.map +1 -0
  138. package/dist/chunk-VHJZERIC.js +1 -0
  139. package/dist/chunk-VHJZERIC.js.map +1 -0
  140. package/dist/chunk-VOYBI6T4.mjs +22 -0
  141. package/dist/chunk-VOYBI6T4.mjs.map +1 -0
  142. package/dist/chunk-VXPCUDBI.js +36 -0
  143. package/dist/chunk-VXPCUDBI.js.map +1 -0
  144. package/dist/chunk-WDYPMEZB.js +22 -0
  145. package/dist/chunk-WDYPMEZB.js.map +1 -0
  146. package/dist/chunk-WFBQPYSV.js +91 -0
  147. package/dist/chunk-WFBQPYSV.js.map +1 -0
  148. package/dist/chunk-WH5C5WIZ.mjs +21 -0
  149. package/dist/chunk-WH5C5WIZ.mjs.map +1 -0
  150. package/dist/chunk-WHGYMK5B.js +1 -0
  151. package/dist/chunk-WHGYMK5B.js.map +1 -0
  152. package/dist/chunk-WIFOID2P.mjs +153 -0
  153. package/dist/chunk-WIFOID2P.mjs.map +1 -0
  154. package/dist/chunk-XAOCS6ZD.js +69 -0
  155. package/dist/chunk-XAOCS6ZD.js.map +1 -0
  156. package/dist/chunk-XK5HPZZC.mjs +14 -0
  157. package/dist/chunk-XK5HPZZC.mjs.map +1 -0
  158. package/dist/chunk-XKJHFUHE.js +11 -0
  159. package/dist/chunk-XKJHFUHE.js.map +1 -0
  160. package/dist/chunk-XWGECIXI.js +39 -0
  161. package/dist/chunk-XWGECIXI.js.map +1 -0
  162. package/dist/chunk-Y3JC4WGW.js +35 -0
  163. package/dist/chunk-Y3JC4WGW.js.map +1 -0
  164. package/dist/chunk-ZAQZRYPW.js +76 -0
  165. package/dist/chunk-ZAQZRYPW.js.map +1 -0
  166. package/dist/chunk-ZG33OGC3.mjs +1 -0
  167. package/dist/chunk-ZG33OGC3.mjs.map +1 -0
  168. package/dist/chunk-ZTX624YO.js +1 -0
  169. package/dist/chunk-ZTX624YO.js.map +1 -0
  170. package/dist/environment.js +47 -0
  171. package/dist/environment.js.map +1 -0
  172. package/dist/environment.mjs +47 -0
  173. package/dist/environment.mjs.map +1 -0
  174. package/dist/helpers.js +44 -0
  175. package/dist/helpers.js.map +1 -0
  176. package/dist/helpers.mjs +44 -0
  177. package/dist/helpers.mjs.map +1 -0
  178. package/dist/index.js +54 -0
  179. package/dist/index.js.map +1 -0
  180. package/dist/index.mjs +54 -0
  181. package/dist/index.mjs.map +1 -0
  182. package/dist/internals/environment.js +8 -0
  183. package/dist/internals/environment.js.map +1 -0
  184. package/dist/internals/environment.mjs +8 -0
  185. package/dist/internals/environment.mjs.map +1 -0
  186. package/dist/internals/index.js +123 -0
  187. package/dist/internals/index.js.map +1 -0
  188. package/dist/internals/index.mjs +123 -0
  189. package/dist/internals/index.mjs.map +1 -0
  190. package/dist/internals/logger.js +8 -0
  191. package/dist/internals/logger.js.map +1 -0
  192. package/dist/internals/logger.mjs +8 -0
  193. package/dist/internals/logger.mjs.map +1 -0
  194. package/dist/internals/request.js +40 -0
  195. package/dist/internals/request.js.map +1 -0
  196. package/dist/internals/request.mjs +40 -0
  197. package/dist/internals/request.mjs.map +1 -0
  198. package/dist/internals/server.js +9 -0
  199. package/dist/internals/server.js.map +1 -0
  200. package/dist/internals/server.mjs +9 -0
  201. package/dist/internals/server.mjs.map +1 -0
  202. package/dist/internals/simulation/constants.js +12 -0
  203. package/dist/internals/simulation/constants.js.map +1 -0
  204. package/dist/internals/simulation/constants.mjs +12 -0
  205. package/dist/internals/simulation/constants.mjs.map +1 -0
  206. package/dist/internals/simulation/controllers.js +26 -0
  207. package/dist/internals/simulation/controllers.js.map +1 -0
  208. package/dist/internals/simulation/controllers.mjs +26 -0
  209. package/dist/internals/simulation/controllers.mjs.map +1 -0
  210. package/dist/internals/simulation/files.js +8 -0
  211. package/dist/internals/simulation/files.js.map +1 -0
  212. package/dist/internals/simulation/files.mjs +8 -0
  213. package/dist/internals/simulation/files.mjs.map +1 -0
  214. package/dist/internals/simulation/index.js +90 -0
  215. package/dist/internals/simulation/index.js.map +1 -0
  216. package/dist/internals/simulation/index.mjs +90 -0
  217. package/dist/internals/simulation/index.mjs.map +1 -0
  218. package/dist/internals/simulation/interface.js +16 -0
  219. package/dist/internals/simulation/interface.js.map +1 -0
  220. package/dist/internals/simulation/interface.mjs +16 -0
  221. package/dist/internals/simulation/interface.mjs.map +1 -0
  222. package/dist/internals/simulation/methods/constants.js +12 -0
  223. package/dist/internals/simulation/methods/constants.js.map +1 -0
  224. package/dist/internals/simulation/methods/constants.mjs +12 -0
  225. package/dist/internals/simulation/methods/constants.mjs.map +1 -0
  226. package/dist/internals/simulation/methods/hooks/encryption.js +10 -0
  227. package/dist/internals/simulation/methods/hooks/encryption.js.map +1 -0
  228. package/dist/internals/simulation/methods/hooks/encryption.mjs +10 -0
  229. package/dist/internals/simulation/methods/hooks/encryption.mjs.map +1 -0
  230. package/dist/internals/simulation/methods/hooks/get-locale.js +8 -0
  231. package/dist/internals/simulation/methods/hooks/get-locale.js.map +1 -0
  232. package/dist/internals/simulation/methods/hooks/get-locale.mjs +8 -0
  233. package/dist/internals/simulation/methods/hooks/get-locale.mjs.map +1 -0
  234. package/dist/internals/simulation/methods/hooks/index.js +45 -0
  235. package/dist/internals/simulation/methods/hooks/index.js.map +1 -0
  236. package/dist/internals/simulation/methods/hooks/index.mjs +45 -0
  237. package/dist/internals/simulation/methods/hooks/index.mjs.map +1 -0
  238. package/dist/internals/simulation/methods/hooks/interface.js +10 -0
  239. package/dist/internals/simulation/methods/hooks/interface.js.map +1 -0
  240. package/dist/internals/simulation/methods/hooks/interface.mjs +10 -0
  241. package/dist/internals/simulation/methods/hooks/interface.mjs.map +1 -0
  242. package/dist/internals/simulation/methods/hooks/notifications.js +16 -0
  243. package/dist/internals/simulation/methods/hooks/notifications.js.map +1 -0
  244. package/dist/internals/simulation/methods/hooks/notifications.mjs +16 -0
  245. package/dist/internals/simulation/methods/hooks/notifications.mjs.map +1 -0
  246. package/dist/internals/simulation/methods/hooks/show-dialog.js +14 -0
  247. package/dist/internals/simulation/methods/hooks/show-dialog.js.map +1 -0
  248. package/dist/internals/simulation/methods/hooks/show-dialog.mjs +14 -0
  249. package/dist/internals/simulation/methods/hooks/show-dialog.mjs.map +1 -0
  250. package/dist/internals/simulation/methods/hooks/state.js +18 -0
  251. package/dist/internals/simulation/methods/hooks/state.js.map +1 -0
  252. package/dist/internals/simulation/methods/hooks/state.mjs +18 -0
  253. package/dist/internals/simulation/methods/hooks/state.mjs.map +1 -0
  254. package/dist/internals/simulation/methods/index.js +29 -0
  255. package/dist/internals/simulation/methods/index.js.map +1 -0
  256. package/dist/internals/simulation/methods/index.mjs +29 -0
  257. package/dist/internals/simulation/methods/index.mjs.map +1 -0
  258. package/dist/internals/simulation/methods/specifications.js +28 -0
  259. package/dist/internals/simulation/methods/specifications.js.map +1 -0
  260. package/dist/internals/simulation/methods/specifications.mjs +28 -0
  261. package/dist/internals/simulation/methods/specifications.mjs.map +1 -0
  262. package/dist/internals/simulation/middleware/engine.js +15 -0
  263. package/dist/internals/simulation/middleware/engine.js.map +1 -0
  264. package/dist/internals/simulation/middleware/engine.mjs +15 -0
  265. package/dist/internals/simulation/middleware/engine.mjs.map +1 -0
  266. package/dist/internals/simulation/middleware/index.js +16 -0
  267. package/dist/internals/simulation/middleware/index.js.map +1 -0
  268. package/dist/internals/simulation/middleware/index.mjs +16 -0
  269. package/dist/internals/simulation/middleware/index.mjs.map +1 -0
  270. package/dist/internals/simulation/middleware/internal-methods/accounts.js +8 -0
  271. package/dist/internals/simulation/middleware/internal-methods/accounts.js.map +1 -0
  272. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs +8 -0
  273. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs.map +1 -0
  274. package/dist/internals/simulation/middleware/internal-methods/index.js +11 -0
  275. package/dist/internals/simulation/middleware/internal-methods/index.js.map +1 -0
  276. package/dist/internals/simulation/middleware/internal-methods/index.mjs +11 -0
  277. package/dist/internals/simulation/middleware/internal-methods/index.mjs.map +1 -0
  278. package/dist/internals/simulation/middleware/internal-methods/middleware.js +10 -0
  279. package/dist/internals/simulation/middleware/internal-methods/middleware.js.map +1 -0
  280. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs +10 -0
  281. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs.map +1 -0
  282. package/dist/internals/simulation/middleware/internal-methods/provider-state.js +8 -0
  283. package/dist/internals/simulation/middleware/internal-methods/provider-state.js.map +1 -0
  284. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs +8 -0
  285. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs.map +1 -0
  286. package/dist/internals/simulation/middleware/mock.js +9 -0
  287. package/dist/internals/simulation/middleware/mock.js.map +1 -0
  288. package/dist/internals/simulation/middleware/mock.mjs +9 -0
  289. package/dist/internals/simulation/middleware/mock.mjs.map +1 -0
  290. package/dist/internals/simulation/options.js +9 -0
  291. package/dist/internals/simulation/options.js.map +1 -0
  292. package/dist/internals/simulation/options.mjs +9 -0
  293. package/dist/internals/simulation/options.mjs.map +1 -0
  294. package/dist/internals/simulation/simulation.js +39 -0
  295. package/dist/internals/simulation/simulation.js.map +1 -0
  296. package/dist/internals/simulation/simulation.mjs +39 -0
  297. package/dist/internals/simulation/simulation.mjs.map +1 -0
  298. package/dist/internals/simulation/store/index.js +44 -0
  299. package/dist/internals/simulation/store/index.js.map +1 -0
  300. package/dist/internals/simulation/store/index.mjs +44 -0
  301. package/dist/internals/simulation/store/index.mjs.map +1 -0
  302. package/dist/internals/simulation/store/mocks.js +16 -0
  303. package/dist/internals/simulation/store/mocks.js.map +1 -0
  304. package/dist/internals/simulation/store/mocks.mjs +16 -0
  305. package/dist/internals/simulation/store/mocks.mjs.map +1 -0
  306. package/dist/internals/simulation/store/notifications.js +16 -0
  307. package/dist/internals/simulation/store/notifications.js.map +1 -0
  308. package/dist/internals/simulation/store/notifications.mjs +16 -0
  309. package/dist/internals/simulation/store/notifications.mjs.map +1 -0
  310. package/dist/internals/simulation/store/state.js +14 -0
  311. package/dist/internals/simulation/store/state.js.map +1 -0
  312. package/dist/internals/simulation/store/state.mjs +14 -0
  313. package/dist/internals/simulation/store/state.mjs.map +1 -0
  314. package/dist/internals/simulation/store/store.js +12 -0
  315. package/dist/internals/simulation/store/store.js.map +1 -0
  316. package/dist/internals/simulation/store/store.mjs +12 -0
  317. package/dist/internals/simulation/store/store.mjs.map +1 -0
  318. package/dist/internals/simulation/store/ui.js +16 -0
  319. package/dist/internals/simulation/store/ui.js.map +1 -0
  320. package/dist/internals/simulation/store/ui.mjs +16 -0
  321. package/dist/internals/simulation/store/ui.mjs.map +1 -0
  322. package/dist/internals/structs.js +18 -0
  323. package/dist/internals/structs.js.map +1 -0
  324. package/dist/internals/structs.mjs +18 -0
  325. package/dist/internals/structs.mjs.map +1 -0
  326. package/dist/matchers.js +50 -0
  327. package/dist/matchers.js.map +1 -0
  328. package/dist/matchers.mjs +50 -0
  329. package/dist/matchers.mjs.map +1 -0
  330. package/dist/options.js +8 -0
  331. package/dist/options.js.map +1 -0
  332. package/dist/options.mjs +8 -0
  333. package/dist/options.mjs.map +1 -0
  334. package/dist/setup.js +39 -0
  335. package/dist/setup.js.map +1 -0
  336. package/dist/setup.mjs +39 -0
  337. package/dist/setup.mjs.map +1 -0
  338. package/dist/tsconfig.build.tsbuildinfo +1 -0
  339. package/dist/types/vendor/readable-stream.d.js +1 -0
  340. package/dist/types/vendor/readable-stream.d.js.map +1 -0
  341. package/dist/types/vendor/readable-stream.d.mjs +1 -0
  342. package/dist/types/vendor/readable-stream.d.mjs.map +1 -0
  343. package/dist/types.js +2 -0
  344. package/dist/types.js.map +1 -0
  345. package/dist/types.mjs +2 -0
  346. package/dist/types.mjs.map +1 -0
  347. package/jest-preset.js +1 -1
  348. package/package.json +24 -20
  349. package/dist/cjs/environment.js +0 -144
  350. package/dist/cjs/environment.js.map +0 -1
  351. package/dist/cjs/helpers.js +0 -142
  352. package/dist/cjs/helpers.js.map +0 -1
  353. package/dist/cjs/index.js +0 -42
  354. package/dist/cjs/index.js.map +0 -1
  355. package/dist/cjs/internals/environment.js +0 -19
  356. package/dist/cjs/internals/environment.js.map +0 -1
  357. package/dist/cjs/internals/index.js +0 -25
  358. package/dist/cjs/internals/index.js.map +0 -1
  359. package/dist/cjs/internals/logger.js +0 -14
  360. package/dist/cjs/internals/logger.js.map +0 -1
  361. package/dist/cjs/internals/request.js +0 -69
  362. package/dist/cjs/internals/request.js.map +0 -1
  363. package/dist/cjs/internals/server.js +0 -71
  364. package/dist/cjs/internals/server.js.map +0 -1
  365. package/dist/cjs/internals/simulation/constants.js +0 -29
  366. package/dist/cjs/internals/simulation/constants.js.map +0 -1
  367. package/dist/cjs/internals/simulation/controllers.js +0 -95
  368. package/dist/cjs/internals/simulation/controllers.js.map +0 -1
  369. package/dist/cjs/internals/simulation/files.js +0 -22
  370. package/dist/cjs/internals/simulation/files.js.map +0 -1
  371. package/dist/cjs/internals/simulation/index.js +0 -24
  372. package/dist/cjs/internals/simulation/index.js.map +0 -1
  373. package/dist/cjs/internals/simulation/interface.js +0 -98
  374. package/dist/cjs/internals/simulation/interface.js.map +0 -1
  375. package/dist/cjs/internals/simulation/methods/constants.js +0 -84
  376. package/dist/cjs/internals/simulation/methods/constants.js.map +0 -1
  377. package/dist/cjs/internals/simulation/methods/hooks/encryption.js +0 -33
  378. package/dist/cjs/internals/simulation/methods/hooks/encryption.js.map +0 -1
  379. package/dist/cjs/internals/simulation/methods/hooks/get-locale.js +0 -17
  380. package/dist/cjs/internals/simulation/methods/hooks/get-locale.js.map +0 -1
  381. package/dist/cjs/internals/simulation/methods/hooks/index.js +0 -25
  382. package/dist/cjs/internals/simulation/methods/hooks/index.js.map +0 -1
  383. package/dist/cjs/internals/simulation/methods/hooks/interface.js +0 -26
  384. package/dist/cjs/internals/simulation/methods/hooks/interface.js.map +0 -1
  385. package/dist/cjs/internals/simulation/methods/hooks/notifications.js +0 -66
  386. package/dist/cjs/internals/simulation/methods/hooks/notifications.js.map +0 -1
  387. package/dist/cjs/internals/simulation/methods/hooks/show-dialog.js +0 -43
  388. package/dist/cjs/internals/simulation/methods/hooks/state.js +0 -80
  389. package/dist/cjs/internals/simulation/methods/hooks/state.js.map +0 -1
  390. package/dist/cjs/internals/simulation/methods/index.js +0 -20
  391. package/dist/cjs/internals/simulation/methods/index.js.map +0 -1
  392. package/dist/cjs/internals/simulation/methods/specifications.js +0 -81
  393. package/dist/cjs/internals/simulation/methods/specifications.js.map +0 -1
  394. package/dist/cjs/internals/simulation/middleware/engine.js +0 -31
  395. package/dist/cjs/internals/simulation/middleware/engine.js.map +0 -1
  396. package/dist/cjs/internals/simulation/middleware/index.js +0 -20
  397. package/dist/cjs/internals/simulation/middleware/index.js.map +0 -1
  398. package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js +0 -30
  399. package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
  400. package/dist/cjs/internals/simulation/middleware/internal-methods/index.js +0 -20
  401. package/dist/cjs/internals/simulation/middleware/internal-methods/index.js.map +0 -1
  402. package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js +0 -37
  403. package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
  404. package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
  405. package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
  406. package/dist/cjs/internals/simulation/middleware/mock.js +0 -23
  407. package/dist/cjs/internals/simulation/middleware/mock.js.map +0 -1
  408. package/dist/cjs/internals/simulation/options.js +0 -24
  409. package/dist/cjs/internals/simulation/options.js.map +0 -1
  410. package/dist/cjs/internals/simulation/simulation.js +0 -124
  411. package/dist/cjs/internals/simulation/simulation.js.map +0 -1
  412. package/dist/cjs/internals/simulation/store/index.js +0 -23
  413. package/dist/cjs/internals/simulation/store/index.js.map +0 -1
  414. package/dist/cjs/internals/simulation/store/mocks.js +0 -52
  415. package/dist/cjs/internals/simulation/store/mocks.js.map +0 -1
  416. package/dist/cjs/internals/simulation/store/notifications.js +0 -52
  417. package/dist/cjs/internals/simulation/store/notifications.js.map +0 -1
  418. package/dist/cjs/internals/simulation/store/state.js +0 -64
  419. package/dist/cjs/internals/simulation/store/state.js.map +0 -1
  420. package/dist/cjs/internals/simulation/store/store.js +0 -57
  421. package/dist/cjs/internals/simulation/store/store.js.map +0 -1
  422. package/dist/cjs/internals/simulation/store/ui.js +0 -48
  423. package/dist/cjs/internals/simulation/store/ui.js.map +0 -1
  424. package/dist/cjs/internals/structs.js +0 -165
  425. package/dist/cjs/internals/structs.js.map +0 -1
  426. package/dist/cjs/matchers.js +0 -120
  427. package/dist/cjs/matchers.js.map +0 -1
  428. package/dist/cjs/options.js +0 -23
  429. package/dist/cjs/options.js.map +0 -1
  430. package/dist/cjs/setup.js +0 -10
  431. package/dist/cjs/setup.js.map +0 -1
  432. package/dist/cjs/types.js +0 -6
  433. package/dist/cjs/types.js.map +0 -1
  434. package/dist/esm/environment.js +0 -121
  435. package/dist/esm/environment.js.map +0 -1
  436. package/dist/esm/helpers.js +0 -163
  437. package/dist/esm/helpers.js.map +0 -1
  438. package/dist/esm/index.js +0 -6
  439. package/dist/esm/index.js.map +0 -1
  440. package/dist/esm/internals/environment.js +0 -14
  441. package/dist/esm/internals/environment.js.map +0 -1
  442. package/dist/esm/internals/index.js +0 -8
  443. package/dist/esm/internals/index.js.map +0 -1
  444. package/dist/esm/internals/logger.js +0 -4
  445. package/dist/esm/internals/logger.js.map +0 -1
  446. package/dist/esm/internals/request.js +0 -77
  447. package/dist/esm/internals/request.js.map +0 -1
  448. package/dist/esm/internals/server.js +0 -64
  449. package/dist/esm/internals/server.js.map +0 -1
  450. package/dist/esm/internals/simulation/constants.js +0 -12
  451. package/dist/esm/internals/simulation/constants.js.map +0 -1
  452. package/dist/esm/internals/simulation/controllers.js +0 -90
  453. package/dist/esm/internals/simulation/controllers.js.map +0 -1
  454. package/dist/esm/internals/simulation/files.js +0 -19
  455. package/dist/esm/internals/simulation/files.js.map +0 -1
  456. package/dist/esm/internals/simulation/index.js +0 -7
  457. package/dist/esm/internals/simulation/index.js.map +0 -1
  458. package/dist/esm/internals/simulation/interface.js +0 -95
  459. package/dist/esm/internals/simulation/interface.js.map +0 -1
  460. package/dist/esm/internals/simulation/methods/constants.js +0 -69
  461. package/dist/esm/internals/simulation/methods/constants.js.map +0 -1
  462. package/dist/esm/internals/simulation/methods/hooks/encryption.js +0 -39
  463. package/dist/esm/internals/simulation/methods/hooks/encryption.js.map +0 -1
  464. package/dist/esm/internals/simulation/methods/hooks/get-locale.js +0 -13
  465. package/dist/esm/internals/simulation/methods/hooks/get-locale.js.map +0 -1
  466. package/dist/esm/internals/simulation/methods/hooks/index.js +0 -8
  467. package/dist/esm/internals/simulation/methods/hooks/index.js.map +0 -1
  468. package/dist/esm/internals/simulation/methods/hooks/interface.js +0 -18
  469. package/dist/esm/internals/simulation/methods/hooks/interface.js.map +0 -1
  470. package/dist/esm/internals/simulation/methods/hooks/notifications.js +0 -58
  471. package/dist/esm/internals/simulation/methods/hooks/notifications.js.map +0 -1
  472. package/dist/esm/internals/simulation/methods/hooks/show-dialog.js +0 -38
  473. package/dist/esm/internals/simulation/methods/hooks/show-dialog.js.map +0 -1
  474. package/dist/esm/internals/simulation/methods/hooks/state.js +0 -74
  475. package/dist/esm/internals/simulation/methods/hooks/state.js.map +0 -1
  476. package/dist/esm/internals/simulation/methods/index.js +0 -3
  477. package/dist/esm/internals/simulation/methods/index.js.map +0 -1
  478. package/dist/esm/internals/simulation/methods/specifications.js +0 -84
  479. package/dist/esm/internals/simulation/methods/specifications.js.map +0 -1
  480. package/dist/esm/internals/simulation/middleware/engine.js +0 -33
  481. package/dist/esm/internals/simulation/middleware/engine.js.map +0 -1
  482. package/dist/esm/internals/simulation/middleware/index.js +0 -3
  483. package/dist/esm/internals/simulation/middleware/index.js.map +0 -1
  484. package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js +0 -31
  485. package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
  486. package/dist/esm/internals/simulation/middleware/internal-methods/index.js +0 -3
  487. package/dist/esm/internals/simulation/middleware/internal-methods/index.js.map +0 -1
  488. package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js +0 -37
  489. package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
  490. package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
  491. package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
  492. package/dist/esm/internals/simulation/middleware/mock.js +0 -18
  493. package/dist/esm/internals/simulation/middleware/mock.js.map +0 -1
  494. package/dist/esm/internals/simulation/options.js +0 -20
  495. package/dist/esm/internals/simulation/options.js.map +0 -1
  496. package/dist/esm/internals/simulation/simulation.js +0 -128
  497. package/dist/esm/internals/simulation/simulation.js.map +0 -1
  498. package/dist/esm/internals/simulation/store/index.js +0 -6
  499. package/dist/esm/internals/simulation/store/index.js.map +0 -1
  500. package/dist/esm/internals/simulation/store/mocks.js +0 -32
  501. package/dist/esm/internals/simulation/store/mocks.js.map +0 -1
  502. package/dist/esm/internals/simulation/store/notifications.js +0 -30
  503. package/dist/esm/internals/simulation/store/notifications.js.map +0 -1
  504. package/dist/esm/internals/simulation/store/state.js +0 -47
  505. package/dist/esm/internals/simulation/store/state.js.map +0 -1
  506. package/dist/esm/internals/simulation/store/store.js +0 -50
  507. package/dist/esm/internals/simulation/store/store.js.map +0 -1
  508. package/dist/esm/internals/simulation/store/ui.js +0 -21
  509. package/dist/esm/internals/simulation/store/ui.js.map +0 -1
  510. package/dist/esm/internals/structs.js +0 -135
  511. package/dist/esm/internals/structs.js.map +0 -1
  512. package/dist/esm/matchers.js +0 -111
  513. package/dist/esm/matchers.js.map +0 -1
  514. package/dist/esm/options.js +0 -20
  515. package/dist/esm/options.js.map +0 -1
  516. package/dist/esm/setup.js +0 -6
  517. package/dist/esm/setup.js.map +0 -1
  518. package/dist/esm/types.js +0 -3
  519. package/dist/esm/types.js.map +0 -1
@@ -0,0 +1,134 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkT2BE4O5Hjs = require('./chunk-T2BE4O5H.js');
5
+
6
+ // src/matchers.ts
7
+ var _globals = require('@jest/globals');
8
+ var _utils = require('@metamask/utils');
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ var _jestmatcherutils = require('jest-matcher-utils');
17
+ var _superstruct = require('superstruct');
18
+ function assertActualIsSnapResponse(actual, matcherName, options) {
19
+ if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.SnapResponseStruct)) {
20
+ throw new Error(
21
+ _jestmatcherutils.matcherErrorMessage.call(void 0,
22
+ _jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
23
+ `${_jestmatcherutils.RECEIVED_COLOR.call(void 0,
24
+ "received"
25
+ )} value must be a response from the \`request\` function`,
26
+ _jestmatcherutils.printWithType.call(void 0, "Received", actual, _jestmatcherutils.printReceived)
27
+ )
28
+ );
29
+ }
30
+ }
31
+ function assertHasInterface(actual, matcherName, options) {
32
+ if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.InterfaceStruct) || !actual.content) {
33
+ throw new Error(
34
+ _jestmatcherutils.matcherErrorMessage.call(void 0,
35
+ _jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
36
+ `${_jestmatcherutils.RECEIVED_COLOR.call(void 0, "received")} value must have a \`content\` property`,
37
+ _jestmatcherutils.printWithType.call(void 0, "Received", actual, _jestmatcherutils.printReceived)
38
+ )
39
+ );
40
+ }
41
+ }
42
+ var toRespondWith = function(actual, expected) {
43
+ assertActualIsSnapResponse(actual, "toRespondWith");
44
+ const { response } = actual;
45
+ if (_utils.hasProperty.call(void 0, response, "error")) {
46
+ const message2 = () => `${this.utils.matcherHint(".toRespondWith")}
47
+
48
+ Expected response: ${this.utils.printExpected(expected)}
49
+ Received error: ${this.utils.printReceived(response.error)}`;
50
+ return { message: message2, pass: false };
51
+ }
52
+ const pass = this.equals(response.result, expected);
53
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWith")}
54
+
55
+ Expected: ${this.utils.printExpected(expected)}
56
+ Received: ${this.utils.printReceived(response.result)}` : () => `${this.utils.matcherHint(".toRespondWith")}
57
+
58
+ Expected: ${this.utils.printExpected(expected)}
59
+ Received: ${this.utils.printReceived(response.result)}`;
60
+ return { message, pass };
61
+ };
62
+ var toRespondWithError = function(actual, expected) {
63
+ assertActualIsSnapResponse(actual, "toRespondWithError");
64
+ const { response } = actual;
65
+ if (_utils.hasProperty.call(void 0, response, "result")) {
66
+ const message2 = () => `${this.utils.matcherHint(".toRespondWithError")}
67
+
68
+ Expected error: ${this.utils.printExpected(expected)}
69
+ Received result: ${this.utils.printReceived(response.result)}`;
70
+ return { message: message2, pass: false };
71
+ }
72
+ const pass = this.equals(response.error, expected);
73
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWithError")}
74
+
75
+ Expected: ${this.utils.printExpected(expected)}
76
+ Received: ${this.utils.printReceived(response.error)}` : () => `${this.utils.matcherHint(".toRespondWithError")}
77
+
78
+ Expected: ${this.utils.printExpected(expected)}
79
+ Received: ${this.utils.printReceived(response.error)}`;
80
+ return { message, pass };
81
+ };
82
+ var toSendNotification = function(actual, expected, type) {
83
+ assertActualIsSnapResponse(actual, "toSendNotification");
84
+ const { notifications } = actual;
85
+ const pass = notifications.some(
86
+ (notification) => this.equals(notification.message, expected) && (type === void 0 || notification.type === type)
87
+ );
88
+ const message = pass ? () => `${this.utils.matcherHint(".not.toSendNotification")}
89
+
90
+ Expected: ${this.utils.printExpected(expected)}
91
+ Expected type: ${this.utils.printExpected(type)}
92
+ Received: ${this.utils.printReceived(notifications)}` : () => `${this.utils.matcherHint(".toSendNotification")}
93
+
94
+ Expected: ${this.utils.printExpected(expected)}
95
+ Expected type: ${this.utils.printExpected(type)}
96
+ Received: ${this.utils.printReceived(notifications)}`;
97
+ return { message, pass };
98
+ };
99
+ var toRender = function(actual, expected) {
100
+ assertHasInterface(actual, "toRender");
101
+ const { content } = actual;
102
+ const pass = this.equals(content, expected);
103
+ const difference = _jestmatcherutils.diff.call(void 0, expected, content);
104
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRender")}
105
+
106
+ Expected: ${this.utils.printExpected(expected)}
107
+ Received: ${this.utils.printReceived(content)}
108
+
109
+ Difference:
110
+
111
+ ${difference}` : () => `${this.utils.matcherHint(".toRender")}
112
+
113
+ Expected: ${this.utils.printExpected(expected)}
114
+ Received: ${this.utils.printReceived(content)}
115
+
116
+ Difference:
117
+
118
+ ${difference}`;
119
+ return { message, pass };
120
+ };
121
+ _globals.expect.extend({
122
+ toRespondWith,
123
+ toRespondWithError,
124
+ toSendNotification,
125
+ toRender
126
+ });
127
+
128
+
129
+
130
+
131
+
132
+
133
+ exports.toRespondWith = toRespondWith; exports.toRespondWithError = toRespondWithError; exports.toSendNotification = toSendNotification; exports.toRender = toRender;
134
+ //# sourceMappingURL=chunk-B4QZXXQY.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/matchers.ts"],"names":["message"],"mappings":";;;;;;AAMA,SAAS,cAAc;AAOvB,SAAS,mBAAmB;AAE5B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,UAAU;AAYnB,SAAS,2BACP,QACA,aACA,SACgC;AAChC,MAAI,CAAC,GAAG,QAAQ,kBAAkB,GAAG;AACnC,UAAM,IAAI;AAAA,MACR;AAAA,QACE,YAAY,aAAa,QAAW,QAAW,OAAO;AAAA,QACtD,GAAG;AAAA,UACD;AAAA,QACF,CAAC;AAAA,QACD,cAAc,YAAY,QAAQ,aAAa;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;AAUA,SAAS,mBACP,QACA,aACA,SAC0C;AAC1C,MAAI,CAAC,GAAG,QAAQ,eAAe,KAAK,CAAC,OAAO,SAAS;AACnD,UAAM,IAAI;AAAA,MACR;AAAA,QACE,YAAY,aAAa,QAAW,QAAW,OAAO;AAAA,QACtD,GAAG,eAAe,UAAU,CAAC;AAAA,QAC7B,cAAc,YAAY,QAAQ,aAAa;AAAA,MACjD;AAAA,IACF;AAAA,EACF;AACF;AAUO,IAAM,gBAAmD,SAC9D,QACA,UACA;AACA,6BAA2B,QAAQ,eAAe;AAElD,QAAM,EAAE,SAAS,IAAI;AACrB,MAAI,YAAY,UAAU,OAAO,GAAG;AAClC,UAAMA,WAAU,MACd,GAAG,KAAK,MAAM,YAAY,gBAAgB,CAAC;AAAA;AAAA,qBACrB,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,kBACrC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC;AAE7D,WAAO,EAAE,SAAAA,UAAS,MAAM,MAAM;AAAA,EAChC;AAEA,QAAM,OAAO,KAAK,OAAO,SAAS,QAAQ,QAAQ;AAClD,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,oBAAoB,CAAC;AAAA;AAAA,YAClC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC,KACxD,MACE,GAAG,KAAK,MAAM,YAAY,gBAAgB,CAAC;AAAA;AAAA,YAC9B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC;AAE5D,SAAO,EAAE,SAAS,KAAK;AACzB;AAEO,IAAM,qBAAwD,SACnE,QACA,UACA;AACA,6BAA2B,QAAQ,oBAAoB;AAEvD,QAAM,EAAE,SAAS,IAAI;AACrB,MAAI,YAAY,UAAU,QAAQ,GAAG;AACnC,UAAMA,WAAU,MACd,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,kBAC7B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,mBACjC,KAAK,MAAM,cAAc,SAAS,MAAM,CAAC;AAE/D,WAAO,EAAE,SAAAA,UAAS,MAAM,MAAM;AAAA,EAChC;AAEA,QAAM,OAAO,KAAK,OAAO,SAAS,OAAO,QAAQ;AACjD,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,yBAAyB,CAAC;AAAA;AAAA,YACvC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC,KACvD,MACE,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,YACnC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,SAAS,KAAK,CAAC;AAE3D,SAAO,EAAE,SAAS,KAAK;AACzB;AAWO,IAAM,qBAET,SAAU,QAAQ,UAAU,MAAM;AACpC,6BAA2B,QAAQ,oBAAoB;AAEvD,QAAM,EAAE,cAAc,IAAI;AAC1B,QAAM,OAAO,cAAc;AAAA,IACzB,CAAC,iBACC,KAAK,OAAO,aAAa,SAAS,QAAQ,MACzC,SAAS,UAAa,aAAa,SAAS;AAAA,EACjD;AAEA,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,yBAAyB,CAAC;AAAA;AAAA,YACvC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,iBAC7B,KAAK,MAAM,cAAc,IAAI,CAAC;AAAA,YACnC,KAAK,MAAM,cAAc,aAAa,CAAC,KACtD,MACE,GAAG,KAAK,MAAM,YAAY,qBAAqB,CAAC;AAAA;AAAA,YACnC,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,iBAC7B,KAAK,MAAM,cAAc,IAAI,CAAC;AAAA,YACnC,KAAK,MAAM,cAAc,aAAa,CAAC;AAE1D,SAAO,EAAE,SAAS,KAAK;AACzB;AAEO,IAAM,WAAmD,SAC9D,QACA,UACA;AACA,qBAAmB,QAAQ,UAAU;AAErC,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,OAAO,KAAK,OAAO,SAAS,QAAQ;AAK1C,QAAM,aAAa,KAAK,UAAU,OAAO;AAEzC,QAAM,UAAU,OACZ,MACE,GAAG,KAAK,MAAM,YAAY,eAAe,CAAC;AAAA;AAAA,YAC7B,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,EACxB,UAAoB,KAC5C,MACE,GAAG,KAAK,MAAM,YAAY,WAAW,CAAC;AAAA;AAAA,YACzB,KAAK,MAAM,cAAc,QAAQ,CAAC;AAAA,YAClC,KAAK,MAAM,cAAc,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA,EACxB,UAAoB;AAEhD,SAAO,EAAE,SAAS,KAAK;AACzB;AAEA,OAAO,OAAO;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC","sourcesContent":["/* eslint-disable no-invalid-this */\n\n// Note: Because this file imports from `@jest/globals`, it can only be used in\n// a Jest environment. This is why it's not exported from the index file.\n\nimport type { MatcherFunction } from '@jest/expect';\nimport { expect } from '@jest/globals';\nimport type {\n NotificationType,\n EnumToUnion,\n Component,\n} from '@metamask/snaps-sdk';\nimport type { Json } from '@metamask/utils';\nimport { hasProperty } from '@metamask/utils';\nimport type { MatcherHintOptions } from 'jest-matcher-utils';\nimport {\n diff,\n matcherErrorMessage,\n matcherHint,\n printReceived,\n printWithType,\n RECEIVED_COLOR,\n} from 'jest-matcher-utils';\nimport { is } from 'superstruct';\n\nimport { InterfaceStruct, SnapResponseStruct } from './internals';\nimport type { SnapResponse } from './types';\n\n/**\n * Ensure that the actual value is a response from the `request` function.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertActualIsSnapResponse(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is SnapResponse {\n if (!is(actual, SnapResponseStruct)) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR(\n 'received',\n )} value must be a response from the \\`request\\` function`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Ensure that the actual value is a response from the `request` function, and\n * that it has a `ui` property.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertHasInterface(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is { content: Component } {\n if (!is(actual, InterfaceStruct) || !actual.content) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR('received')} value must have a \\`content\\` property`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Check if a JSON-RPC response matches the expected value. This matcher is\n * intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected response.\n * @returns The status and message.\n */\nexport const toRespondWith: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWith');\n\n const { response } = actual;\n if (hasProperty(response, 'error')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected response: ${this.utils.printExpected(expected)}\\n` +\n `Received error: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.result, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass };\n};\n\nexport const toRespondWithError: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWithError');\n\n const { response } = actual;\n if (hasProperty(response, 'result')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected error: ${this.utils.printExpected(expected)}\\n` +\n `Received result: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.error, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass };\n};\n\n/**\n * Check if the snap sent a notification with the expected message. This matcher\n * is intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected notification message.\n * @param type - The expected notification type.\n * @returns The status and message.\n */\nexport const toSendNotification: MatcherFunction<\n [expected: string, type?: EnumToUnion<NotificationType> | undefined]\n> = function (actual, expected, type) {\n assertActualIsSnapResponse(actual, 'toSendNotification');\n\n const { notifications } = actual;\n const pass = notifications.some(\n (notification) =>\n this.equals(notification.message, expected) &&\n (type === undefined || notification.type === type),\n );\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`\n : () =>\n `${this.utils.matcherHint('.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`;\n\n return { message, pass };\n};\n\nexport const toRender: MatcherFunction<[expected: Component]> = function (\n actual,\n expected,\n) {\n assertHasInterface(actual, 'toRender');\n\n const { content } = actual;\n const pass = this.equals(content, expected);\n\n // This is typed as `string | null`, but in practice it's always a string. The\n // function only returns `null` if both the expected and actual values are\n // numbers, bigints, or booleans, which is never the case here.\n const difference = diff(expected, content);\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`\n : () =>\n `${this.utils.matcherHint('.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`;\n\n return { message, pass };\n};\n\nexpect.extend({\n toRespondWith,\n toRespondWithError,\n toSendNotification,\n toRender,\n});\n"]}
@@ -0,0 +1,28 @@
1
+ // src/options.ts
2
+ import {
3
+ boolean,
4
+ create,
5
+ defaulted,
6
+ number,
7
+ object,
8
+ string,
9
+ type
10
+ } from "superstruct";
11
+ var SnapsEnvironmentOptionsStruct = type({
12
+ server: defaulted(
13
+ object({
14
+ enabled: defaulted(boolean(), true),
15
+ port: defaulted(number(), 0),
16
+ root: defaulted(string(), process.cwd())
17
+ }),
18
+ {}
19
+ )
20
+ });
21
+ function getOptions(testEnvironmentOptions) {
22
+ return create(testEnvironmentOptions, SnapsEnvironmentOptionsStruct);
23
+ }
24
+
25
+ export {
26
+ getOptions
27
+ };
28
+ //# sourceMappingURL=chunk-B73P64TE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/options.ts"],"sourcesContent":["import type { Infer } from 'superstruct';\nimport {\n boolean,\n create,\n defaulted,\n number,\n object,\n string,\n type,\n} from 'superstruct';\n\nconst SnapsEnvironmentOptionsStruct = type({\n server: defaulted(\n object({\n enabled: defaulted(boolean(), true),\n port: defaulted(number(), 0),\n root: defaulted(string(), process.cwd()),\n }),\n {},\n ),\n});\n\n/**\n * The options for the environment. These can be specified in the Jest\n * configuration under `testEnvironmentOptions`.\n *\n * @example\n * {\n * \"testEnvironment\": \"@metamask/snaps-jest\",\n * \"testEnvironmentOptions\": {\n * \"executionEnvironmentUrl\": \"http://localhost:8080\",\n * \"server\": {\n * \"port\": 8080,\n * /* ... *\\/\n * }\n * }\n * }\n * @property server - The options for the built-in HTTP server.\n * @property server.enabled - Whether to run the built-in HTTP server. Defaults\n * to `true`.\n * @property server.port - The port to use for the built-in HTTP server. If this\n * is not provided, a random available port will be used.\n * @property server.root - The root directory to serve from the built-in HTTP\n * server. Defaults to the current working directory. This is assumed to be the\n * directory containing the snap manifest and `dist` files. If this is a\n * relative path, it will be resolved relative to the current working directory.\n */\nexport type SnapsEnvironmentOptions = Infer<\n typeof SnapsEnvironmentOptionsStruct\n>;\n\n/**\n * Get the environment options. This validates the options, and returns the\n * default options if none are provided.\n *\n * @param testEnvironmentOptions - The test environment options as defined in\n * the Jest configuration.\n * @returns The environment options.\n */\nexport function getOptions(testEnvironmentOptions: Record<string, unknown>) {\n return create(testEnvironmentOptions, SnapsEnvironmentOptionsStruct);\n}\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,gCAAgC,KAAK;AAAA,EACzC,QAAQ;AAAA,IACN,OAAO;AAAA,MACL,SAAS,UAAU,QAAQ,GAAG,IAAI;AAAA,MAClC,MAAM,UAAU,OAAO,GAAG,CAAC;AAAA,MAC3B,MAAM,UAAU,OAAO,GAAG,QAAQ,IAAI,CAAC;AAAA,IACzC,CAAC;AAAA,IACD,CAAC;AAAA,EACH;AACF,CAAC;AAuCM,SAAS,WAAW,wBAAiD;AAC1E,SAAO,OAAO,wBAAwB,6BAA6B;AACrE;","names":[]}
@@ -0,0 +1,91 @@
1
+ import {
2
+ getPermissionSpecifications
3
+ } from "./chunk-HBLJOACO.mjs";
4
+ import {
5
+ UNRESTRICTED_METHODS
6
+ } from "./chunk-57SGDM5B.mjs";
7
+
8
+ // src/internals/simulation/controllers.ts
9
+ import {
10
+ PermissionController,
11
+ SubjectMetadataController,
12
+ SubjectType
13
+ } from "@metamask/permission-controller";
14
+ import { SnapInterfaceController } from "@metamask/snaps-controllers";
15
+ import {
16
+ caveatSpecifications as snapsCaveatsSpecifications,
17
+ endowmentCaveatSpecifications as snapsEndowmentCaveatSpecifications,
18
+ processSnapPermissions
19
+ } from "@metamask/snaps-rpc-methods";
20
+ import { getSafeJson } from "@metamask/utils";
21
+ function getControllers(options) {
22
+ const { controllerMessenger } = options;
23
+ const subjectMetadataController = new SubjectMetadataController({
24
+ messenger: controllerMessenger.getRestricted({
25
+ name: "SubjectMetadataController"
26
+ }),
27
+ subjectCacheLimit: 100
28
+ });
29
+ const interfaceController = new SnapInterfaceController({
30
+ messenger: controllerMessenger.getRestricted({
31
+ name: "SnapInterfaceController",
32
+ allowedActions: [
33
+ "PhishingController:maybeUpdateState",
34
+ "PhishingController:testOrigin"
35
+ ]
36
+ })
37
+ });
38
+ const permissionController = getPermissionController(options);
39
+ return {
40
+ permissionController,
41
+ subjectMetadataController,
42
+ interfaceController
43
+ };
44
+ }
45
+ function getPermissionController(options) {
46
+ const { controllerMessenger } = options;
47
+ const permissionSpecifications = getPermissionSpecifications(options);
48
+ return new PermissionController({
49
+ messenger: controllerMessenger.getRestricted({
50
+ name: "PermissionController",
51
+ allowedActions: [
52
+ `ApprovalController:addRequest`,
53
+ `ApprovalController:hasRequest`,
54
+ `ApprovalController:acceptRequest`,
55
+ `ApprovalController:rejectRequest`,
56
+ `SnapController:getPermitted`,
57
+ `SnapController:install`,
58
+ `SubjectMetadataController:getSubjectMetadata`
59
+ ]
60
+ }),
61
+ caveatSpecifications: {
62
+ ...snapsCaveatsSpecifications,
63
+ ...snapsEndowmentCaveatSpecifications
64
+ },
65
+ permissionSpecifications,
66
+ unrestrictedMethods: UNRESTRICTED_METHODS
67
+ });
68
+ }
69
+ async function registerSnap(snapId, manifest, {
70
+ permissionController,
71
+ subjectMetadataController
72
+ }) {
73
+ subjectMetadataController.addSubjectMetadata({
74
+ origin: snapId,
75
+ subjectType: SubjectType.Snap
76
+ });
77
+ const approvedPermissions = processSnapPermissions(
78
+ getSafeJson(manifest.initialPermissions)
79
+ );
80
+ permissionController.grantPermissions({
81
+ approvedPermissions,
82
+ subject: { origin: snapId },
83
+ preserveExistingPermissions: false
84
+ });
85
+ }
86
+
87
+ export {
88
+ getControllers,
89
+ registerSnap
90
+ };
91
+ //# sourceMappingURL=chunk-CCYBLBVL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/controllers.ts"],"sourcesContent":["import type { ControllerMessenger } from '@metamask/base-controller';\nimport type {\n CaveatSpecificationConstraint,\n PermissionSpecificationConstraint,\n PermissionControllerActions,\n SubjectMetadataControllerActions,\n} from '@metamask/permission-controller';\nimport {\n PermissionController,\n SubjectMetadataController,\n SubjectType,\n} from '@metamask/permission-controller';\nimport { SnapInterfaceController } from '@metamask/snaps-controllers';\nimport type {\n ExecutionServiceActions,\n SnapInterfaceControllerActions,\n SnapInterfaceControllerAllowedActions,\n} from '@metamask/snaps-controllers';\nimport {\n caveatSpecifications as snapsCaveatsSpecifications,\n endowmentCaveatSpecifications as snapsEndowmentCaveatSpecifications,\n processSnapPermissions,\n} from '@metamask/snaps-rpc-methods';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport type { SnapManifest } from '@metamask/snaps-utils';\nimport { getSafeJson } from '@metamask/utils';\n\nimport { getPermissionSpecifications } from './methods';\nimport { UNRESTRICTED_METHODS } from './methods/constants';\nimport type { SimulationOptions } from './options';\nimport type { MiddlewareHooks } from './simulation';\nimport type { RunSagaFunction } from './store';\n\nexport type RootControllerAllowedActions =\n | SnapInterfaceControllerActions\n | SnapInterfaceControllerAllowedActions\n | PermissionControllerActions\n | ExecutionServiceActions\n | SubjectMetadataControllerActions;\n\nexport type RootControllerMessenger = ControllerMessenger<\n RootControllerAllowedActions,\n any\n>;\n\nexport type GetControllersOptions = {\n controllerMessenger: ControllerMessenger<any, any>;\n hooks: MiddlewareHooks;\n runSaga: RunSagaFunction;\n options: SimulationOptions;\n};\n\nexport type Controllers = {\n permissionController: PermissionController<\n PermissionSpecificationConstraint,\n CaveatSpecificationConstraint\n >;\n subjectMetadataController: SubjectMetadataController;\n interfaceController: SnapInterfaceController;\n};\n\n/**\n * Get the controllers for the Snap.\n *\n * @param options - The options.\n * @returns The controllers for the Snap.\n */\nexport function getControllers(options: GetControllersOptions): Controllers {\n const { controllerMessenger } = options;\n const subjectMetadataController = new SubjectMetadataController({\n messenger: controllerMessenger.getRestricted({\n name: 'SubjectMetadataController',\n }),\n subjectCacheLimit: 100,\n });\n\n const interfaceController = new SnapInterfaceController({\n messenger: controllerMessenger.getRestricted({\n name: 'SnapInterfaceController',\n allowedActions: [\n 'PhishingController:maybeUpdateState',\n 'PhishingController:testOrigin',\n ],\n }),\n });\n\n const permissionController = getPermissionController(options);\n\n return {\n permissionController,\n subjectMetadataController,\n interfaceController,\n };\n}\n\n/**\n * Get the permission controller for the Snap.\n *\n * @param options - The options.\n * @param options.controllerMessenger - The controller messenger.\n * @param options.options - Miscellaneous options.\n * @returns The permission controller for the Snap.\n */\nfunction getPermissionController(options: GetControllersOptions) {\n const { controllerMessenger } = options;\n const permissionSpecifications = getPermissionSpecifications(options);\n return new PermissionController({\n messenger: controllerMessenger.getRestricted({\n name: 'PermissionController',\n allowedActions: [\n `ApprovalController:addRequest`,\n `ApprovalController:hasRequest`,\n `ApprovalController:acceptRequest`,\n `ApprovalController:rejectRequest`,\n `SnapController:getPermitted`,\n `SnapController:install`,\n `SubjectMetadataController:getSubjectMetadata`,\n ],\n }),\n caveatSpecifications: {\n ...snapsCaveatsSpecifications,\n ...snapsEndowmentCaveatSpecifications,\n },\n permissionSpecifications,\n unrestrictedMethods: UNRESTRICTED_METHODS,\n });\n}\n\n/**\n * Register the Snap. This sets up the Snap's permissions and subject metadata.\n *\n * @param snapId - The ID of the Snap to install.\n * @param manifest - The parsed manifest.\n * @param controllers - The controllers for the Snap.\n * @param controllers.permissionController - The permission controller.\n * @param controllers.subjectMetadataController - The subject metadata controller.\n */\nexport async function registerSnap(\n snapId: SnapId,\n manifest: SnapManifest,\n {\n permissionController,\n subjectMetadataController,\n }: Omit<Controllers, 'interfaceController'>,\n) {\n subjectMetadataController.addSubjectMetadata({\n origin: snapId,\n subjectType: SubjectType.Snap,\n });\n\n const approvedPermissions = processSnapPermissions(\n getSafeJson(manifest.initialPermissions),\n );\n\n permissionController.grantPermissions({\n approvedPermissions,\n subject: { origin: snapId },\n preserveExistingPermissions: false,\n });\n}\n"],"mappings":";;;;;;;;AAOA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AAMxC;AAAA,EACE,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EACjC;AAAA,OACK;AAGP,SAAS,mBAAmB;AA0CrB,SAAS,eAAe,SAA6C;AAC1E,QAAM,EAAE,oBAAoB,IAAI;AAChC,QAAM,4BAA4B,IAAI,0BAA0B;AAAA,IAC9D,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB;AAAA,EACrB,CAAC;AAED,QAAM,sBAAsB,IAAI,wBAAwB;AAAA,IACtD,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,MACN,gBAAgB;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,QAAM,uBAAuB,wBAAwB,OAAO;AAE5D,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAUA,SAAS,wBAAwB,SAAgC;AAC/D,QAAM,EAAE,oBAAoB,IAAI;AAChC,QAAM,2BAA2B,4BAA4B,OAAO;AACpE,SAAO,IAAI,qBAAqB;AAAA,IAC9B,WAAW,oBAAoB,cAAc;AAAA,MAC3C,MAAM;AAAA,MACN,gBAAgB;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,IACD,sBAAsB;AAAA,MACpB,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA;AAAA,IACA,qBAAqB;AAAA,EACvB,CAAC;AACH;AAWA,eAAsB,aACpB,QACA,UACA;AAAA,EACE;AAAA,EACA;AACF,GACA;AACA,4BAA0B,mBAAmB;AAAA,IAC3C,QAAQ;AAAA,IACR,aAAa,YAAY;AAAA,EAC3B,CAAC;AAED,QAAM,sBAAsB;AAAA,IAC1B,YAAY,SAAS,kBAAkB;AAAA,EACzC;AAEA,uBAAqB,iBAAiB;AAAA,IACpC;AAAA,IACA,SAAS,EAAE,QAAQ,OAAO;AAAA,IAC1B,6BAA6B;AAAA,EAC/B,CAAC;AACH;","names":[]}
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-DR6Y7IVX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkLACTK6EOjs = require('./chunk-LACTK6EO.js');
4
+
5
+ // src/internals/simulation/middleware/mock.ts
6
+ function createMockMiddleware(store) {
7
+ return function mockMiddleware(request, response, next, end) {
8
+ const result = _chunkLACTK6EOjs.getJsonRpcMock.call(void 0, store.getState(), request.method);
9
+ if (result) {
10
+ response.result = result;
11
+ return end();
12
+ }
13
+ return next();
14
+ };
15
+ }
16
+
17
+
18
+
19
+ exports.createMockMiddleware = createMockMiddleware;
20
+ //# sourceMappingURL=chunk-EMTW3H54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/middleware/mock.ts"],"names":[],"mappings":";;;;;AAYO,SAAS,qBACd,OACwC;AACxC,SAAO,SAAS,eAAe,SAAS,UAAU,MAAM,KAAK;AAC3D,UAAM,SAAS,eAAe,MAAM,SAAS,GAAG,QAAQ,MAAM;AAC9D,QAAI,QAAQ;AACV,eAAS,SAAS;AAClB,aAAO,IAAI;AAAA,IACb;AAEA,WAAO,KAAK;AAAA,EACd;AACF","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport type { Store } from '../store';\nimport { getJsonRpcMock } from '../store/mocks';\n\n/**\n * Create a middleware for handling JSON-RPC methods that have been mocked.\n *\n * @param store - The Redux store to use.\n * @returns A middleware function.\n */\nexport function createMockMiddleware(\n store: Store,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n return function mockMiddleware(request, response, next, end) {\n const result = getJsonRpcMock(store.getState(), request.method);\n if (result) {\n response.result = result;\n return end();\n }\n\n return next();\n };\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import {
2
+ getJsonRpcMock
3
+ } from "./chunk-H2464AXT.mjs";
4
+
5
+ // src/internals/simulation/middleware/mock.ts
6
+ function createMockMiddleware(store) {
7
+ return function mockMiddleware(request, response, next, end) {
8
+ const result = getJsonRpcMock(store.getState(), request.method);
9
+ if (result) {
10
+ response.result = result;
11
+ return end();
12
+ }
13
+ return next();
14
+ };
15
+ }
16
+
17
+ export {
18
+ createMockMiddleware
19
+ };
20
+ //# sourceMappingURL=chunk-FP4H3ADT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/middleware/mock.ts"],"sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine';\nimport type { Json, JsonRpcParams } from '@metamask/utils';\n\nimport type { Store } from '../store';\nimport { getJsonRpcMock } from '../store/mocks';\n\n/**\n * Create a middleware for handling JSON-RPC methods that have been mocked.\n *\n * @param store - The Redux store to use.\n * @returns A middleware function.\n */\nexport function createMockMiddleware(\n store: Store,\n): JsonRpcMiddleware<JsonRpcParams, Json> {\n return function mockMiddleware(request, response, next, end) {\n const result = getJsonRpcMock(store.getState(), request.method);\n if (result) {\n response.result = result;\n return end();\n }\n\n return next();\n };\n}\n"],"mappings":";;;;;AAYO,SAAS,qBACd,OACwC;AACxC,SAAO,SAAS,eAAe,SAAS,UAAU,MAAM,KAAK;AAC3D,UAAM,SAAS,eAAe,MAAM,SAAS,GAAG,QAAQ,MAAM;AAC9D,QAAI,QAAQ;AACV,eAAS,SAAS;AAClB,aAAO,IAAI;AAAA,IACb;AAEA,WAAO,KAAK;AAAA,EACd;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-GECE47HW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk2YE2P5BZjs = require('./chunk-2YE2P5BZ.js');
4
+
5
+ // src/internals/simulation/methods/hooks/notifications.ts
6
+ var _snapssdk = require('@metamask/snaps-sdk');
7
+ var _toolkit = require('@reduxjs/toolkit');
8
+ var _effects = require('redux-saga/effects');
9
+ function* showNativeNotificationImplementation(_snapId, { message }) {
10
+ yield _effects.put.call(void 0,
11
+ _chunk2YE2P5BZjs.addNotification.call(void 0, { id: _toolkit.nanoid.call(void 0, ), type: _snapssdk.NotificationType.Native, message })
12
+ );
13
+ return null;
14
+ }
15
+ function getShowNativeNotificationImplementation(runSaga) {
16
+ return async (...args) => {
17
+ return await runSaga(
18
+ showNativeNotificationImplementation,
19
+ ...args
20
+ ).toPromise();
21
+ };
22
+ }
23
+ function* showInAppNotificationImplementation(_snapId, { message }) {
24
+ yield _effects.put.call(void 0,
25
+ _chunk2YE2P5BZjs.addNotification.call(void 0, { id: _toolkit.nanoid.call(void 0, ), type: _snapssdk.NotificationType.InApp, message })
26
+ );
27
+ return null;
28
+ }
29
+ function getShowInAppNotificationImplementation(runSaga) {
30
+ return async (...args) => {
31
+ return await runSaga(
32
+ showInAppNotificationImplementation,
33
+ ...args
34
+ ).toPromise();
35
+ };
36
+ }
37
+
38
+
39
+
40
+
41
+ exports.getShowNativeNotificationImplementation = getShowNativeNotificationImplementation; exports.getShowInAppNotificationImplementation = getShowInAppNotificationImplementation;
42
+ //# sourceMappingURL=chunk-GMTKFAWO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/hooks/notifications.ts"],"names":[],"mappings":";;;;;AACA,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAEvB,SAAS,WAAW;AAcpB,UAAU,qCACR,SACA,EAAE,QAAQ,GACI;AACd,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,QAAQ,QAAQ,CAAC;AAAA,EAC1E;AAEA,SAAO;AACT;AAQO,SAAS,wCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF;AAWA,UAAU,oCACR,SACA,EAAE,QAAQ,GACU;AACpB,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,OAAO,QAAQ,CAAC;AAAA,EACzE;AAEA,SAAO;AACT;AAQO,SAAS,uCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF","sourcesContent":["import type { NotifyParams } from '@metamask/snaps-sdk';\nimport { NotificationType } from '@metamask/snaps-sdk';\nimport { nanoid } from '@reduxjs/toolkit';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { addNotification } from '../../store';\n\n/**\n * Show a native notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showNativeNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.Native, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show a native notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show a native notification.\n */\nexport function getShowNativeNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showNativeNotificationImplementation>\n ) => {\n return await runSaga(\n showNativeNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n\n/**\n * Show an in-app notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showInAppNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator<null> {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.InApp, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show an in-app notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show an in-app notification.\n */\nexport function getShowInAppNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showInAppNotificationImplementation>\n ) => {\n return await runSaga(\n showInAppNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n"]}
@@ -0,0 +1,33 @@
1
+ // src/internals/simulation/store/mocks.ts
2
+ import { createSelector, createSlice } from "@reduxjs/toolkit";
3
+ var INITIAL_STATE = {
4
+ jsonRpc: {}
5
+ };
6
+ var mocksSlice = createSlice({
7
+ name: "mocks",
8
+ initialState: INITIAL_STATE,
9
+ reducers: {
10
+ addJsonRpcMock: (state, action) => {
11
+ state.jsonRpc[action.payload.method] = action.payload.result;
12
+ },
13
+ removeJsonRpcMock: (state, action) => {
14
+ delete state.jsonRpc[action.payload];
15
+ }
16
+ }
17
+ });
18
+ var { addJsonRpcMock, removeJsonRpcMock } = mocksSlice.actions;
19
+ var getJsonRpcMocks = (state) => state.mocks.jsonRpc;
20
+ var getJsonRpcMock = createSelector(
21
+ getJsonRpcMocks,
22
+ (_, method) => method,
23
+ (jsonRpcMocks, method) => jsonRpcMocks[method]
24
+ );
25
+
26
+ export {
27
+ mocksSlice,
28
+ addJsonRpcMock,
29
+ removeJsonRpcMock,
30
+ getJsonRpcMocks,
31
+ getJsonRpcMock
32
+ };
33
+ //# sourceMappingURL=chunk-H2464AXT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/store/mocks.ts"],"sourcesContent":["import type { Json } from '@metamask/utils';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSelector, createSlice } from '@reduxjs/toolkit';\n\nimport type { ApplicationState } from './store';\n\nexport type JsonRpcMock = {\n method: string;\n result: Json;\n};\n\nexport type MocksState = {\n jsonRpc: Record<string, Json>;\n};\n\n/**\n * The initial notifications state.\n */\nconst INITIAL_STATE: MocksState = {\n jsonRpc: {},\n};\n\nexport const mocksSlice = createSlice({\n name: 'mocks',\n initialState: INITIAL_STATE,\n reducers: {\n addJsonRpcMock: (state, action: PayloadAction<JsonRpcMock>) => {\n // @ts-expect-error - TS2589: Type instantiation is excessively deep and\n // possibly infinite.\n state.jsonRpc[action.payload.method] = action.payload.result;\n },\n removeJsonRpcMock: (state, action: PayloadAction<string>) => {\n delete state.jsonRpc[action.payload];\n },\n },\n});\n\nexport const { addJsonRpcMock, removeJsonRpcMock } = mocksSlice.actions;\n\n/**\n * Get the JSON-RPC mocks from the state.\n *\n * @param state - The application state.\n * @returns The JSON-RPC mocks.\n */\nexport const getJsonRpcMocks = (state: ApplicationState) => state.mocks.jsonRpc;\n\n/**\n * Get the JSON-RPC mock for a given method from the state.\n */\nexport const getJsonRpcMock = createSelector(\n getJsonRpcMocks,\n (_: unknown, method: string) => method,\n (jsonRpcMocks, method) => jsonRpcMocks[method],\n);\n"],"mappings":";AAEA,SAAS,gBAAgB,mBAAmB;AAgB5C,IAAM,gBAA4B;AAAA,EAChC,SAAS,CAAC;AACZ;AAEO,IAAM,aAAa,YAAY;AAAA,EACpC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,IACR,gBAAgB,CAAC,OAAO,WAAuC;AAG7D,YAAM,QAAQ,OAAO,QAAQ,MAAM,IAAI,OAAO,QAAQ;AAAA,IACxD;AAAA,IACA,mBAAmB,CAAC,OAAO,WAAkC;AAC3D,aAAO,MAAM,QAAQ,OAAO,OAAO;AAAA,IACrC;AAAA,EACF;AACF,CAAC;AAEM,IAAM,EAAE,gBAAgB,kBAAkB,IAAI,WAAW;AAQzD,IAAM,kBAAkB,CAAC,UAA4B,MAAM,MAAM;AAKjE,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA,CAAC,GAAY,WAAmB;AAAA,EAChC,CAAC,cAAc,WAAW,aAAa,MAAM;AAC/C;","names":[]}
@@ -0,0 +1,97 @@
1
+ import {
2
+ decryptImplementation,
3
+ encryptImplementation
4
+ } from "./chunk-2X23DUDP.mjs";
5
+ import {
6
+ getGetLocaleMethodImplementation
7
+ } from "./chunk-KSIBNOB2.mjs";
8
+ import {
9
+ getCreateInterfaceImplementation,
10
+ getGetInterfaceImplementation
11
+ } from "./chunk-WH5C5WIZ.mjs";
12
+ import {
13
+ getShowInAppNotificationImplementation,
14
+ getShowNativeNotificationImplementation
15
+ } from "./chunk-ALRZENWP.mjs";
16
+ import {
17
+ getShowDialogImplementation
18
+ } from "./chunk-ORO3T6BU.mjs";
19
+ import {
20
+ getClearSnapStateMethodImplementation,
21
+ getGetSnapStateMethodImplementation,
22
+ getUpdateSnapStateMethodImplementation
23
+ } from "./chunk-7BFTEFLS.mjs";
24
+ import {
25
+ EXCLUDED_SNAP_ENDOWMENTS,
26
+ EXCLUDED_SNAP_PERMISSIONS
27
+ } from "./chunk-57SGDM5B.mjs";
28
+
29
+ // src/internals/simulation/methods/specifications.ts
30
+ import {
31
+ endowmentPermissionBuilders,
32
+ buildSnapEndowmentSpecifications,
33
+ buildSnapRestrictedMethodSpecifications
34
+ } from "@metamask/snaps-rpc-methods";
35
+ import { DEFAULT_ENDOWMENTS } from "@metamask/snaps-utils";
36
+ function resolve(result) {
37
+ return () => result;
38
+ }
39
+ function asyncResolve(result) {
40
+ return async () => result;
41
+ }
42
+ function getPermissionSpecifications({
43
+ controllerMessenger,
44
+ hooks,
45
+ runSaga,
46
+ options
47
+ }) {
48
+ return {
49
+ ...buildSnapEndowmentSpecifications(EXCLUDED_SNAP_ENDOWMENTS),
50
+ ...buildSnapRestrictedMethodSpecifications(EXCLUDED_SNAP_PERMISSIONS, {
51
+ // Shared hooks.
52
+ ...hooks,
53
+ // Encryption and decryption hooks.
54
+ // TODO: Swap these out for the real implementations.
55
+ encrypt: encryptImplementation,
56
+ decrypt: decryptImplementation,
57
+ // Snaps-specific hooks.
58
+ clearSnapState: getClearSnapStateMethodImplementation(runSaga),
59
+ getLocale: getGetLocaleMethodImplementation(options),
60
+ getSnapState: getGetSnapStateMethodImplementation(runSaga),
61
+ getUnlockPromise: asyncResolve(true),
62
+ // TODO: Allow the user to specify the result of this function.
63
+ isOnPhishingList: resolve(false),
64
+ maybeUpdatePhishingList: asyncResolve(),
65
+ showDialog: getShowDialogImplementation(runSaga),
66
+ showInAppNotification: getShowInAppNotificationImplementation(runSaga),
67
+ showNativeNotification: getShowNativeNotificationImplementation(runSaga),
68
+ updateSnapState: getUpdateSnapStateMethodImplementation(runSaga),
69
+ createInterface: getCreateInterfaceImplementation(controllerMessenger),
70
+ getInterface: getGetInterfaceImplementation(controllerMessenger)
71
+ })
72
+ };
73
+ }
74
+ async function getEndowments(permissionController, snapId) {
75
+ const allEndowments = await Object.keys(endowmentPermissionBuilders).reduce(async (promise, permissionName) => {
76
+ const accumulator = await promise;
77
+ if (permissionController.hasPermission(snapId, permissionName)) {
78
+ const endowments = await permissionController.getEndowments(
79
+ snapId,
80
+ permissionName
81
+ );
82
+ if (endowments) {
83
+ return accumulator.concat(endowments);
84
+ }
85
+ }
86
+ return accumulator;
87
+ }, Promise.resolve([]));
88
+ return [.../* @__PURE__ */ new Set([...DEFAULT_ENDOWMENTS, ...allEndowments])];
89
+ }
90
+
91
+ export {
92
+ resolve,
93
+ asyncResolve,
94
+ getPermissionSpecifications,
95
+ getEndowments
96
+ };
97
+ //# sourceMappingURL=chunk-HBLJOACO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/specifications.ts"],"sourcesContent":["import type { GenericPermissionController } from '@metamask/permission-controller';\nimport {\n endowmentPermissionBuilders,\n buildSnapEndowmentSpecifications,\n buildSnapRestrictedMethodSpecifications,\n} from '@metamask/snaps-rpc-methods';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { DEFAULT_ENDOWMENTS } from '@metamask/snaps-utils';\n\nimport type { RootControllerMessenger } from '../controllers';\nimport type { SimulationOptions } from '../options';\nimport type { RunSagaFunction } from '../store';\nimport {\n EXCLUDED_SNAP_ENDOWMENTS,\n EXCLUDED_SNAP_PERMISSIONS,\n} from './constants';\nimport {\n getGetLocaleMethodImplementation,\n getClearSnapStateMethodImplementation,\n getGetSnapStateMethodImplementation,\n getUpdateSnapStateMethodImplementation,\n getShowDialogImplementation,\n getShowInAppNotificationImplementation,\n getShowNativeNotificationImplementation,\n encryptImplementation,\n decryptImplementation,\n getCreateInterfaceImplementation,\n getGetInterfaceImplementation,\n} from './hooks';\n\nexport type PermissionSpecificationsHooks = {\n /**\n * A hook that returns the user's secret recovery phrase.\n *\n * @returns The user's secret recovery phrase.\n */\n getMnemonic: () => Promise<Uint8Array>;\n};\n\nexport type GetPermissionSpecificationsOptions = {\n controllerMessenger: RootControllerMessenger;\n hooks: PermissionSpecificationsHooks;\n runSaga: RunSagaFunction;\n options: SimulationOptions;\n};\n\n/**\n * Get a function which resolves with the specified result.\n *\n * @param result - The result to return.\n * @returns The function implementation.\n */\nexport function resolve(result: unknown) {\n return () => result;\n}\n\n/**\n * Get a function which resolves with the specified result.\n *\n * @param result - The result to return. If not specified, the function will\n * resolve with `undefined`.\n * @returns The function implementation.\n */\nexport function asyncResolve(result?: unknown) {\n return async () => result;\n}\n\n/**\n * Get the permission specifications for the Snap.\n *\n * @param options - The options.\n * @param options.controllerMessenger - The controller messenger.\n * @param options.hooks - The hooks.\n * @param options.runSaga - The function to run a saga outside the usual Redux\n * flow.\n * @param options.options - The simulation options.\n * @returns The permission specifications for the Snap.\n */\nexport function getPermissionSpecifications({\n controllerMessenger,\n hooks,\n runSaga,\n options,\n}: GetPermissionSpecificationsOptions) {\n return {\n ...buildSnapEndowmentSpecifications(EXCLUDED_SNAP_ENDOWMENTS),\n ...buildSnapRestrictedMethodSpecifications(EXCLUDED_SNAP_PERMISSIONS, {\n // Shared hooks.\n ...hooks,\n\n // Encryption and decryption hooks.\n // TODO: Swap these out for the real implementations.\n encrypt: encryptImplementation,\n decrypt: decryptImplementation,\n\n // Snaps-specific hooks.\n clearSnapState: getClearSnapStateMethodImplementation(runSaga),\n getLocale: getGetLocaleMethodImplementation(options),\n getSnapState: getGetSnapStateMethodImplementation(runSaga),\n getUnlockPromise: asyncResolve(true),\n\n // TODO: Allow the user to specify the result of this function.\n isOnPhishingList: resolve(false),\n\n maybeUpdatePhishingList: asyncResolve(),\n showDialog: getShowDialogImplementation(runSaga),\n showInAppNotification: getShowInAppNotificationImplementation(runSaga),\n showNativeNotification: getShowNativeNotificationImplementation(runSaga),\n updateSnapState: getUpdateSnapStateMethodImplementation(runSaga),\n createInterface: getCreateInterfaceImplementation(controllerMessenger),\n getInterface: getGetInterfaceImplementation(controllerMessenger),\n }),\n };\n}\n\n/**\n * Get the endowments for the Snap.\n *\n * @param permissionController - The permission controller.\n * @param snapId - The ID of the Snap.\n * @returns The endowments for the Snap.\n */\nexport async function getEndowments(\n permissionController: GenericPermissionController,\n snapId: SnapId,\n) {\n const allEndowments = await Object.keys(endowmentPermissionBuilders).reduce<\n Promise<string[]>\n >(async (promise, permissionName) => {\n const accumulator = await promise;\n if (permissionController.hasPermission(snapId, permissionName)) {\n const endowments = await permissionController.getEndowments(\n snapId,\n permissionName,\n );\n\n if (endowments) {\n return accumulator.concat(endowments as string[]);\n }\n }\n\n return accumulator;\n }, Promise.resolve([]));\n\n return [...new Set([...DEFAULT_ENDOWMENTS, ...allEndowments])];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,0BAA0B;AA6C5B,SAAS,QAAQ,QAAiB;AACvC,SAAO,MAAM;AACf;AASO,SAAS,aAAa,QAAkB;AAC7C,SAAO,YAAY;AACrB;AAaO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,SAAO;AAAA,IACL,GAAG,iCAAiC,wBAAwB;AAAA,IAC5D,GAAG,wCAAwC,2BAA2B;AAAA;AAAA,MAEpE,GAAG;AAAA;AAAA;AAAA,MAIH,SAAS;AAAA,MACT,SAAS;AAAA;AAAA,MAGT,gBAAgB,sCAAsC,OAAO;AAAA,MAC7D,WAAW,iCAAiC,OAAO;AAAA,MACnD,cAAc,oCAAoC,OAAO;AAAA,MACzD,kBAAkB,aAAa,IAAI;AAAA;AAAA,MAGnC,kBAAkB,QAAQ,KAAK;AAAA,MAE/B,yBAAyB,aAAa;AAAA,MACtC,YAAY,4BAA4B,OAAO;AAAA,MAC/C,uBAAuB,uCAAuC,OAAO;AAAA,MACrE,wBAAwB,wCAAwC,OAAO;AAAA,MACvE,iBAAiB,uCAAuC,OAAO;AAAA,MAC/D,iBAAiB,iCAAiC,mBAAmB;AAAA,MACrE,cAAc,8BAA8B,mBAAmB;AAAA,IACjE,CAAC;AAAA,EACH;AACF;AASA,eAAsB,cACpB,sBACA,QACA;AACA,QAAM,gBAAgB,MAAM,OAAO,KAAK,2BAA2B,EAAE,OAEnE,OAAO,SAAS,mBAAmB;AACnC,UAAM,cAAc,MAAM;AAC1B,QAAI,qBAAqB,cAAc,QAAQ,cAAc,GAAG;AAC9D,YAAM,aAAa,MAAM,qBAAqB;AAAA,QAC5C;AAAA,QACA;AAAA,MACF;AAEA,UAAI,YAAY;AACd,eAAO,YAAY,OAAO,UAAsB;AAAA,MAClD;AAAA,IACF;AAEA,WAAO;AAAA,EACT,GAAG,QAAQ,QAAQ,CAAC,CAAC,CAAC;AAEtB,SAAO,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,oBAAoB,GAAG,aAAa,CAAC,CAAC;AAC/D;","names":[]}
@@ -0,0 +1,80 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkZAQZRYPWjs = require('./chunk-ZAQZRYPW.js');
4
+
5
+
6
+
7
+ var _chunk2YE2P5BZjs = require('./chunk-2YE2P5BZ.js');
8
+
9
+ // src/internals/request.ts
10
+ var _snapsutils = require('@metamask/snaps-utils');
11
+ var _utils = require('@metamask/utils');
12
+ var _toolkit = require('@reduxjs/toolkit');
13
+ function handleRequest({
14
+ snapId,
15
+ store,
16
+ executionService,
17
+ handler,
18
+ controllerMessenger,
19
+ runSaga,
20
+ request: { id = _toolkit.nanoid.call(void 0, ), origin = "https://metamask.io", ...options }
21
+ }) {
22
+ const promise = executionService.handleRpcRequest(snapId, {
23
+ origin,
24
+ handler,
25
+ request: {
26
+ jsonrpc: "2.0",
27
+ id: 1,
28
+ ...options
29
+ }
30
+ }).then((result) => {
31
+ const notifications = _chunk2YE2P5BZjs.getNotifications.call(void 0, store.getState());
32
+ store.dispatch(_chunk2YE2P5BZjs.clearNotifications.call(void 0, ));
33
+ const content = getContentFromResult(result, snapId, controllerMessenger);
34
+ return {
35
+ id: String(id),
36
+ response: {
37
+ result: _utils.getSafeJson.call(void 0, result)
38
+ },
39
+ notifications,
40
+ content
41
+ };
42
+ }).catch((error) => {
43
+ const [unwrappedError] = _snapsutils.unwrapError.call(void 0, error);
44
+ return {
45
+ id: String(id),
46
+ response: {
47
+ error: unwrappedError.serialize()
48
+ },
49
+ notifications: []
50
+ };
51
+ });
52
+ promise.getInterface = async () => {
53
+ return await runSaga(
54
+ _chunkZAQZRYPWjs.getInterface,
55
+ runSaga,
56
+ snapId,
57
+ controllerMessenger
58
+ ).toPromise();
59
+ };
60
+ return promise;
61
+ }
62
+ function getContentFromResult(result, snapId, controllerMessenger) {
63
+ if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "id")) {
64
+ return controllerMessenger.call(
65
+ "SnapInterfaceController:getInterface",
66
+ snapId,
67
+ result.id
68
+ ).content;
69
+ }
70
+ if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "content")) {
71
+ return result.content;
72
+ }
73
+ return void 0;
74
+ }
75
+
76
+
77
+
78
+
79
+ exports.handleRequest = handleRequest; exports.getContentFromResult = getContentFromResult;
80
+ //# sourceMappingURL=chunk-HNH5UAKZ.js.map