@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
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [6.0.1]
10
+ ### Fixed
11
+ - Fix minor build configuration problems ([#2220](https://github.com/MetaMask/snaps/pull/2220))
12
+
13
+ ## [6.0.0]
14
+ ### Changed
15
+ - **BREAKING:** Update ESM build to be fully compliant with the ESM standard ([#2210](https://github.com/MetaMask/snaps/pull/2210))
16
+ - **BREAKING:** Move Node.js exports to separate export ([#2210](https://github.com/MetaMask/snaps/pull/2210))
17
+ - The default export is now browser-compatible.
18
+ - Node.js APIs can be imported from `<package>/node`.
19
+ - Bump `@metamask/rpc-errors` to `^6.2.1` ([#2209](https://github.com/MetaMask/snaps/pull/2209))
20
+
9
21
  ## [5.0.0]
10
22
  ### Added
11
23
  - **BREAKING:** Implement testing framework using Node.js executor ([#1982](https://github.com/MetaMask/snaps/pull/1982), [#2118](https://github.com/MetaMask/snaps/pull/2118))
@@ -95,7 +107,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
95
107
  - The version of the package no longer needs to match the version of all other
96
108
  MetaMask Snaps packages.
97
109
 
98
- [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@5.0.0...HEAD
110
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.1...HEAD
111
+ [6.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.0...@metamask/snaps-jest@6.0.1
112
+ [6.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@5.0.0...@metamask/snaps-jest@6.0.0
99
113
  [5.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@4.0.1...@metamask/snaps-jest@5.0.0
100
114
  [4.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@4.0.0...@metamask/snaps-jest@4.0.1
101
115
  [4.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@3.1.0...@metamask/snaps-jest@4.0.0
@@ -0,0 +1,13 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/methods/hooks/get-locale.ts
2
+ function getGetLocaleMethodImplementation({
3
+ locale
4
+ }) {
5
+ return async () => {
6
+ return locale;
7
+ };
8
+ }
9
+
10
+
11
+
12
+ exports.getGetLocaleMethodImplementation = getGetLocaleMethodImplementation;
13
+ //# sourceMappingURL=chunk-265BMFM5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/hooks/get-locale.ts"],"names":[],"mappings":";AASO,SAAS,iCAAiC;AAAA,EAC/C;AACF,GAAsB;AACpB,SAAO,YAAY;AACjB,WAAO;AAAA,EACT;AACF","sourcesContent":["import type { SimulationOptions } from '../../options';\n\n/**\n * Get the implementation of the `getLocale` hook.\n *\n * @param options - The simulation options.\n * @param options.locale - The locale to use.\n * @returns The implementation of the `getLocale` hook.\n */\nexport function getGetLocaleMethodImplementation({\n locale,\n}: SimulationOptions) {\n return async () => {\n return locale;\n };\n}\n"]}
@@ -0,0 +1,14 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/environment.ts
2
+ var _utils = require('@metamask/utils');
3
+ function getEnvironment() {
4
+ _utils.assert.call(void 0,
5
+ typeof snapsEnvironment !== "undefined",
6
+ "Snaps environment not found. Make sure you have configured the environment correctly."
7
+ );
8
+ return snapsEnvironment;
9
+ }
10
+
11
+
12
+
13
+ exports.getEnvironment = getEnvironment;
14
+ //# sourceMappingURL=chunk-2JTGBHPR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/environment.ts"],"names":[],"mappings":";AAAA,SAAS,cAAc;AAQhB,SAAS,iBAAiB;AAG/B;AAAA,IACE,OAAO,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO;AACT","sourcesContent":["import { assert } from '@metamask/utils';\n\n/**\n * Get the Snaps environment. This asserts that the environment has been\n * configured.\n *\n * @returns The Snaps environment.\n */\nexport function getEnvironment() {\n // `snapsEnvironment` is a global variable that is set by the Jest\n // environment.\n assert(\n typeof snapsEnvironment !== 'undefined',\n 'Snaps environment not found. Make sure you have configured the environment correctly.',\n );\n\n return snapsEnvironment;\n}\n"]}
@@ -0,0 +1,22 @@
1
+ // src/internals/simulation/methods/hooks/encryption.ts
2
+ function encryptImplementation(password, value) {
3
+ return JSON.stringify({
4
+ password,
5
+ value
6
+ });
7
+ }
8
+ function decryptImplementation(password, value) {
9
+ const decryptedValue = JSON.parse(value);
10
+ if (decryptedValue.password !== password) {
11
+ throw new Error(
12
+ "Incorrect password. This is a bug in `@metamask/snaps-jest`, please report it."
13
+ );
14
+ }
15
+ return decryptedValue.value;
16
+ }
17
+
18
+ export {
19
+ encryptImplementation,
20
+ decryptImplementation
21
+ };
22
+ //# sourceMappingURL=chunk-2X23DUDP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/hooks/encryption.ts"],"sourcesContent":["import type { Json } from '@metamask/utils';\n\n/**\n * Mocks encrypting a value using a password. This is not a real encryption\n * method, but rather is used to simulate encryption in the tests.\n *\n * Ideally we would use a real encryption method, such as\n * `@metamask/browser-passworder`, but it doesn't seem to work with Node.js 18\n * without some mocking. We can switch to a real encryption method once we\n * drop support for Node.js 18.\n *\n * @param password - The password to use.\n * @param value - The value to encrypt.\n * @returns The \"encrypted\" value.\n */\nexport function encryptImplementation(password: string, value: Json) {\n return JSON.stringify({\n password,\n value,\n });\n}\n\n/**\n * Mocks decrypting a value using a password. This is not a real encryption\n * method, but rather is used to simulate encryption in the tests.\n *\n * Ideally we would use a real decryption method, such as\n * `@metamask/browser-passworder`, but it doesn't seem to work with Node.js 18\n * without some mocking. We can switch to a real encryption method once we\n * drop support for Node.js 18.\n *\n * @param password - The password to use.\n * @param value - The value to decrypt.\n * @returns The \"decrypted\" value.\n */\nexport function decryptImplementation(password: string, value: string) {\n const decryptedValue = JSON.parse(value);\n if (decryptedValue.password !== password) {\n throw new Error(\n 'Incorrect password. This is a bug in `@metamask/snaps-jest`, please report it.',\n );\n }\n\n return decryptedValue.value;\n}\n"],"mappings":";AAeO,SAAS,sBAAsB,UAAkB,OAAa;AACnE,SAAO,KAAK,UAAU;AAAA,IACpB;AAAA,IACA;AAAA,EACF,CAAC;AACH;AAeO,SAAS,sBAAsB,UAAkB,OAAe;AACrE,QAAM,iBAAiB,KAAK,MAAM,KAAK;AACvC,MAAI,eAAe,aAAa,UAAU;AACxC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,eAAe;AACxB;","names":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/store/notifications.ts
2
+ var _toolkit = require('@reduxjs/toolkit');
3
+ var INITIAL_STATE = {
4
+ notifications: []
5
+ };
6
+ var notificationsSlice = _toolkit.createSlice.call(void 0, {
7
+ name: "notifications",
8
+ initialState: INITIAL_STATE,
9
+ reducers: {
10
+ addNotification: (state, action) => {
11
+ state.notifications.push(action.payload);
12
+ },
13
+ removeNotification: (state, action) => {
14
+ state.notifications = state.notifications.filter(
15
+ (notification) => notification.id !== action.payload
16
+ );
17
+ },
18
+ clearNotifications: (state) => {
19
+ state.notifications = [];
20
+ }
21
+ }
22
+ });
23
+ var { addNotification, removeNotification, clearNotifications } = notificationsSlice.actions;
24
+ var getNotifications = _toolkit.createSelector.call(void 0,
25
+ (state) => state.notifications,
26
+ ({ notifications }) => notifications
27
+ );
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+ exports.notificationsSlice = notificationsSlice; exports.addNotification = addNotification; exports.removeNotification = removeNotification; exports.clearNotifications = clearNotifications; exports.getNotifications = getNotifications;
36
+ //# sourceMappingURL=chunk-2YE2P5BZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/store/notifications.ts"],"names":[],"mappings":";AAEA,SAAS,gBAAgB,mBAAmB;AA6B5C,IAAM,gBAAoC;AAAA,EACxC,eAAe,CAAC;AAClB;AAEO,IAAM,qBAAqB,YAAY;AAAA,EAC5C,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,IACR,iBAAiB,CAAC,OAAO,WAAwC;AAC/D,YAAM,cAAc,KAAK,OAAO,OAAO;AAAA,IACzC;AAAA,IACA,oBAAoB,CAAC,OAAO,WAAkC;AAC5D,YAAM,gBAAgB,MAAM,cAAc;AAAA,QACxC,CAAC,iBAAiB,aAAa,OAAO,OAAO;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,oBAAoB,CAAC,UAAU;AAC7B,YAAM,gBAAgB,CAAC;AAAA,IACzB;AAAA,EACF;AACF,CAAC;AAEM,IAAM,EAAE,iBAAiB,oBAAoB,mBAAmB,IACrE,mBAAmB;AAQd,IAAM,mBAAmB;AAAA,EAC9B,CAAC,UAA4B,MAAM;AAAA,EACnC,CAAC,EAAE,cAAc,MAAM;AACzB","sourcesContent":["import type { NotificationType } from '@metamask/snaps-sdk';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSelector, createSlice } from '@reduxjs/toolkit';\n\nimport type { ApplicationState } from './store';\n\n/**\n * A notification object.\n *\n * @property id - A unique ID for the notification.\n * @property message - The notification message.\n * @property type - The notification type.\n */\nexport type Notification = {\n id: string;\n message: string;\n type: NotificationType;\n};\n\n/**\n * The notifications state.\n *\n * @property notifications - An array of notifications.\n */\nexport type NotificationsState = {\n notifications: Notification[];\n};\n\n/**\n * The initial notifications state.\n */\nconst INITIAL_STATE: NotificationsState = {\n notifications: [],\n};\n\nexport const notificationsSlice = createSlice({\n name: 'notifications',\n initialState: INITIAL_STATE,\n reducers: {\n addNotification: (state, action: PayloadAction<Notification>) => {\n state.notifications.push(action.payload);\n },\n removeNotification: (state, action: PayloadAction<string>) => {\n state.notifications = state.notifications.filter(\n (notification) => notification.id !== action.payload,\n );\n },\n clearNotifications: (state) => {\n state.notifications = [];\n },\n },\n});\n\nexport const { addNotification, removeNotification, clearNotifications } =\n notificationsSlice.actions;\n\n/**\n * Get the notifications from the state.\n *\n * @param state - The application state.\n * @returns An array of notifications.\n */\nexport const getNotifications = createSelector(\n (state: ApplicationState) => state.notifications,\n ({ notifications }) => notifications,\n);\n"]}
@@ -0,0 +1,15 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/internals/simulation/middleware/internal-methods/provider-state.ts
2
+ async function getProviderStateHandler(_request, response, _next, end) {
3
+ response.result = {
4
+ isUnlocked: true,
5
+ chainId: "0x01",
6
+ networkVersion: "0x01",
7
+ accounts: []
8
+ };
9
+ return end();
10
+ }
11
+
12
+
13
+
14
+ exports.getProviderStateHandler = getProviderStateHandler;
15
+ //# sourceMappingURL=chunk-3FNLFVV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/middleware/internal-methods/provider-state.ts"],"names":[],"mappings":";AAqBA,eAAsB,wBACpB,UACA,UACA,OACA,KACA;AAGA,WAAS,SAAS;AAAA,IAChB,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,UAAU,CAAC;AAAA,EACb;AAEA,SAAO,IAAI;AACb","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport type {\n Json,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\n/**\n * A mock handler for metamask_getProviderState that always returns a specific\n * hardcoded result.\n *\n * @param _request - Incoming JSON-RPC request. Ignored for this specific\n * handler.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n */\nexport async function getProviderStateHandler(\n _request: JsonRpcRequest,\n response: PendingJsonRpcResponse<Json>,\n _next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n) {\n // For now this will return a mocked result, this should probably match\n // whatever network the simulation is using.\n response.result = {\n isUnlocked: true,\n chainId: '0x01',\n networkVersion: '0x01',\n accounts: [],\n };\n\n return end();\n}\n"]}
@@ -0,0 +1,104 @@
1
+ import {
2
+ getOptions
3
+ } from "./chunk-B73P64TE.mjs";
4
+ import {
5
+ handleInstallSnap
6
+ } from "./chunk-LHU3EHLI.mjs";
7
+ import {
8
+ startServer
9
+ } from "./chunk-SLU4FNKX.mjs";
10
+ import {
11
+ rootLogger
12
+ } from "./chunk-J4ZPUCLX.mjs";
13
+ import {
14
+ __privateAdd,
15
+ __privateGet,
16
+ __privateSet
17
+ } from "./chunk-JMDSN227.mjs";
18
+
19
+ // src/environment.ts
20
+ import { assert, createModuleLogger } from "@metamask/utils";
21
+ import NodeEnvironment from "jest-environment-node";
22
+ var log = createModuleLogger(rootLogger, "environment");
23
+ var _options, _server, _instance;
24
+ var SnapsEnvironment = class extends NodeEnvironment {
25
+ /**
26
+ * Constructor.
27
+ *
28
+ * @param options - The environment options.
29
+ * @param context - The environment context.
30
+ */
31
+ constructor(options, context) {
32
+ super(options, context);
33
+ __privateAdd(this, _options, void 0);
34
+ __privateAdd(this, _server, void 0);
35
+ __privateAdd(this, _instance, void 0);
36
+ __privateSet(this, _options, getOptions(options.projectConfig.testEnvironmentOptions));
37
+ }
38
+ /**
39
+ * Set up the environment. This starts the built-in HTTP server, and creates a
40
+ * new browser instance.
41
+ */
42
+ async setup() {
43
+ await super.setup();
44
+ if (__privateGet(this, _options).server.enabled) {
45
+ log("Starting server.");
46
+ __privateSet(this, _server, await startServer(__privateGet(this, _options).server));
47
+ }
48
+ this.global.snapsEnvironment = this;
49
+ }
50
+ /**
51
+ * Tear down the environment. This closes the browser, and stops the built-in
52
+ * HTTP server.
53
+ */
54
+ async teardown() {
55
+ await __privateGet(this, _instance)?.executionService.terminateAllSnaps();
56
+ __privateGet(this, _server)?.close();
57
+ await super.teardown();
58
+ }
59
+ /**
60
+ * Install a Snap in the environment. This will terminate any previously
61
+ * installed Snaps, and run the Snap code in a new execution service.
62
+ *
63
+ * @param snapId - The ID of the Snap to install.
64
+ * @param options - The options to use when installing the Snap.
65
+ * @param options.executionService - The execution service to use.
66
+ * @param options.executionServiceOptions - The options to use when creating the
67
+ * execution service, if any. This should only include options specific to the
68
+ * provided execution service.
69
+ * @param options.options - The simulation options.
70
+ * @template Service - The type of the execution service.
71
+ * @returns The installed Snap.
72
+ */
73
+ async installSnap(snapId = this.snapId, options = {}) {
74
+ await __privateGet(this, _instance)?.executionService.terminateAllSnaps();
75
+ __privateSet(this, _instance, await handleInstallSnap(snapId, options));
76
+ return __privateGet(this, _instance);
77
+ }
78
+ /**
79
+ * Get the snap ID for the current environment, which is used if no snap ID is
80
+ * passed to {@link installSnap}. This assumes that the built-in server is
81
+ * running.
82
+ *
83
+ * @returns The snap ID.
84
+ * @throws If the server is not running.
85
+ */
86
+ get snapId() {
87
+ assert(
88
+ __privateGet(this, _server),
89
+ "You must specify a snap ID, because the built-in server is not running."
90
+ );
91
+ const { port } = __privateGet(this, _server).address();
92
+ return `local:http://localhost:${port}`;
93
+ }
94
+ };
95
+ _options = new WeakMap();
96
+ _server = new WeakMap();
97
+ _instance = new WeakMap();
98
+ var environment_default = SnapsEnvironment;
99
+
100
+ export {
101
+ SnapsEnvironment,
102
+ environment_default
103
+ };
104
+ //# sourceMappingURL=chunk-4SC3HVI5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/environment.ts"],"sourcesContent":["import type {\n EnvironmentContext,\n JestEnvironmentConfig,\n} from '@jest/environment';\nimport type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { assert, createModuleLogger } from '@metamask/utils';\nimport type { Server } from 'http';\nimport NodeEnvironment from 'jest-environment-node';\nimport type { AddressInfo } from 'net';\n\nimport type { InstalledSnap, InstallSnapOptions } from './internals';\nimport { handleInstallSnap, rootLogger, startServer } from './internals';\nimport type { SnapsEnvironmentOptions } from './options';\nimport { getOptions } from './options';\n\n/* eslint-disable */\ndeclare global {\n const snapsEnvironment: SnapsEnvironment;\n}\n/* eslint-enable */\n\nconst log = createModuleLogger(rootLogger, 'environment');\n\nexport class SnapsEnvironment extends NodeEnvironment {\n #options: SnapsEnvironmentOptions;\n\n #server: Server | undefined;\n\n #instance: InstalledSnap | undefined;\n\n /**\n * Constructor.\n *\n * @param options - The environment options.\n * @param context - The environment context.\n */\n constructor(options: JestEnvironmentConfig, context: EnvironmentContext) {\n super(options, context);\n this.#options = getOptions(options.projectConfig.testEnvironmentOptions);\n }\n\n /**\n * Set up the environment. This starts the built-in HTTP server, and creates a\n * new browser instance.\n */\n async setup() {\n await super.setup();\n\n if (this.#options.server.enabled) {\n log('Starting server.');\n this.#server = await startServer(this.#options.server);\n }\n\n this.global.snapsEnvironment = this;\n }\n\n /**\n * Tear down the environment. This closes the browser, and stops the built-in\n * HTTP server.\n */\n async teardown() {\n await this.#instance?.executionService.terminateAllSnaps();\n this.#server?.close();\n await super.teardown();\n }\n\n /**\n * Install a Snap in the environment. This will terminate any previously\n * installed Snaps, and run the Snap code in a new execution service.\n *\n * @param snapId - The ID of the Snap to install.\n * @param options - The options to use when installing the Snap.\n * @param options.executionService - The execution service to use.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @template Service - The type of the execution service.\n * @returns The installed Snap.\n */\n async installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n >(\n snapId: string = this.snapId,\n options: Partial<InstallSnapOptions<Service>> = {},\n ) {\n await this.#instance?.executionService.terminateAllSnaps();\n this.#instance = await handleInstallSnap(snapId as SnapId, options);\n return this.#instance;\n }\n\n /**\n * Get the snap ID for the current environment, which is used if no snap ID is\n * passed to {@link installSnap}. This assumes that the built-in server is\n * running.\n *\n * @returns The snap ID.\n * @throws If the server is not running.\n */\n get snapId() {\n assert(\n this.#server,\n 'You must specify a snap ID, because the built-in server is not running.',\n );\n\n const { port } = this.#server.address() as AddressInfo;\n return `local:http://localhost:${port}`;\n }\n}\n\nexport default SnapsEnvironment;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,SAAS,QAAQ,0BAA0B;AAE3C,OAAO,qBAAqB;AAc5B,IAAM,MAAM,mBAAmB,YAAY,aAAa;AAtBxD;AAwBO,IAAM,mBAAN,cAA+B,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAapD,YAAY,SAAgC,SAA6B;AACvE,UAAM,SAAS,OAAO;AAbxB;AAEA;AAEA;AAUE,uBAAK,UAAW,WAAW,QAAQ,cAAc,sBAAsB;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,QAAQ;AACZ,UAAM,MAAM,MAAM;AAElB,QAAI,mBAAK,UAAS,OAAO,SAAS;AAChC,UAAI,kBAAkB;AACtB,yBAAK,SAAU,MAAM,YAAY,mBAAK,UAAS,MAAM;AAAA,IACvD;AAEA,SAAK,OAAO,mBAAmB;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,WAAW;AACf,UAAM,mBAAK,YAAW,iBAAiB,kBAAkB;AACzD,uBAAK,UAAS,MAAM;AACpB,UAAM,MAAM,SAAS;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,MAAM,YAKJ,SAAiB,KAAK,QACtB,UAAgD,CAAC,GACjD;AACA,UAAM,mBAAK,YAAW,iBAAiB,kBAAkB;AACzD,uBAAK,WAAY,MAAM,kBAAkB,QAAkB,OAAO;AAClE,WAAO,mBAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,SAAS;AACX;AAAA,MACE,mBAAK;AAAA,MACL;AAAA,IACF;AAEA,UAAM,EAAE,KAAK,IAAI,mBAAK,SAAQ,QAAQ;AACtC,WAAO,0BAA0B,IAAI;AAAA,EACvC;AACF;AAtFE;AAEA;AAEA;AAoFF,IAAO,sBAAQ;","names":[]}
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-55J6XMHW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,69 @@
1
+ // src/internals/simulation/methods/constants.ts
2
+ var EXCLUDED_SNAP_ENDOWMENTS = [];
3
+ var EXCLUDED_SNAP_PERMISSIONS = [];
4
+ var UNRESTRICTED_METHODS = Object.freeze([
5
+ "eth_blockNumber",
6
+ "eth_call",
7
+ "eth_chainId",
8
+ "eth_coinbase",
9
+ "eth_decrypt",
10
+ "eth_estimateGas",
11
+ "eth_feeHistory",
12
+ "eth_gasPrice",
13
+ "eth_getBalance",
14
+ "eth_getBlockByHash",
15
+ "eth_getBlockByNumber",
16
+ "eth_getBlockTransactionCountByHash",
17
+ "eth_getBlockTransactionCountByNumber",
18
+ "eth_getCode",
19
+ "eth_getEncryptionPublicKey",
20
+ "eth_getFilterChanges",
21
+ "eth_getFilterLogs",
22
+ "eth_getLogs",
23
+ "eth_getProof",
24
+ "eth_getStorageAt",
25
+ "eth_getTransactionByBlockHashAndIndex",
26
+ "eth_getTransactionByBlockNumberAndIndex",
27
+ "eth_getTransactionByHash",
28
+ "eth_getTransactionCount",
29
+ "eth_getTransactionReceipt",
30
+ "eth_getUncleByBlockHashAndIndex",
31
+ "eth_getUncleByBlockNumberAndIndex",
32
+ "eth_getUncleCountByBlockHash",
33
+ "eth_getUncleCountByBlockNumber",
34
+ "eth_getWork",
35
+ "eth_hashrate",
36
+ "eth_mining",
37
+ "eth_newBlockFilter",
38
+ "eth_newFilter",
39
+ "eth_newPendingTransactionFilter",
40
+ "eth_protocolVersion",
41
+ "eth_sendRawTransaction",
42
+ "eth_sendTransaction",
43
+ "eth_sign",
44
+ "eth_signTypedData",
45
+ "eth_signTypedData_v1",
46
+ "eth_signTypedData_v3",
47
+ "eth_signTypedData_v4",
48
+ "eth_submitHashrate",
49
+ "eth_submitWork",
50
+ "eth_syncing",
51
+ "eth_uninstallFilter",
52
+ "metamask_getProviderState",
53
+ "metamask_watchAsset",
54
+ "net_listening",
55
+ "net_peerCount",
56
+ "net_version",
57
+ "personal_ecRecover",
58
+ "personal_sign",
59
+ "wallet_watchAsset",
60
+ "web3_clientVersion",
61
+ "web3_sha3"
62
+ ]);
63
+
64
+ export {
65
+ EXCLUDED_SNAP_ENDOWMENTS,
66
+ EXCLUDED_SNAP_PERMISSIONS,
67
+ UNRESTRICTED_METHODS
68
+ };
69
+ //# sourceMappingURL=chunk-57SGDM5B.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/constants.ts"],"sourcesContent":["export const EXCLUDED_SNAP_ENDOWMENTS = [];\n\nexport const EXCLUDED_SNAP_PERMISSIONS = [];\n\n/**\n * All unrestricted methods recognized by the `PermissionController`.\n * Unrestricted methods are ignored by the permission system, but every\n * JSON-RPC request seen by the permission system must correspond to a\n * restricted or unrestricted method, or the request will be rejected with a\n * \"method not found\" error.\n */\nexport const UNRESTRICTED_METHODS = Object.freeze([\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_coinbase',\n 'eth_decrypt',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getEncryptionPublicKey',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleByBlockHashAndIndex',\n 'eth_getUncleByBlockNumberAndIndex',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_getWork',\n 'eth_hashrate',\n 'eth_mining',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_protocolVersion',\n 'eth_sendRawTransaction',\n 'eth_sendTransaction',\n 'eth_sign',\n 'eth_signTypedData',\n 'eth_signTypedData_v1',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_submitHashrate',\n 'eth_submitWork',\n 'eth_syncing',\n 'eth_uninstallFilter',\n 'metamask_getProviderState',\n 'metamask_watchAsset',\n 'net_listening',\n 'net_peerCount',\n 'net_version',\n 'personal_ecRecover',\n 'personal_sign',\n 'wallet_watchAsset',\n 'web3_clientVersion',\n 'web3_sha3',\n]);\n"],"mappings":";AAAO,IAAM,2BAA2B,CAAC;AAElC,IAAM,4BAA4B,CAAC;AASnC,IAAM,uBAAuB,OAAO,OAAO;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkHNH5UAKZjs = require('./chunk-HNH5UAKZ.js');
4
+
5
+
6
+ var _chunkTZB4LBT7js = require('./chunk-TZB4LBT7.js');
7
+
8
+
9
+
10
+
11
+ var _chunkT2BE4O5Hjs = require('./chunk-T2BE4O5H.js');
12
+
13
+
14
+
15
+ var _chunkLACTK6EOjs = require('./chunk-LACTK6EO.js');
16
+
17
+
18
+ var _chunk2JTGBHPRjs = require('./chunk-2JTGBHPR.js');
19
+
20
+ // src/helpers.ts
21
+ var _snapsutils = require('@metamask/snaps-utils');
22
+ var _utils = require('@metamask/utils');
23
+ var _superstruct = require('superstruct');
24
+ var log = _utils.createModuleLogger.call(void 0, _chunkTZB4LBT7js.rootLogger, "helpers");
25
+ function getOptions(snapId, options) {
26
+ if (typeof snapId === "object") {
27
+ return [void 0, snapId];
28
+ }
29
+ return [snapId, options];
30
+ }
31
+ async function installSnap(snapId, options = {}) {
32
+ const resolvedOptions = getOptions(snapId, options);
33
+ const {
34
+ snapId: installedSnapId,
35
+ store,
36
+ executionService,
37
+ runSaga,
38
+ controllerMessenger
39
+ } = await _chunk2JTGBHPRjs.getEnvironment.call(void 0, ).installSnap(...resolvedOptions);
40
+ const onTransaction = async (request) => {
41
+ log("Sending transaction %o.", request);
42
+ const {
43
+ origin: transactionOrigin,
44
+ chainId,
45
+ ...transaction
46
+ } = _superstruct.create.call(void 0, request, _chunkT2BE4O5Hjs.TransactionOptionsStruct);
47
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
48
+ snapId: installedSnapId,
49
+ store,
50
+ executionService,
51
+ runSaga,
52
+ controllerMessenger,
53
+ handler: _snapsutils.HandlerType.OnTransaction,
54
+ request: {
55
+ method: "",
56
+ params: {
57
+ chainId,
58
+ transaction,
59
+ transactionOrigin
60
+ }
61
+ }
62
+ });
63
+ };
64
+ const onCronjob = (request) => {
65
+ log("Running cronjob %o.", options);
66
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
67
+ snapId: installedSnapId,
68
+ store,
69
+ executionService,
70
+ controllerMessenger,
71
+ runSaga,
72
+ handler: _snapsutils.HandlerType.OnCronjob,
73
+ request
74
+ });
75
+ };
76
+ return {
77
+ request: (request) => {
78
+ log("Sending request %o.", request);
79
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
80
+ snapId: installedSnapId,
81
+ store,
82
+ executionService,
83
+ controllerMessenger,
84
+ runSaga,
85
+ handler: _snapsutils.HandlerType.OnRpcRequest,
86
+ request
87
+ });
88
+ },
89
+ onTransaction,
90
+ sendTransaction: onTransaction,
91
+ onSignature: async (request) => {
92
+ log("Requesting signature %o.", request);
93
+ const { origin: signatureOrigin, ...signature } = _superstruct.create.call(void 0,
94
+ request,
95
+ _chunkT2BE4O5Hjs.SignatureOptionsStruct
96
+ );
97
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
98
+ snapId: installedSnapId,
99
+ store,
100
+ executionService,
101
+ controllerMessenger,
102
+ runSaga,
103
+ handler: _snapsutils.HandlerType.OnSignature,
104
+ request: {
105
+ method: "",
106
+ params: {
107
+ signature,
108
+ signatureOrigin
109
+ }
110
+ }
111
+ });
112
+ },
113
+ onCronjob,
114
+ runCronjob: onCronjob,
115
+ onHomePage: async () => {
116
+ log("Rendering home page.");
117
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
118
+ snapId: installedSnapId,
119
+ store,
120
+ executionService,
121
+ controllerMessenger,
122
+ runSaga,
123
+ handler: _snapsutils.HandlerType.OnHomePage,
124
+ request: {
125
+ method: ""
126
+ }
127
+ });
128
+ },
129
+ mockJsonRpc(mock) {
130
+ log("Mocking JSON-RPC request %o.", mock);
131
+ const { method, result } = _superstruct.create.call(void 0, mock, _chunkT2BE4O5Hjs.JsonRpcMockOptionsStruct);
132
+ store.dispatch(_chunkLACTK6EOjs.addJsonRpcMock.call(void 0, { method, result }));
133
+ return {
134
+ unmock() {
135
+ log("Unmocking JSON-RPC request %o.", mock);
136
+ store.dispatch(_chunkLACTK6EOjs.removeJsonRpcMock.call(void 0, method));
137
+ }
138
+ };
139
+ },
140
+ close: async () => {
141
+ log("Closing execution service.");
142
+ _snapsutils.logInfo.call(void 0,
143
+ "Calling `snap.close()` is deprecated, and will be removed in a future release. Snaps are now automatically closed when the test ends."
144
+ );
145
+ await executionService.terminateAllSnaps();
146
+ }
147
+ };
148
+ }
149
+
150
+
151
+
152
+ exports.installSnap = installSnap;
153
+ //# sourceMappingURL=chunk-5PLDD7ZC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA,SAAS,aAAa,eAAe;AACrC,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAuBvB,IAAM,MAAM,mBAAmB,YAAY,SAAS;AASpD,SAAS,WAKP,QACA,SAC4D;AAC5D,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO,CAAC,QAAW,MAAM;AAAA,EAC3B;AAEA,SAAO,CAAC,QAAQ,OAAO;AACzB;AAqIA,eAAsB,YAKpB,QACA,UAAgD,CAAC,GAClC;AACf,QAAM,kBAAkB,WAAW,QAAQ,OAAO;AAClD,QAAM;AAAA,IACJ,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,MAAM,eAAe,EAAE,YAAY,GAAG,eAAe;AAEzD,QAAM,gBAAgB,OACpB,YAC0B;AAC1B,QAAI,2BAA2B,OAAO;AAEtC,UAAM;AAAA,MACJ,QAAQ;AAAA,MACR;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OAAO,SAAS,wBAAwB;AAE5C,WAAO,cAAc;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,YAAY;AAAA,MACrB,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,YAAY,CAAC,YAA4B;AAC7C,QAAI,uBAAuB,OAAO;AAElC,WAAO,cAAc;AAAA,MACnB,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,YAAY;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,SAAS,CAAC,YAAY;AACpB,UAAI,uBAAuB,OAAO;AAElC,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA;AAAA,IACA,iBAAiB;AAAA,IAEjB,aAAa,OAAO,YAA4C;AAC9D,UAAI,4BAA4B,OAAO;AAEvC,YAAM,EAAE,QAAQ,iBAAiB,GAAG,UAAU,IAAI;AAAA,QAChD;AAAA,QACA;AAAA,MACF;AAEA,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB,SAAS;AAAA,UACP,QAAQ;AAAA,UACR,QAAQ;AAAA,YACN;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA;AAAA,IACA,YAAY;AAAA,IAEZ,YAAY,YAAmC;AAC7C,UAAI,sBAAsB;AAE1B,aAAO,cAAc;AAAA,QACnB,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,YAAY;AAAA,QACrB,SAAS;AAAA,UACP,QAAQ;AAAA,QACV;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IAEA,YAAY,MAA0B;AACpC,UAAI,gCAAgC,IAAI;AAExC,YAAM,EAAE,QAAQ,OAAO,IAAI,OAAO,MAAM,wBAAwB;AAChE,YAAM,SAAS,eAAe,EAAE,QAAQ,OAAO,CAAC,CAAC;AAEjD,aAAO;AAAA,QACL,SAAS;AACP,cAAI,kCAAkC,IAAI;AAE1C,gBAAM,SAAS,kBAAkB,MAAM,CAAC;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAO,YAAY;AACjB,UAAI,4BAA4B;AAChC;AAAA,QACE;AAAA,MACF;AAEA,YAAM,iBAAiB,kBAAkB;AAAA,IAC3C;AAAA,EACF;AACF","sourcesContent":["import type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { HandlerType, logInfo } from '@metamask/snaps-utils';\nimport { createModuleLogger } from '@metamask/utils';\nimport { create } from 'superstruct';\n\nimport {\n rootLogger,\n handleRequest,\n TransactionOptionsStruct,\n getEnvironment,\n JsonRpcMockOptionsStruct,\n SignatureOptionsStruct,\n} from './internals';\nimport type { InstallSnapOptions } from './internals';\nimport {\n addJsonRpcMock,\n removeJsonRpcMock,\n} from './internals/simulation/store/mocks';\nimport type {\n CronjobOptions,\n JsonRpcMockOptions,\n Snap,\n SnapResponse,\n TransactionOptions,\n} from './types';\n\nconst log = createModuleLogger(rootLogger, 'helpers');\n\n/**\n * Get the options for {@link installSnap}.\n *\n * @param snapId - The ID of the Snap, or the options.\n * @param options - The options, if any.\n * @returns The options.\n */\nfunction getOptions<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId | Partial<InstallSnapOptions<Service>> | undefined,\n options: Partial<InstallSnapOptions<Service>>,\n): [SnapId | undefined, Partial<InstallSnapOptions<Service>>] {\n if (typeof snapId === 'object') {\n return [undefined, snapId];\n }\n\n return [snapId, options];\n}\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap(): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(options: Partial<InstallSnapOptions<Service>>): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param snapId - The ID of the snap, including the prefix (`local:`). Defaults\n * to the URL of the built-in server, if it is running. This supports both\n * local snap IDs and NPM snap IDs.\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId,\n options?: Partial<InstallSnapOptions<Service>>,\n): Promise<Snap>;\n\n/**\n * Load a snap into the environment. This is the main entry point for testing\n * snaps: It returns a {@link Snap} object that can be used to interact with the\n * snap.\n *\n * @example\n * import { installSnap } from '@metamask/snaps-jest';\n *\n * describe('My Snap', () => {\n * it('should do something', async () => {\n * const { request } = await installSnap('local:my-snap');\n * const response = await request({\n * method: 'foo',\n * params: ['bar'],\n * });\n * expect(response).toRespondWith('bar');\n * });\n * });\n * @param snapId - The ID of the snap, including the prefix (`local:`). Defaults\n * to the URL of the built-in server, if it is running. This supports both\n * local snap IDs and NPM snap IDs.\n * @param options - The options to use.\n * @param options.executionService - The execution service to use. Defaults to\n * {@link NodeThreadExecutionService}. You do not need to provide this unless\n * you are testing a custom execution service.\n * @param options.executionServiceOptions - The options to use when creating the\n * execution service, if any. This should only include options specific to the\n * provided execution service.\n * @param options.options - The simulation options.\n * @returns The snap.\n * @throws If the built-in server is not running, and no snap ID is provided.\n */\nexport async function installSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId?: SnapId | Partial<InstallSnapOptions<Service>>,\n options: Partial<InstallSnapOptions<Service>> = {},\n): Promise<Snap> {\n const resolvedOptions = getOptions(snapId, options);\n const {\n snapId: installedSnapId,\n store,\n executionService,\n runSaga,\n controllerMessenger,\n } = await getEnvironment().installSnap(...resolvedOptions);\n\n const onTransaction = async (\n request: TransactionOptions,\n ): Promise<SnapResponse> => {\n log('Sending transaction %o.', request);\n\n const {\n origin: transactionOrigin,\n chainId,\n ...transaction\n } = create(request, TransactionOptionsStruct);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n runSaga,\n controllerMessenger,\n handler: HandlerType.OnTransaction,\n request: {\n method: '',\n params: {\n chainId,\n transaction,\n transactionOrigin,\n },\n },\n });\n };\n\n const onCronjob = (request: CronjobOptions) => {\n log('Running cronjob %o.', options);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnCronjob,\n request,\n });\n };\n\n return {\n request: (request) => {\n log('Sending request %o.', request);\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnRpcRequest,\n request,\n });\n },\n\n onTransaction,\n sendTransaction: onTransaction,\n\n onSignature: async (request: unknown): Promise<SnapResponse> => {\n log('Requesting signature %o.', request);\n\n const { origin: signatureOrigin, ...signature } = create(\n request,\n SignatureOptionsStruct,\n );\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnSignature,\n request: {\n method: '',\n params: {\n signature,\n signatureOrigin,\n },\n },\n });\n },\n\n onCronjob,\n runCronjob: onCronjob,\n\n onHomePage: async (): Promise<SnapResponse> => {\n log('Rendering home page.');\n\n return handleRequest({\n snapId: installedSnapId,\n store,\n executionService,\n controllerMessenger,\n runSaga,\n handler: HandlerType.OnHomePage,\n request: {\n method: '',\n },\n });\n },\n\n mockJsonRpc(mock: JsonRpcMockOptions) {\n log('Mocking JSON-RPC request %o.', mock);\n\n const { method, result } = create(mock, JsonRpcMockOptionsStruct);\n store.dispatch(addJsonRpcMock({ method, result }));\n\n return {\n unmock() {\n log('Unmocking JSON-RPC request %o.', mock);\n\n store.dispatch(removeJsonRpcMock(method));\n },\n };\n },\n\n close: async () => {\n log('Closing execution service.');\n logInfo(\n 'Calling `snap.close()` is deprecated, and will be removed in a future release. Snaps are now automatically closed when the test ends.',\n );\n\n await executionService.terminateAllSnaps();\n },\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-5ZFHFICZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-6HHV6YFQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,11 @@
1
+ // src/internals/simulation/constants.ts
2
+ var DEFAULT_SRP = "test test test test test test test test test test test ball";
3
+ var DEFAULT_LOCALE = "en";
4
+ var DEFAULT_JSON_RPC_ENDPOINT = "https://cloudflare-eth.com/";
5
+
6
+ export {
7
+ DEFAULT_SRP,
8
+ DEFAULT_LOCALE,
9
+ DEFAULT_JSON_RPC_ENDPOINT
10
+ };
11
+ //# sourceMappingURL=chunk-6KXCBUNZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/constants.ts"],"sourcesContent":["/**\n * A secret recovery phrase that is used for testing purposes. Do not use this\n * to store any real funds!\n */\nexport const DEFAULT_SRP =\n 'test test test test test test test test test test test ball';\n\n/**\n * The default locale.\n */\nexport const DEFAULT_LOCALE = 'en';\n\n/**\n * The default JSON-RPC endpoint for Ethereum requests.\n */\nexport const DEFAULT_JSON_RPC_ENDPOINT = 'https://cloudflare-eth.com/';\n"],"mappings":";AAIO,IAAM,cACX;AAKK,IAAM,iBAAiB;AAKvB,IAAM,4BAA4B;","names":[]}
@@ -0,0 +1,76 @@
1
+ import {
2
+ getCurrentInterface,
3
+ resolveInterface,
4
+ setInterface
5
+ } from "./chunk-74TIKA2T.mjs";
6
+
7
+ // src/internals/simulation/interface.ts
8
+ import { DialogType } from "@metamask/snaps-sdk";
9
+ import { put, select, take } from "redux-saga/effects";
10
+ function getInterfaceResponse(runSaga, type, content) {
11
+ switch (type) {
12
+ case DialogType.Alert:
13
+ return {
14
+ type,
15
+ content,
16
+ ok: resolveWith(runSaga, null)
17
+ };
18
+ case DialogType.Confirmation:
19
+ return {
20
+ type,
21
+ content,
22
+ ok: resolveWith(runSaga, true),
23
+ cancel: resolveWith(runSaga, false)
24
+ };
25
+ case DialogType.Prompt:
26
+ return {
27
+ type,
28
+ content,
29
+ ok: resolveWithInput(runSaga),
30
+ cancel: resolveWith(runSaga, null)
31
+ };
32
+ default:
33
+ throw new Error(`Unknown or unsupported dialog type: "${String(type)}".`);
34
+ }
35
+ }
36
+ function resolveWith(runSaga, value) {
37
+ function* resolveWithSaga() {
38
+ yield put(resolveInterface(value));
39
+ }
40
+ return async () => {
41
+ await runSaga(resolveWithSaga).toPromise();
42
+ };
43
+ }
44
+ function resolveWithInput(runSaga) {
45
+ function* resolveWithSaga(value) {
46
+ yield put(resolveInterface(value));
47
+ }
48
+ return async (value = "") => {
49
+ await runSaga(resolveWithSaga, value).toPromise();
50
+ };
51
+ }
52
+ function* getInterface(runSaga, snapId, controllerMessenger) {
53
+ const currentInterface = yield select(getCurrentInterface);
54
+ if (currentInterface) {
55
+ const { content: content2 } = controllerMessenger.call(
56
+ "SnapInterfaceController:getInterface",
57
+ snapId,
58
+ currentInterface.id
59
+ );
60
+ return getInterfaceResponse(runSaga, currentInterface.type, content2);
61
+ }
62
+ const { payload } = yield take(setInterface.type);
63
+ const { type, id } = payload;
64
+ const { content } = controllerMessenger.call(
65
+ "SnapInterfaceController:getInterface",
66
+ snapId,
67
+ id
68
+ );
69
+ return getInterfaceResponse(runSaga, type, content);
70
+ }
71
+
72
+ export {
73
+ getInterfaceResponse,
74
+ getInterface
75
+ };
76
+ //# sourceMappingURL=chunk-6MVV44M5.mjs.map