@metamask/snaps-jest 6.0.0 → 6.0.2

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 (274) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/{chunk-Y5NWZU43.js → chunk-265BMFM5.js} +1 -1
  3. package/dist/{chunk-7JLVQJK7.js → chunk-2JTGBHPR.js} +1 -1
  4. package/dist/{chunk-VYKYQSUI.mjs → chunk-2X23DUDP.mjs} +1 -1
  5. package/dist/{chunk-ON6M4WG5.js → chunk-2YE2P5BZ.js} +1 -1
  6. package/dist/{chunk-2KLZ7GOW.js → chunk-3FNLFVV2.js} +1 -1
  7. package/dist/{chunk-QUUILTDY.mjs → chunk-3HU56QS3.mjs} +10 -8
  8. package/dist/{chunk-QUUILTDY.mjs.map → chunk-3HU56QS3.mjs.map} +1 -1
  9. package/dist/{chunk-QFPRGU5L.mjs → chunk-3SNZ4SPY.mjs} +5 -5
  10. package/dist/chunk-55J6XMHW.js +1 -0
  11. package/dist/{chunk-I5LVU57H.mjs → chunk-57SGDM5B.mjs} +1 -1
  12. package/dist/{chunk-5IUHGC5S.js → chunk-5PLDD7ZC.js} +18 -18
  13. package/dist/chunk-5ZFHFICZ.mjs +1 -0
  14. package/dist/chunk-6HHV6YFQ.mjs +1 -0
  15. package/dist/{chunk-KGIWSGTT.js → chunk-6HW5NGCB.js} +12 -8
  16. package/dist/chunk-6HW5NGCB.js.map +1 -0
  17. package/dist/{chunk-JXOKRTEH.mjs → chunk-6KXCBUNZ.mjs} +1 -1
  18. package/dist/{chunk-WL2GRM5E.mjs → chunk-6MVV44M5.mjs} +2 -2
  19. package/dist/{chunk-4JUUFDTC.js → chunk-6RXFM4YC.js} +13 -13
  20. package/dist/{chunk-4VCE3DRR.mjs → chunk-74TIKA2T.mjs} +1 -1
  21. package/dist/{chunk-6RDNSELT.mjs → chunk-7BFTEFLS.mjs} +2 -2
  22. package/dist/{chunk-BN5VBVT3.mjs → chunk-7J34R6YW.mjs} +1 -1
  23. package/dist/{chunk-ZZPKZRJQ.mjs → chunk-7VILST6M.mjs} +2 -2
  24. package/dist/{chunk-LD5PSHHT.mjs → chunk-7YD4IW43.mjs} +5 -5
  25. package/dist/{chunk-AKFRQ5EJ.mjs → chunk-ALRZENWP.mjs} +2 -2
  26. package/dist/{chunk-4FCRZDOX.js → chunk-B4QZXXQY.js} +4 -4
  27. package/dist/{chunk-AUB7XPDH.mjs → chunk-B73P64TE.mjs} +1 -1
  28. package/dist/{chunk-JJCX335U.mjs → chunk-BS24WMRW.mjs} +10 -6
  29. package/dist/chunk-BS24WMRW.mjs.map +1 -0
  30. package/dist/{chunk-6IMEYERE.js → chunk-C2ONPIIB.js} +19 -17
  31. package/dist/chunk-C2ONPIIB.js.map +1 -0
  32. package/dist/chunk-DR6Y7IVX.js +1 -0
  33. package/dist/{chunk-3KQYPQZY.js → chunk-EMTW3H54.js} +3 -3
  34. package/dist/{chunk-BJMTD7H2.mjs → chunk-FP4H3ADT.mjs} +2 -2
  35. package/dist/chunk-GECE47HW.js +1 -0
  36. package/dist/{chunk-5O6VBW42.js → chunk-GMTKFAWO.js} +4 -4
  37. package/dist/{chunk-J2ID3DS7.mjs → chunk-H2464AXT.mjs} +1 -1
  38. package/dist/{chunk-EOCDSPT7.mjs → chunk-HBLJOACO.mjs} +8 -8
  39. package/dist/{chunk-3CC2NI7R.js → chunk-HNH5UAKZ.js} +6 -6
  40. package/dist/chunk-HROOL3VI.js +1 -0
  41. package/dist/{chunk-FPFX5AKR.mjs → chunk-IH7UNS5A.mjs} +2 -2
  42. package/dist/{chunk-3KCEPGJA.js → chunk-ISWZ7XZ5.js} +5 -5
  43. package/dist/{chunk-O3VJYBFN.mjs → chunk-IXKO6X55.mjs} +1 -1
  44. package/dist/{chunk-WEI35OIM.mjs → chunk-J4ZPUCLX.mjs} +1 -1
  45. package/dist/chunk-KIQOUUEZ.mjs +1 -0
  46. package/dist/{chunk-HMF2CKYT.mjs → chunk-KNJNL723.mjs} +4 -4
  47. package/dist/{chunk-MSQ7Q2VJ.mjs → chunk-KSIBNOB2.mjs} +1 -1
  48. package/dist/{chunk-34GS3AHA.js → chunk-LACTK6EO.js} +1 -1
  49. package/dist/{chunk-AIZADBRK.mjs → chunk-LB4R3BUA.mjs} +1 -1
  50. package/dist/{chunk-4WCFXE73.js → chunk-LBC2OGSN.js} +1 -1
  51. package/dist/{chunk-VNQIROKZ.js → chunk-LXSNRZV4.js} +21 -21
  52. package/dist/{chunk-HBVDXIVN.mjs → chunk-LYK6EGZU.mjs} +3 -3
  53. package/dist/chunk-MF43OG3Z.mjs +1 -0
  54. package/dist/{chunk-JDN3VGMO.js → chunk-MJHR5RTY.js} +1 -1
  55. package/dist/{chunk-VXQOXWRO.mjs → chunk-MPZOXW6I.mjs} +1 -1
  56. package/dist/{chunk-KPXLJ6RH.js → chunk-N6MAO223.js} +3 -3
  57. package/dist/chunk-NTOY6Y4Q.mjs +1 -0
  58. package/dist/{chunk-DEFFA5IJ.mjs → chunk-ORO3T6BU.mjs} +2 -2
  59. package/dist/{chunk-JA7RJLI7.js → chunk-PZDTZGSI.js} +1 -1
  60. package/dist/{chunk-6KNT4UMX.mjs → chunk-Q2OQXAUM.mjs} +3 -3
  61. package/dist/{chunk-D36QBJ35.js → chunk-RAMAN5RM.js} +5 -5
  62. package/dist/{chunk-AH7YNG6N.js → chunk-RD7GQCPL.js} +1 -1
  63. package/dist/chunk-RQKT6BQ2.mjs +1 -0
  64. package/dist/{chunk-72YN2D26.mjs → chunk-SLU4FNKX.mjs} +2 -2
  65. package/dist/{chunk-RQBZLDXL.js → chunk-T2BE4O5H.js} +1 -1
  66. package/dist/{chunk-2M7WQ26F.js → chunk-T2PHS5FY.js} +1 -1
  67. package/dist/{chunk-LNNKGOHQ.mjs → chunk-TBDYQSRT.mjs} +1 -1
  68. package/dist/{chunk-JGQJFYU4.js → chunk-TO46ICOZ.js} +11 -11
  69. package/dist/chunk-TVD4SWH7.js +16 -0
  70. package/dist/{chunk-MNDF32ZV.js → chunk-TZB4LBT7.js} +1 -1
  71. package/dist/chunk-U5BLLHIU.js +1 -0
  72. package/dist/chunk-V6LFAN3U.mjs +1 -0
  73. package/dist/chunk-VHJZERIC.js +1 -0
  74. package/dist/{chunk-CKOGTHM4.mjs → chunk-VOYBI6T4.mjs} +1 -1
  75. package/dist/{chunk-EFB6AQPB.js → chunk-VXPCUDBI.js} +4 -4
  76. package/dist/{chunk-T4TRX3ZR.js → chunk-WDYPMEZB.js} +1 -1
  77. package/dist/{chunk-OC64PNDU.mjs → chunk-WH5C5WIZ.mjs} +1 -1
  78. package/dist/chunk-WHGYMK5B.js +1 -0
  79. package/dist/{chunk-P7JA42ZC.mjs → chunk-WIFOID2P.mjs} +6 -6
  80. package/dist/{chunk-O4MJRHZD.js → chunk-XAOCS6ZD.js} +1 -1
  81. package/dist/{chunk-VHTVUQWR.mjs → chunk-XK5HPZZC.mjs} +1 -1
  82. package/dist/{chunk-CZQKOZLR.js → chunk-XKJHFUHE.js} +1 -1
  83. package/dist/{chunk-XDZPH5WD.js → chunk-XWGECIXI.js} +7 -7
  84. package/dist/{chunk-SWSSV3LK.js → chunk-Y3JC4WGW.js} +6 -6
  85. package/dist/{chunk-K2KTKFLP.js → chunk-ZAQZRYPW.js} +6 -6
  86. package/dist/chunk-ZG33OGC3.mjs +1 -0
  87. package/dist/chunk-ZTX624YO.js +1 -0
  88. package/dist/environment.js +39 -39
  89. package/dist/environment.mjs +38 -38
  90. package/dist/helpers.js +38 -38
  91. package/dist/helpers.mjs +37 -37
  92. package/dist/index.js +45 -45
  93. package/dist/index.mjs +40 -40
  94. package/dist/internals/environment.js +2 -2
  95. package/dist/internals/environment.mjs +1 -1
  96. package/dist/internals/index.js +37 -37
  97. package/dist/internals/index.mjs +36 -36
  98. package/dist/internals/logger.js +2 -2
  99. package/dist/internals/logger.mjs +1 -1
  100. package/dist/internals/request.js +32 -32
  101. package/dist/internals/request.mjs +31 -31
  102. package/dist/internals/server.js +3 -3
  103. package/dist/internals/server.mjs +2 -2
  104. package/dist/internals/simulation/constants.js +2 -2
  105. package/dist/internals/simulation/constants.mjs +1 -1
  106. package/dist/internals/simulation/controllers.js +18 -18
  107. package/dist/internals/simulation/controllers.mjs +17 -17
  108. package/dist/internals/simulation/files.js +2 -2
  109. package/dist/internals/simulation/files.mjs +1 -1
  110. package/dist/internals/simulation/index.js +31 -31
  111. package/dist/internals/simulation/index.mjs +30 -30
  112. package/dist/internals/simulation/interface.js +8 -8
  113. package/dist/internals/simulation/interface.mjs +7 -7
  114. package/dist/internals/simulation/methods/constants.js +2 -2
  115. package/dist/internals/simulation/methods/constants.mjs +1 -1
  116. package/dist/internals/simulation/methods/hooks/encryption.js +2 -2
  117. package/dist/internals/simulation/methods/hooks/encryption.mjs +1 -1
  118. package/dist/internals/simulation/methods/hooks/get-locale.js +2 -2
  119. package/dist/internals/simulation/methods/hooks/get-locale.mjs +1 -1
  120. package/dist/internals/simulation/methods/hooks/index.js +14 -14
  121. package/dist/internals/simulation/methods/hooks/index.mjs +13 -13
  122. package/dist/internals/simulation/methods/hooks/interface.js +2 -2
  123. package/dist/internals/simulation/methods/hooks/interface.mjs +1 -1
  124. package/dist/internals/simulation/methods/hooks/notifications.js +8 -8
  125. package/dist/internals/simulation/methods/hooks/notifications.mjs +7 -7
  126. package/dist/internals/simulation/methods/hooks/show-dialog.js +8 -8
  127. package/dist/internals/simulation/methods/hooks/show-dialog.mjs +7 -7
  128. package/dist/internals/simulation/methods/hooks/state.js +8 -8
  129. package/dist/internals/simulation/methods/hooks/state.mjs +7 -7
  130. package/dist/internals/simulation/methods/index.js +17 -17
  131. package/dist/internals/simulation/methods/index.mjs +16 -16
  132. package/dist/internals/simulation/methods/specifications.js +16 -16
  133. package/dist/internals/simulation/methods/specifications.mjs +15 -15
  134. package/dist/internals/simulation/middleware/engine.js +9 -9
  135. package/dist/internals/simulation/middleware/engine.mjs +8 -8
  136. package/dist/internals/simulation/middleware/index.js +10 -10
  137. package/dist/internals/simulation/middleware/index.mjs +9 -9
  138. package/dist/internals/simulation/middleware/internal-methods/accounts.js +2 -2
  139. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs +1 -1
  140. package/dist/internals/simulation/middleware/internal-methods/index.js +5 -5
  141. package/dist/internals/simulation/middleware/internal-methods/index.mjs +4 -4
  142. package/dist/internals/simulation/middleware/internal-methods/middleware.js +4 -4
  143. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs +3 -3
  144. package/dist/internals/simulation/middleware/internal-methods/provider-state.js +2 -2
  145. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs +1 -1
  146. package/dist/internals/simulation/middleware/mock.js +3 -3
  147. package/dist/internals/simulation/middleware/mock.mjs +2 -2
  148. package/dist/internals/simulation/options.js +3 -3
  149. package/dist/internals/simulation/options.mjs +2 -2
  150. package/dist/internals/simulation/simulation.js +29 -29
  151. package/dist/internals/simulation/simulation.mjs +28 -28
  152. package/dist/internals/simulation/store/index.js +7 -7
  153. package/dist/internals/simulation/store/index.mjs +6 -6
  154. package/dist/internals/simulation/store/mocks.js +2 -2
  155. package/dist/internals/simulation/store/mocks.mjs +1 -1
  156. package/dist/internals/simulation/store/notifications.js +2 -2
  157. package/dist/internals/simulation/store/notifications.mjs +1 -1
  158. package/dist/internals/simulation/store/state.js +2 -2
  159. package/dist/internals/simulation/store/state.mjs +1 -1
  160. package/dist/internals/simulation/store/store.js +6 -6
  161. package/dist/internals/simulation/store/store.mjs +5 -5
  162. package/dist/internals/simulation/store/ui.js +2 -2
  163. package/dist/internals/simulation/store/ui.mjs +1 -1
  164. package/dist/internals/structs.js +2 -2
  165. package/dist/internals/structs.mjs +1 -1
  166. package/dist/matchers.js +38 -38
  167. package/dist/matchers.mjs +37 -37
  168. package/dist/options.js +2 -2
  169. package/dist/options.mjs +1 -1
  170. package/dist/setup.js +37 -37
  171. package/dist/setup.mjs +37 -37
  172. package/dist/tsconfig.build.tsbuildinfo +1 -1
  173. package/dist/types/internals/structs.d.ts +16 -8
  174. package/dist/types.js +1 -1
  175. package/dist/types.mjs +1 -1
  176. package/package.json +11 -11
  177. package/dist/chunk-3IUQA6YL.mjs +0 -1
  178. package/dist/chunk-3O5OISLU.js +0 -16
  179. package/dist/chunk-3ZW2EE3B.js +0 -1
  180. package/dist/chunk-4HY4SM3A.js +0 -1
  181. package/dist/chunk-6IMEYERE.js.map +0 -1
  182. package/dist/chunk-HBT34TJ2.mjs +0 -1
  183. package/dist/chunk-HP56MLQ3.js +0 -1
  184. package/dist/chunk-I7FLOZU7.mjs +0 -1
  185. package/dist/chunk-JB2H2XEL.mjs +0 -1
  186. package/dist/chunk-JJCX335U.mjs.map +0 -1
  187. package/dist/chunk-JZJWUVD7.mjs +0 -1
  188. package/dist/chunk-KGIWSGTT.js.map +0 -1
  189. package/dist/chunk-QMHWGASM.js +0 -1
  190. package/dist/chunk-QNDLJ2W7.js +0 -1
  191. package/dist/chunk-R7ORBTUD.js +0 -1
  192. package/dist/chunk-S3DHQTXB.js +0 -1
  193. package/dist/chunk-UXHKMILA.mjs +0 -1
  194. package/dist/chunk-VCXM6FKU.mjs +0 -1
  195. package/dist/chunk-YZFWCFMG.js +0 -1
  196. package/dist/chunk-ZCE26WZM.mjs +0 -1
  197. /package/dist/{chunk-Y5NWZU43.js.map → chunk-265BMFM5.js.map} +0 -0
  198. /package/dist/{chunk-7JLVQJK7.js.map → chunk-2JTGBHPR.js.map} +0 -0
  199. /package/dist/{chunk-VYKYQSUI.mjs.map → chunk-2X23DUDP.mjs.map} +0 -0
  200. /package/dist/{chunk-ON6M4WG5.js.map → chunk-2YE2P5BZ.js.map} +0 -0
  201. /package/dist/{chunk-2KLZ7GOW.js.map → chunk-3FNLFVV2.js.map} +0 -0
  202. /package/dist/{chunk-QFPRGU5L.mjs.map → chunk-3SNZ4SPY.mjs.map} +0 -0
  203. /package/dist/{chunk-3ZW2EE3B.js.map → chunk-55J6XMHW.js.map} +0 -0
  204. /package/dist/{chunk-I5LVU57H.mjs.map → chunk-57SGDM5B.mjs.map} +0 -0
  205. /package/dist/{chunk-5IUHGC5S.js.map → chunk-5PLDD7ZC.js.map} +0 -0
  206. /package/dist/{chunk-3IUQA6YL.mjs.map → chunk-5ZFHFICZ.mjs.map} +0 -0
  207. /package/dist/{chunk-HBT34TJ2.mjs.map → chunk-6HHV6YFQ.mjs.map} +0 -0
  208. /package/dist/{chunk-JXOKRTEH.mjs.map → chunk-6KXCBUNZ.mjs.map} +0 -0
  209. /package/dist/{chunk-WL2GRM5E.mjs.map → chunk-6MVV44M5.mjs.map} +0 -0
  210. /package/dist/{chunk-4JUUFDTC.js.map → chunk-6RXFM4YC.js.map} +0 -0
  211. /package/dist/{chunk-4VCE3DRR.mjs.map → chunk-74TIKA2T.mjs.map} +0 -0
  212. /package/dist/{chunk-6RDNSELT.mjs.map → chunk-7BFTEFLS.mjs.map} +0 -0
  213. /package/dist/{chunk-BN5VBVT3.mjs.map → chunk-7J34R6YW.mjs.map} +0 -0
  214. /package/dist/{chunk-ZZPKZRJQ.mjs.map → chunk-7VILST6M.mjs.map} +0 -0
  215. /package/dist/{chunk-LD5PSHHT.mjs.map → chunk-7YD4IW43.mjs.map} +0 -0
  216. /package/dist/{chunk-AKFRQ5EJ.mjs.map → chunk-ALRZENWP.mjs.map} +0 -0
  217. /package/dist/{chunk-4FCRZDOX.js.map → chunk-B4QZXXQY.js.map} +0 -0
  218. /package/dist/{chunk-AUB7XPDH.mjs.map → chunk-B73P64TE.mjs.map} +0 -0
  219. /package/dist/{chunk-4HY4SM3A.js.map → chunk-DR6Y7IVX.js.map} +0 -0
  220. /package/dist/{chunk-3KQYPQZY.js.map → chunk-EMTW3H54.js.map} +0 -0
  221. /package/dist/{chunk-BJMTD7H2.mjs.map → chunk-FP4H3ADT.mjs.map} +0 -0
  222. /package/dist/{chunk-HP56MLQ3.js.map → chunk-GECE47HW.js.map} +0 -0
  223. /package/dist/{chunk-5O6VBW42.js.map → chunk-GMTKFAWO.js.map} +0 -0
  224. /package/dist/{chunk-J2ID3DS7.mjs.map → chunk-H2464AXT.mjs.map} +0 -0
  225. /package/dist/{chunk-EOCDSPT7.mjs.map → chunk-HBLJOACO.mjs.map} +0 -0
  226. /package/dist/{chunk-3CC2NI7R.js.map → chunk-HNH5UAKZ.js.map} +0 -0
  227. /package/dist/{chunk-QMHWGASM.js.map → chunk-HROOL3VI.js.map} +0 -0
  228. /package/dist/{chunk-FPFX5AKR.mjs.map → chunk-IH7UNS5A.mjs.map} +0 -0
  229. /package/dist/{chunk-3KCEPGJA.js.map → chunk-ISWZ7XZ5.js.map} +0 -0
  230. /package/dist/{chunk-O3VJYBFN.mjs.map → chunk-IXKO6X55.mjs.map} +0 -0
  231. /package/dist/{chunk-WEI35OIM.mjs.map → chunk-J4ZPUCLX.mjs.map} +0 -0
  232. /package/dist/{chunk-I7FLOZU7.mjs.map → chunk-KIQOUUEZ.mjs.map} +0 -0
  233. /package/dist/{chunk-HMF2CKYT.mjs.map → chunk-KNJNL723.mjs.map} +0 -0
  234. /package/dist/{chunk-MSQ7Q2VJ.mjs.map → chunk-KSIBNOB2.mjs.map} +0 -0
  235. /package/dist/{chunk-34GS3AHA.js.map → chunk-LACTK6EO.js.map} +0 -0
  236. /package/dist/{chunk-AIZADBRK.mjs.map → chunk-LB4R3BUA.mjs.map} +0 -0
  237. /package/dist/{chunk-4WCFXE73.js.map → chunk-LBC2OGSN.js.map} +0 -0
  238. /package/dist/{chunk-VNQIROKZ.js.map → chunk-LXSNRZV4.js.map} +0 -0
  239. /package/dist/{chunk-HBVDXIVN.mjs.map → chunk-LYK6EGZU.mjs.map} +0 -0
  240. /package/dist/{chunk-JB2H2XEL.mjs.map → chunk-MF43OG3Z.mjs.map} +0 -0
  241. /package/dist/{chunk-JDN3VGMO.js.map → chunk-MJHR5RTY.js.map} +0 -0
  242. /package/dist/{chunk-VXQOXWRO.mjs.map → chunk-MPZOXW6I.mjs.map} +0 -0
  243. /package/dist/{chunk-KPXLJ6RH.js.map → chunk-N6MAO223.js.map} +0 -0
  244. /package/dist/{chunk-JZJWUVD7.mjs.map → chunk-NTOY6Y4Q.mjs.map} +0 -0
  245. /package/dist/{chunk-DEFFA5IJ.mjs.map → chunk-ORO3T6BU.mjs.map} +0 -0
  246. /package/dist/{chunk-JA7RJLI7.js.map → chunk-PZDTZGSI.js.map} +0 -0
  247. /package/dist/{chunk-6KNT4UMX.mjs.map → chunk-Q2OQXAUM.mjs.map} +0 -0
  248. /package/dist/{chunk-D36QBJ35.js.map → chunk-RAMAN5RM.js.map} +0 -0
  249. /package/dist/{chunk-AH7YNG6N.js.map → chunk-RD7GQCPL.js.map} +0 -0
  250. /package/dist/{chunk-UXHKMILA.mjs.map → chunk-RQKT6BQ2.mjs.map} +0 -0
  251. /package/dist/{chunk-72YN2D26.mjs.map → chunk-SLU4FNKX.mjs.map} +0 -0
  252. /package/dist/{chunk-RQBZLDXL.js.map → chunk-T2BE4O5H.js.map} +0 -0
  253. /package/dist/{chunk-2M7WQ26F.js.map → chunk-T2PHS5FY.js.map} +0 -0
  254. /package/dist/{chunk-LNNKGOHQ.mjs.map → chunk-TBDYQSRT.mjs.map} +0 -0
  255. /package/dist/{chunk-JGQJFYU4.js.map → chunk-TO46ICOZ.js.map} +0 -0
  256. /package/dist/{chunk-3O5OISLU.js.map → chunk-TVD4SWH7.js.map} +0 -0
  257. /package/dist/{chunk-MNDF32ZV.js.map → chunk-TZB4LBT7.js.map} +0 -0
  258. /package/dist/{chunk-QNDLJ2W7.js.map → chunk-U5BLLHIU.js.map} +0 -0
  259. /package/dist/{chunk-VCXM6FKU.mjs.map → chunk-V6LFAN3U.mjs.map} +0 -0
  260. /package/dist/{chunk-R7ORBTUD.js.map → chunk-VHJZERIC.js.map} +0 -0
  261. /package/dist/{chunk-CKOGTHM4.mjs.map → chunk-VOYBI6T4.mjs.map} +0 -0
  262. /package/dist/{chunk-EFB6AQPB.js.map → chunk-VXPCUDBI.js.map} +0 -0
  263. /package/dist/{chunk-T4TRX3ZR.js.map → chunk-WDYPMEZB.js.map} +0 -0
  264. /package/dist/{chunk-OC64PNDU.mjs.map → chunk-WH5C5WIZ.mjs.map} +0 -0
  265. /package/dist/{chunk-S3DHQTXB.js.map → chunk-WHGYMK5B.js.map} +0 -0
  266. /package/dist/{chunk-P7JA42ZC.mjs.map → chunk-WIFOID2P.mjs.map} +0 -0
  267. /package/dist/{chunk-O4MJRHZD.js.map → chunk-XAOCS6ZD.js.map} +0 -0
  268. /package/dist/{chunk-VHTVUQWR.mjs.map → chunk-XK5HPZZC.mjs.map} +0 -0
  269. /package/dist/{chunk-CZQKOZLR.js.map → chunk-XKJHFUHE.js.map} +0 -0
  270. /package/dist/{chunk-XDZPH5WD.js.map → chunk-XWGECIXI.js.map} +0 -0
  271. /package/dist/{chunk-SWSSV3LK.js.map → chunk-Y3JC4WGW.js.map} +0 -0
  272. /package/dist/{chunk-K2KTKFLP.js.map → chunk-ZAQZRYPW.js.map} +0 -0
  273. /package/dist/{chunk-ZCE26WZM.mjs.map → chunk-ZG33OGC3.mjs.map} +0 -0
  274. /package/dist/{chunk-YZFWCFMG.js.map → chunk-ZTX624YO.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [6.0.2]
10
+ ### Changed
11
+ - Bump MetaMask dependencies ([#2270](https://github.com/MetaMask/snaps/pull/2270))
12
+ - Bump @metamask/json-rpc-engine from 7.3.2 to 7.3.3 ([#2247](https://github.com/MetaMask/snaps/pull/2247))
13
+
14
+ ## [6.0.1]
15
+ ### Fixed
16
+ - Fix minor build configuration problems ([#2220](https://github.com/MetaMask/snaps/pull/2220))
17
+
9
18
  ## [6.0.0]
10
19
  ### Changed
11
20
  - **BREAKING:** Update ESM build to be fully compliant with the ESM standard ([#2210](https://github.com/MetaMask/snaps/pull/2210))
@@ -103,7 +112,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
103
112
  - The version of the package no longer needs to match the version of all other
104
113
  MetaMask Snaps packages.
105
114
 
106
- [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.0...HEAD
115
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.2...HEAD
116
+ [6.0.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.1...@metamask/snaps-jest@6.0.2
117
+ [6.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@6.0.0...@metamask/snaps-jest@6.0.1
107
118
  [6.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@5.0.0...@metamask/snaps-jest@6.0.0
108
119
  [5.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@4.0.1...@metamask/snaps-jest@5.0.0
109
120
  [4.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-jest@4.0.0...@metamask/snaps-jest@4.0.1
@@ -10,4 +10,4 @@ function getGetLocaleMethodImplementation({
10
10
 
11
11
 
12
12
  exports.getGetLocaleMethodImplementation = getGetLocaleMethodImplementation;
13
- //# sourceMappingURL=chunk-Y5NWZU43.js.map
13
+ //# sourceMappingURL=chunk-265BMFM5.js.map
@@ -11,4 +11,4 @@ function getEnvironment() {
11
11
 
12
12
 
13
13
  exports.getEnvironment = getEnvironment;
14
- //# sourceMappingURL=chunk-7JLVQJK7.js.map
14
+ //# sourceMappingURL=chunk-2JTGBHPR.js.map
@@ -19,4 +19,4 @@ export {
19
19
  encryptImplementation,
20
20
  decryptImplementation
21
21
  };
22
- //# sourceMappingURL=chunk-VYKYQSUI.mjs.map
22
+ //# sourceMappingURL=chunk-2X23DUDP.mjs.map
@@ -33,4 +33,4 @@ var getNotifications = _toolkit.createSelector.call(void 0,
33
33
 
34
34
 
35
35
  exports.notificationsSlice = notificationsSlice; exports.addNotification = addNotification; exports.removeNotification = removeNotification; exports.clearNotifications = clearNotifications; exports.getNotifications = getNotifications;
36
- //# sourceMappingURL=chunk-ON6M4WG5.js.map
36
+ //# sourceMappingURL=chunk-2YE2P5BZ.js.map
@@ -12,4 +12,4 @@ async function getProviderStateHandler(_request, response, _next, end) {
12
12
 
13
13
 
14
14
  exports.getProviderStateHandler = getProviderStateHandler;
15
- //# sourceMappingURL=chunk-2KLZ7GOW.js.map
15
+ //# sourceMappingURL=chunk-3FNLFVV2.js.map
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  createJsonRpcEngine
3
- } from "./chunk-HMF2CKYT.mjs";
3
+ } from "./chunk-KNJNL723.mjs";
4
4
  import {
5
5
  getOptions
6
- } from "./chunk-FPFX5AKR.mjs";
6
+ } from "./chunk-IH7UNS5A.mjs";
7
7
  import {
8
8
  getControllers,
9
9
  registerSnap
10
- } from "./chunk-JJCX335U.mjs";
10
+ } from "./chunk-BS24WMRW.mjs";
11
11
  import {
12
12
  getEndowments
13
- } from "./chunk-EOCDSPT7.mjs";
13
+ } from "./chunk-HBLJOACO.mjs";
14
14
  import {
15
15
  createStore
16
- } from "./chunk-LD5PSHHT.mjs";
16
+ } from "./chunk-7YD4IW43.mjs";
17
17
  import {
18
18
  getSnapFile
19
- } from "./chunk-LNNKGOHQ.mjs";
19
+ } from "./chunk-TBDYQSRT.mjs";
20
20
 
21
21
  // src/internals/simulation/simulation.ts
22
22
  import { ControllerMessenger } from "@metamask/base-controller";
@@ -66,7 +66,9 @@ async function handleInstallSnap(snapId, {
66
66
  const service = new ExecutionService({
67
67
  ...executionServiceOptions,
68
68
  messenger: controllerMessenger.getRestricted({
69
- name: "ExecutionService"
69
+ name: "ExecutionService",
70
+ allowedActions: [],
71
+ allowedEvents: []
70
72
  }),
71
73
  setupSnapProvider: (_snapId, rpcStream) => {
72
74
  const mux = setupMultiplex(rpcStream, "snapStream");
@@ -134,4 +136,4 @@ export {
134
136
  getHooks,
135
137
  registerActions
136
138
  };
137
- //# sourceMappingURL=chunk-QUUILTDY.mjs.map
139
+ //# sourceMappingURL=chunk-3HU56QS3.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internals/simulation/simulation.ts"],"sourcesContent":["import type {\n ActionConstraint,\n EventConstraint,\n} from '@metamask/base-controller';\nimport { ControllerMessenger } from '@metamask/base-controller';\nimport { createEngineStream } from '@metamask/json-rpc-middleware-stream';\nimport { mnemonicPhraseToBytes } from '@metamask/key-tree';\nimport type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport {\n fetchSnap,\n detectSnapLocation,\n NodeThreadExecutionService,\n setupMultiplex,\n} from '@metamask/snaps-controllers/node';\nimport { getEncryptionKey } from '@metamask/snaps-rpc-methods';\nimport type {\n SnapId,\n AuxiliaryFileEncoding,\n Component,\n InterfaceState,\n} from '@metamask/snaps-sdk';\nimport type { FetchedSnapFiles } from '@metamask/snaps-utils';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Duplex } from 'readable-stream';\nimport { pipeline } from 'readable-stream';\n\nimport type { RootControllerMessenger } from './controllers';\nimport { getControllers, registerSnap } from './controllers';\nimport { getSnapFile } from './files';\nimport { getEndowments } from './methods';\nimport { createJsonRpcEngine } from './middleware';\nimport type { SimulationOptions, SimulationUserOptions } from './options';\nimport { getOptions } from './options';\nimport type { RunSagaFunction, Store } from './store';\nimport { createStore } from './store';\n\n/**\n * Options for the execution service, without the options that are shared\n * between all execution services.\n *\n * @template Service - The type of the execution service, i.e., the class that\n * creates the execution service.\n */\nexport type ExecutionServiceOptions<\n Service extends new (...args: any[]) => any,\n> = Omit<\n ConstructorParameters<Service>[0],\n keyof ConstructorParameters<typeof AbstractExecutionService<unknown>>[0]\n>;\n\n/**\n * The options for running a Snap in a simulated environment.\n *\n * @property executionService - The execution service to use.\n * @property 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 * @property options - The simulation options.\n * @template Service - The type of the execution service.\n */\nexport type InstallSnapOptions<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService<unknown>\n >,\n> = ExecutionServiceOptions<Service> extends Record<string, never>\n ? {\n executionService: Service;\n executionServiceOptions?: ExecutionServiceOptions<Service>;\n options?: SimulationUserOptions;\n }\n : {\n executionService: Service;\n executionServiceOptions: ExecutionServiceOptions<Service>;\n options?: SimulationUserOptions;\n };\n\nexport type InstalledSnap = {\n snapId: SnapId;\n store: Store;\n executionService: InstanceType<typeof AbstractExecutionService>;\n controllerMessenger: ControllerMessenger<ActionConstraint, EventConstraint>;\n runSaga: RunSagaFunction;\n};\n\nexport type MiddlewareHooks = {\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 /**\n * A hook that returns the Snap's auxiliary file for the given path.\n *\n * @param path - The path of the auxiliary file to get.\n * @param encoding - The encoding to use when returning the file.\n * @returns The Snap's auxiliary file for the given path.\n */\n getSnapFile: (\n path: string,\n encoding: AuxiliaryFileEncoding,\n ) => Promise<string | null>;\n\n /**\n * A hook that returns whether the client is locked or not.\n *\n * @returns A boolean flag signaling whether the client is locked.\n */\n getIsLocked: () => boolean;\n createInterface: (content: Component) => Promise<string>;\n updateInterface: (id: string, content: Component) => Promise<void>;\n getInterfaceState: (id: string) => InterfaceState;\n};\n\n/**\n * Install a Snap in a simulated environment. This will fetch the Snap files,\n * create a Redux store, set up the controllers and JSON-RPC stack, register the\n * Snap, and run the Snap code in the 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 */\nexport async function handleInstallSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId,\n {\n executionService,\n executionServiceOptions,\n options: rawOptions = {},\n }: Partial<InstallSnapOptions<Service>> = {},\n): Promise<InstalledSnap> {\n const options = getOptions(rawOptions);\n\n // Fetch Snap files.\n const location = detectSnapLocation(snapId, {\n allowLocal: true,\n });\n\n const snapFiles = await fetchSnap(snapId, location);\n\n // Create Redux store.\n const password = await getEncryptionKey({\n mnemonicPhrase: mnemonicPhraseToBytes(options.secretRecoveryPhrase),\n snapId,\n });\n\n const { store, runSaga } = createStore(password, options);\n\n const controllerMessenger = new ControllerMessenger<any, any>();\n\n registerActions(controllerMessenger);\n\n // Set up controllers and JSON-RPC stack.\n const hooks = getHooks(options, snapFiles, snapId, controllerMessenger);\n\n const { subjectMetadataController, permissionController } = getControllers({\n controllerMessenger,\n hooks,\n runSaga,\n options,\n });\n\n const engine = createJsonRpcEngine({\n store,\n hooks,\n permissionMiddleware: permissionController.createPermissionMiddleware({\n origin: snapId,\n }),\n });\n\n // Create execution service.\n const ExecutionService = executionService ?? NodeThreadExecutionService;\n const service = new ExecutionService({\n ...executionServiceOptions,\n messenger: controllerMessenger.getRestricted({\n name: 'ExecutionService',\n }),\n setupSnapProvider: (_snapId: string, rpcStream: Duplex) => {\n const mux = setupMultiplex(rpcStream, 'snapStream');\n const stream = mux.createStream('metamask-provider');\n const providerStream = createEngineStream({ engine });\n\n // Error function is difficult to test, so we ignore it.\n /* istanbul ignore next 2 */\n pipeline(stream, providerStream, stream, (error: unknown) => {\n if (error) {\n logError(`Provider stream failure.`, error);\n }\n });\n },\n });\n\n // Register the Snap. This sets up the Snap's permissions and subject\n // metadata.\n await registerSnap(snapId, snapFiles.manifest.result, {\n permissionController,\n subjectMetadataController,\n });\n\n // Run the Snap code in the execution service.\n await service.executeSnap({\n snapId,\n sourceCode: snapFiles.sourceCode.toString('utf8'),\n endowments: await getEndowments(permissionController, snapId),\n });\n\n return {\n snapId,\n store,\n executionService: service,\n controllerMessenger,\n runSaga,\n };\n}\n\n/**\n * Get the hooks for the simulation.\n *\n * @param options - The simulation options.\n * @param snapFiles - The Snap files.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The hooks for the simulation.\n */\nexport function getHooks(\n options: SimulationOptions,\n snapFiles: FetchedSnapFiles,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n): MiddlewareHooks {\n return {\n getMnemonic: async () =>\n Promise.resolve(mnemonicPhraseToBytes(options.secretRecoveryPhrase)),\n getSnapFile: async (path: string, encoding: AuxiliaryFileEncoding) =>\n await getSnapFile(snapFiles.auxiliaryFiles, path, encoding),\n getIsLocked: () => false,\n createInterface: async (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:createInterface',\n snapId,\n ...args,\n ),\n updateInterface: async (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:updateInterface',\n snapId,\n ...args,\n ),\n getInterfaceState: (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n ...args,\n ).state,\n };\n}\n\n/**\n * Register mocked action handlers.\n *\n * @param controllerMessenger - The controller messenger.\n */\nexport function registerActions(controllerMessenger: RootControllerMessenger) {\n controllerMessenger.registerActionHandler(\n 'PhishingController:maybeUpdateState',\n async () => Promise.resolve(),\n );\n\n controllerMessenger.registerActionHandler(\n 'PhishingController:testOrigin',\n () => ({ result: false, type: 'all' }),\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/internals/simulation/simulation.ts"],"sourcesContent":["import type {\n ActionConstraint,\n EventConstraint,\n} from '@metamask/base-controller';\nimport { ControllerMessenger } from '@metamask/base-controller';\nimport { createEngineStream } from '@metamask/json-rpc-middleware-stream';\nimport { mnemonicPhraseToBytes } from '@metamask/key-tree';\nimport type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport {\n fetchSnap,\n detectSnapLocation,\n NodeThreadExecutionService,\n setupMultiplex,\n} from '@metamask/snaps-controllers/node';\nimport { getEncryptionKey } from '@metamask/snaps-rpc-methods';\nimport type {\n SnapId,\n AuxiliaryFileEncoding,\n Component,\n InterfaceState,\n} from '@metamask/snaps-sdk';\nimport type { FetchedSnapFiles } from '@metamask/snaps-utils';\nimport { logError } from '@metamask/snaps-utils';\nimport type { Duplex } from 'readable-stream';\nimport { pipeline } from 'readable-stream';\n\nimport type { RootControllerMessenger } from './controllers';\nimport { getControllers, registerSnap } from './controllers';\nimport { getSnapFile } from './files';\nimport { getEndowments } from './methods';\nimport { createJsonRpcEngine } from './middleware';\nimport type { SimulationOptions, SimulationUserOptions } from './options';\nimport { getOptions } from './options';\nimport type { RunSagaFunction, Store } from './store';\nimport { createStore } from './store';\n\n/**\n * Options for the execution service, without the options that are shared\n * between all execution services.\n *\n * @template Service - The type of the execution service, i.e., the class that\n * creates the execution service.\n */\nexport type ExecutionServiceOptions<\n Service extends new (...args: any[]) => any,\n> = Omit<\n ConstructorParameters<Service>[0],\n keyof ConstructorParameters<typeof AbstractExecutionService<unknown>>[0]\n>;\n\n/**\n * The options for running a Snap in a simulated environment.\n *\n * @property executionService - The execution service to use.\n * @property 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 * @property options - The simulation options.\n * @template Service - The type of the execution service.\n */\nexport type InstallSnapOptions<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService<unknown>\n >,\n> = ExecutionServiceOptions<Service> extends Record<string, never>\n ? {\n executionService: Service;\n executionServiceOptions?: ExecutionServiceOptions<Service>;\n options?: SimulationUserOptions;\n }\n : {\n executionService: Service;\n executionServiceOptions: ExecutionServiceOptions<Service>;\n options?: SimulationUserOptions;\n };\n\nexport type InstalledSnap = {\n snapId: SnapId;\n store: Store;\n executionService: InstanceType<typeof AbstractExecutionService>;\n controllerMessenger: ControllerMessenger<ActionConstraint, EventConstraint>;\n runSaga: RunSagaFunction;\n};\n\nexport type MiddlewareHooks = {\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 /**\n * A hook that returns the Snap's auxiliary file for the given path.\n *\n * @param path - The path of the auxiliary file to get.\n * @param encoding - The encoding to use when returning the file.\n * @returns The Snap's auxiliary file for the given path.\n */\n getSnapFile: (\n path: string,\n encoding: AuxiliaryFileEncoding,\n ) => Promise<string | null>;\n\n /**\n * A hook that returns whether the client is locked or not.\n *\n * @returns A boolean flag signaling whether the client is locked.\n */\n getIsLocked: () => boolean;\n createInterface: (content: Component) => Promise<string>;\n updateInterface: (id: string, content: Component) => Promise<void>;\n getInterfaceState: (id: string) => InterfaceState;\n};\n\n/**\n * Install a Snap in a simulated environment. This will fetch the Snap files,\n * create a Redux store, set up the controllers and JSON-RPC stack, register the\n * Snap, and run the Snap code in the 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 */\nexport async function handleInstallSnap<\n Service extends new (...args: any[]) => InstanceType<\n typeof AbstractExecutionService\n >,\n>(\n snapId: SnapId,\n {\n executionService,\n executionServiceOptions,\n options: rawOptions = {},\n }: Partial<InstallSnapOptions<Service>> = {},\n): Promise<InstalledSnap> {\n const options = getOptions(rawOptions);\n\n // Fetch Snap files.\n const location = detectSnapLocation(snapId, {\n allowLocal: true,\n });\n\n const snapFiles = await fetchSnap(snapId, location);\n\n // Create Redux store.\n const password = await getEncryptionKey({\n mnemonicPhrase: mnemonicPhraseToBytes(options.secretRecoveryPhrase),\n snapId,\n });\n\n const { store, runSaga } = createStore(password, options);\n\n const controllerMessenger = new ControllerMessenger<any, any>();\n\n registerActions(controllerMessenger);\n\n // Set up controllers and JSON-RPC stack.\n const hooks = getHooks(options, snapFiles, snapId, controllerMessenger);\n\n const { subjectMetadataController, permissionController } = getControllers({\n controllerMessenger,\n hooks,\n runSaga,\n options,\n });\n\n const engine = createJsonRpcEngine({\n store,\n hooks,\n permissionMiddleware: permissionController.createPermissionMiddleware({\n origin: snapId,\n }),\n });\n\n // Create execution service.\n const ExecutionService = executionService ?? NodeThreadExecutionService;\n const service = new ExecutionService({\n ...executionServiceOptions,\n messenger: controllerMessenger.getRestricted({\n name: 'ExecutionService',\n allowedActions: [],\n allowedEvents: [],\n }),\n setupSnapProvider: (_snapId: string, rpcStream: Duplex) => {\n const mux = setupMultiplex(rpcStream, 'snapStream');\n const stream = mux.createStream('metamask-provider');\n const providerStream = createEngineStream({ engine });\n\n // Error function is difficult to test, so we ignore it.\n /* istanbul ignore next 2 */\n pipeline(stream, providerStream, stream, (error: unknown) => {\n if (error) {\n logError(`Provider stream failure.`, error);\n }\n });\n },\n });\n\n // Register the Snap. This sets up the Snap's permissions and subject\n // metadata.\n await registerSnap(snapId, snapFiles.manifest.result, {\n permissionController,\n subjectMetadataController,\n });\n\n // Run the Snap code in the execution service.\n await service.executeSnap({\n snapId,\n sourceCode: snapFiles.sourceCode.toString('utf8'),\n endowments: await getEndowments(permissionController, snapId),\n });\n\n return {\n snapId,\n store,\n executionService: service,\n controllerMessenger,\n runSaga,\n };\n}\n\n/**\n * Get the hooks for the simulation.\n *\n * @param options - The simulation options.\n * @param snapFiles - The Snap files.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The hooks for the simulation.\n */\nexport function getHooks(\n options: SimulationOptions,\n snapFiles: FetchedSnapFiles,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n): MiddlewareHooks {\n return {\n getMnemonic: async () =>\n Promise.resolve(mnemonicPhraseToBytes(options.secretRecoveryPhrase)),\n getSnapFile: async (path: string, encoding: AuxiliaryFileEncoding) =>\n await getSnapFile(snapFiles.auxiliaryFiles, path, encoding),\n getIsLocked: () => false,\n createInterface: async (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:createInterface',\n snapId,\n ...args,\n ),\n updateInterface: async (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:updateInterface',\n snapId,\n ...args,\n ),\n getInterfaceState: (...args) =>\n controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n ...args,\n ).state,\n };\n}\n\n/**\n * Register mocked action handlers.\n *\n * @param controllerMessenger - The controller messenger.\n */\nexport function registerActions(controllerMessenger: RootControllerMessenger) {\n controllerMessenger.registerActionHandler(\n 'PhishingController:maybeUpdateState',\n async () => Promise.resolve(),\n );\n\n controllerMessenger.registerActionHandler(\n 'PhishingController:testOrigin',\n () => ({ result: false, type: 'all' }),\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getOptions
3
- } from "./chunk-AUB7XPDH.mjs";
3
+ } from "./chunk-B73P64TE.mjs";
4
4
  import {
5
5
  handleInstallSnap
6
- } from "./chunk-QUUILTDY.mjs";
6
+ } from "./chunk-3HU56QS3.mjs";
7
7
  import {
8
8
  startServer
9
- } from "./chunk-72YN2D26.mjs";
9
+ } from "./chunk-SLU4FNKX.mjs";
10
10
  import {
11
11
  rootLogger
12
- } from "./chunk-WEI35OIM.mjs";
12
+ } from "./chunk-J4ZPUCLX.mjs";
13
13
  import {
14
14
  __privateAdd,
15
15
  __privateGet,
@@ -101,4 +101,4 @@ export {
101
101
  SnapsEnvironment,
102
102
  environment_default
103
103
  };
104
- //# sourceMappingURL=chunk-QFPRGU5L.mjs.map
104
+ //# sourceMappingURL=chunk-3SNZ4SPY.mjs.map
@@ -0,0 +1 @@
1
+ "use strict";//# sourceMappingURL=chunk-55J6XMHW.js.map
@@ -66,4 +66,4 @@ export {
66
66
  EXCLUDED_SNAP_PERMISSIONS,
67
67
  UNRESTRICTED_METHODS
68
68
  };
69
- //# sourceMappingURL=chunk-I5LVU57H.mjs.map
69
+ //# sourceMappingURL=chunk-57SGDM5B.mjs.map
@@ -1,27 +1,27 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3CC2NI7Rjs = require('./chunk-3CC2NI7R.js');
3
+ var _chunkHNH5UAKZjs = require('./chunk-HNH5UAKZ.js');
4
4
 
5
5
 
6
- var _chunkMNDF32ZVjs = require('./chunk-MNDF32ZV.js');
6
+ var _chunkTZB4LBT7js = require('./chunk-TZB4LBT7.js');
7
7
 
8
8
 
9
9
 
10
10
 
11
- var _chunkRQBZLDXLjs = require('./chunk-RQBZLDXL.js');
11
+ var _chunkT2BE4O5Hjs = require('./chunk-T2BE4O5H.js');
12
12
 
13
13
 
14
14
 
15
- var _chunk34GS3AHAjs = require('./chunk-34GS3AHA.js');
15
+ var _chunkLACTK6EOjs = require('./chunk-LACTK6EO.js');
16
16
 
17
17
 
18
- var _chunk7JLVQJK7js = require('./chunk-7JLVQJK7.js');
18
+ var _chunk2JTGBHPRjs = require('./chunk-2JTGBHPR.js');
19
19
 
20
20
  // src/helpers.ts
21
21
  var _snapsutils = require('@metamask/snaps-utils');
22
22
  var _utils = require('@metamask/utils');
23
23
  var _superstruct = require('superstruct');
24
- var log = _utils.createModuleLogger.call(void 0, _chunkMNDF32ZVjs.rootLogger, "helpers");
24
+ var log = _utils.createModuleLogger.call(void 0, _chunkTZB4LBT7js.rootLogger, "helpers");
25
25
  function getOptions(snapId, options) {
26
26
  if (typeof snapId === "object") {
27
27
  return [void 0, snapId];
@@ -36,15 +36,15 @@ async function installSnap(snapId, options = {}) {
36
36
  executionService,
37
37
  runSaga,
38
38
  controllerMessenger
39
- } = await _chunk7JLVQJK7js.getEnvironment.call(void 0, ).installSnap(...resolvedOptions);
39
+ } = await _chunk2JTGBHPRjs.getEnvironment.call(void 0, ).installSnap(...resolvedOptions);
40
40
  const onTransaction = async (request) => {
41
41
  log("Sending transaction %o.", request);
42
42
  const {
43
43
  origin: transactionOrigin,
44
44
  chainId,
45
45
  ...transaction
46
- } = _superstruct.create.call(void 0, request, _chunkRQBZLDXLjs.TransactionOptionsStruct);
47
- return _chunk3CC2NI7Rjs.handleRequest.call(void 0, {
46
+ } = _superstruct.create.call(void 0, request, _chunkT2BE4O5Hjs.TransactionOptionsStruct);
47
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
48
48
  snapId: installedSnapId,
49
49
  store,
50
50
  executionService,
@@ -63,7 +63,7 @@ async function installSnap(snapId, options = {}) {
63
63
  };
64
64
  const onCronjob = (request) => {
65
65
  log("Running cronjob %o.", options);
66
- return _chunk3CC2NI7Rjs.handleRequest.call(void 0, {
66
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
67
67
  snapId: installedSnapId,
68
68
  store,
69
69
  executionService,
@@ -76,7 +76,7 @@ async function installSnap(snapId, options = {}) {
76
76
  return {
77
77
  request: (request) => {
78
78
  log("Sending request %o.", request);
79
- return _chunk3CC2NI7Rjs.handleRequest.call(void 0, {
79
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
80
80
  snapId: installedSnapId,
81
81
  store,
82
82
  executionService,
@@ -92,9 +92,9 @@ async function installSnap(snapId, options = {}) {
92
92
  log("Requesting signature %o.", request);
93
93
  const { origin: signatureOrigin, ...signature } = _superstruct.create.call(void 0,
94
94
  request,
95
- _chunkRQBZLDXLjs.SignatureOptionsStruct
95
+ _chunkT2BE4O5Hjs.SignatureOptionsStruct
96
96
  );
97
- return _chunk3CC2NI7Rjs.handleRequest.call(void 0, {
97
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
98
98
  snapId: installedSnapId,
99
99
  store,
100
100
  executionService,
@@ -114,7 +114,7 @@ async function installSnap(snapId, options = {}) {
114
114
  runCronjob: onCronjob,
115
115
  onHomePage: async () => {
116
116
  log("Rendering home page.");
117
- return _chunk3CC2NI7Rjs.handleRequest.call(void 0, {
117
+ return _chunkHNH5UAKZjs.handleRequest.call(void 0, {
118
118
  snapId: installedSnapId,
119
119
  store,
120
120
  executionService,
@@ -128,12 +128,12 @@ async function installSnap(snapId, options = {}) {
128
128
  },
129
129
  mockJsonRpc(mock) {
130
130
  log("Mocking JSON-RPC request %o.", mock);
131
- const { method, result } = _superstruct.create.call(void 0, mock, _chunkRQBZLDXLjs.JsonRpcMockOptionsStruct);
132
- store.dispatch(_chunk34GS3AHAjs.addJsonRpcMock.call(void 0, { method, result }));
131
+ const { method, result } = _superstruct.create.call(void 0, mock, _chunkT2BE4O5Hjs.JsonRpcMockOptionsStruct);
132
+ store.dispatch(_chunkLACTK6EOjs.addJsonRpcMock.call(void 0, { method, result }));
133
133
  return {
134
134
  unmock() {
135
135
  log("Unmocking JSON-RPC request %o.", mock);
136
- store.dispatch(_chunk34GS3AHAjs.removeJsonRpcMock.call(void 0, method));
136
+ store.dispatch(_chunkLACTK6EOjs.removeJsonRpcMock.call(void 0, method));
137
137
  }
138
138
  };
139
139
  },
@@ -150,4 +150,4 @@ async function installSnap(snapId, options = {}) {
150
150
 
151
151
 
152
152
  exports.installSnap = installSnap;
153
- //# sourceMappingURL=chunk-5IUHGC5S.js.map
153
+ //# sourceMappingURL=chunk-5PLDD7ZC.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-5ZFHFICZ.mjs.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-6HHV6YFQ.mjs.map
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkVNQIROKZjs = require('./chunk-VNQIROKZ.js');
3
+ var _chunkLXSNRZV4js = require('./chunk-LXSNRZV4.js');
4
4
 
5
5
 
6
- var _chunkO4MJRHZDjs = require('./chunk-O4MJRHZD.js');
6
+ var _chunkXAOCS6ZDjs = require('./chunk-XAOCS6ZD.js');
7
7
 
8
8
  // src/internals/simulation/controllers.ts
9
9
 
@@ -22,7 +22,9 @@ function getControllers(options) {
22
22
  const { controllerMessenger } = options;
23
23
  const subjectMetadataController = new (0, _permissioncontroller.SubjectMetadataController)({
24
24
  messenger: controllerMessenger.getRestricted({
25
- name: "SubjectMetadataController"
25
+ name: "SubjectMetadataController",
26
+ allowedActions: [],
27
+ allowedEvents: []
26
28
  }),
27
29
  subjectCacheLimit: 100
28
30
  });
@@ -32,7 +34,8 @@ function getControllers(options) {
32
34
  allowedActions: [
33
35
  "PhishingController:maybeUpdateState",
34
36
  "PhishingController:testOrigin"
35
- ]
37
+ ],
38
+ allowedEvents: []
36
39
  })
37
40
  });
38
41
  const permissionController = getPermissionController(options);
@@ -44,7 +47,7 @@ function getControllers(options) {
44
47
  }
45
48
  function getPermissionController(options) {
46
49
  const { controllerMessenger } = options;
47
- const permissionSpecifications = _chunkVNQIROKZjs.getPermissionSpecifications.call(void 0, options);
50
+ const permissionSpecifications = _chunkLXSNRZV4js.getPermissionSpecifications.call(void 0, options);
48
51
  return new (0, _permissioncontroller.PermissionController)({
49
52
  messenger: controllerMessenger.getRestricted({
50
53
  name: "PermissionController",
@@ -56,14 +59,15 @@ function getPermissionController(options) {
56
59
  `SnapController:getPermitted`,
57
60
  `SnapController:install`,
58
61
  `SubjectMetadataController:getSubjectMetadata`
59
- ]
62
+ ],
63
+ allowedEvents: []
60
64
  }),
61
65
  caveatSpecifications: {
62
66
  ..._snapsrpcmethods.caveatSpecifications,
63
67
  ..._snapsrpcmethods.endowmentCaveatSpecifications
64
68
  },
65
69
  permissionSpecifications,
66
- unrestrictedMethods: _chunkO4MJRHZDjs.UNRESTRICTED_METHODS
70
+ unrestrictedMethods: _chunkXAOCS6ZDjs.UNRESTRICTED_METHODS
67
71
  });
68
72
  }
69
73
  async function registerSnap(snapId, manifest, {
@@ -88,4 +92,4 @@ async function registerSnap(snapId, manifest, {
88
92
 
89
93
 
90
94
  exports.getControllers = getControllers; exports.registerSnap = registerSnap;
91
- //# sourceMappingURL=chunk-KGIWSGTT.js.map
95
+ //# sourceMappingURL=chunk-6HW5NGCB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/controllers.ts"],"names":[],"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,MACN,gBAAgB,CAAC;AAAA,MACjB,eAAe,CAAC;AAAA,IAClB,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,MACA,eAAe,CAAC;AAAA,IAClB,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,MACA,eAAe,CAAC;AAAA,IAClB,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","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 allowedActions: [],\n allowedEvents: [],\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 allowedEvents: [],\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 allowedEvents: [],\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"]}
@@ -8,4 +8,4 @@ export {
8
8
  DEFAULT_LOCALE,
9
9
  DEFAULT_JSON_RPC_ENDPOINT
10
10
  };
11
- //# sourceMappingURL=chunk-JXOKRTEH.mjs.map
11
+ //# sourceMappingURL=chunk-6KXCBUNZ.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  getCurrentInterface,
3
3
  resolveInterface,
4
4
  setInterface
5
- } from "./chunk-4VCE3DRR.mjs";
5
+ } from "./chunk-74TIKA2T.mjs";
6
6
 
7
7
  // src/internals/simulation/interface.ts
8
8
  import { DialogType } from "@metamask/snaps-sdk";
@@ -73,4 +73,4 @@ export {
73
73
  getInterfaceResponse,
74
74
  getInterface
75
75
  };
76
- //# sourceMappingURL=chunk-WL2GRM5E.mjs.map
76
+ //# sourceMappingURL=chunk-6MVV44M5.mjs.map
@@ -1,15 +1,15 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk2M7WQ26Fjs = require('./chunk-2M7WQ26F.js');
3
+ var _chunkT2PHS5FYjs = require('./chunk-T2PHS5FY.js');
4
4
 
5
5
 
6
- var _chunk6IMEYEREjs = require('./chunk-6IMEYERE.js');
6
+ var _chunkC2ONPIIBjs = require('./chunk-C2ONPIIB.js');
7
7
 
8
8
 
9
- var _chunkKPXLJ6RHjs = require('./chunk-KPXLJ6RH.js');
9
+ var _chunkN6MAO223js = require('./chunk-N6MAO223.js');
10
10
 
11
11
 
12
- var _chunkMNDF32ZVjs = require('./chunk-MNDF32ZV.js');
12
+ var _chunkTZB4LBT7js = require('./chunk-TZB4LBT7.js');
13
13
 
14
14
 
15
15
 
@@ -19,7 +19,7 @@ var _chunkPHUTP7NBjs = require('./chunk-PHUTP7NB.js');
19
19
  // src/environment.ts
20
20
  var _utils = require('@metamask/utils');
21
21
  var _jestenvironmentnode = require('jest-environment-node'); var _jestenvironmentnode2 = _interopRequireDefault(_jestenvironmentnode);
22
- var log = _utils.createModuleLogger.call(void 0, _chunkMNDF32ZVjs.rootLogger, "environment");
22
+ var log = _utils.createModuleLogger.call(void 0, _chunkTZB4LBT7js.rootLogger, "environment");
23
23
  var _options, _server, _instance;
24
24
  var SnapsEnvironment = class extends _jestenvironmentnode2.default {
25
25
  /**
@@ -33,7 +33,7 @@ var SnapsEnvironment = class extends _jestenvironmentnode2.default {
33
33
  _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _options, void 0);
34
34
  _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _server, void 0);
35
35
  _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _instance, void 0);
36
- _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _options, _chunk2M7WQ26Fjs.getOptions.call(void 0, options.projectConfig.testEnvironmentOptions));
36
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _options, _chunkT2PHS5FYjs.getOptions.call(void 0, options.projectConfig.testEnvironmentOptions));
37
37
  }
38
38
  /**
39
39
  * Set up the environment. This starts the built-in HTTP server, and creates a
@@ -43,7 +43,7 @@ var SnapsEnvironment = class extends _jestenvironmentnode2.default {
43
43
  await super.setup();
44
44
  if (_chunkPHUTP7NBjs.__privateGet.call(void 0, this, _options).server.enabled) {
45
45
  log("Starting server.");
46
- _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _server, await _chunkKPXLJ6RHjs.startServer.call(void 0, _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _options).server));
46
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _server, await _chunkN6MAO223js.startServer.call(void 0, _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _options).server));
47
47
  }
48
48
  this.global.snapsEnvironment = this;
49
49
  }
@@ -52,8 +52,8 @@ var SnapsEnvironment = class extends _jestenvironmentnode2.default {
52
52
  * HTTP server.
53
53
  */
54
54
  async teardown() {
55
- await _optionalChain([_chunkPHUTP7NBjs.__privateGet.call(void 0, this, _instance), 'optionalAccess', _ => _.executionService, 'access', _2 => _2.terminateAllSnaps, 'call', _3 => _3()]);
56
- _optionalChain([_chunkPHUTP7NBjs.__privateGet.call(void 0, this, _server), 'optionalAccess', _4 => _4.close, 'call', _5 => _5()]);
55
+ await _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _instance)?.executionService.terminateAllSnaps();
56
+ _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _server)?.close();
57
57
  await super.teardown();
58
58
  }
59
59
  /**
@@ -71,8 +71,8 @@ var SnapsEnvironment = class extends _jestenvironmentnode2.default {
71
71
  * @returns The installed Snap.
72
72
  */
73
73
  async installSnap(snapId = this.snapId, options = {}) {
74
- await _optionalChain([_chunkPHUTP7NBjs.__privateGet.call(void 0, this, _instance), 'optionalAccess', _6 => _6.executionService, 'access', _7 => _7.terminateAllSnaps, 'call', _8 => _8()]);
75
- _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _instance, await _chunk6IMEYEREjs.handleInstallSnap.call(void 0, snapId, options));
74
+ await _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _instance)?.executionService.terminateAllSnaps();
75
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _instance, await _chunkC2ONPIIBjs.handleInstallSnap.call(void 0, snapId, options));
76
76
  return _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _instance);
77
77
  }
78
78
  /**
@@ -101,4 +101,4 @@ var environment_default = SnapsEnvironment;
101
101
 
102
102
 
103
103
  exports.SnapsEnvironment = SnapsEnvironment; exports.environment_default = environment_default;
104
- //# sourceMappingURL=chunk-4JUUFDTC.js.map
104
+ //# sourceMappingURL=chunk-6RXFM4YC.js.map
@@ -31,4 +31,4 @@ export {
31
31
  closeInterface,
32
32
  getCurrentInterface
33
33
  };
34
- //# sourceMappingURL=chunk-4VCE3DRR.mjs.map
34
+ //# sourceMappingURL=chunk-74TIKA2T.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  clearState,
3
3
  getState,
4
4
  setState
5
- } from "./chunk-VXQOXWRO.mjs";
5
+ } from "./chunk-MPZOXW6I.mjs";
6
6
 
7
7
  // src/internals/simulation/methods/hooks/state.ts
8
8
  import { put, select } from "redux-saga/effects";
@@ -36,4 +36,4 @@ export {
36
36
  getUpdateSnapStateMethodImplementation,
37
37
  getClearSnapStateMethodImplementation
38
38
  };
39
- //# sourceMappingURL=chunk-6RDNSELT.mjs.map
39
+ //# sourceMappingURL=chunk-7BFTEFLS.mjs.map
@@ -230,4 +230,4 @@ export {
230
230
  InterfaceStruct,
231
231
  SnapResponseStruct
232
232
  };
233
- //# sourceMappingURL=chunk-BN5VBVT3.mjs.map
233
+ //# sourceMappingURL=chunk-7J34R6YW.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  InterfaceStruct,
3
3
  SnapResponseStruct
4
- } from "./chunk-BN5VBVT3.mjs";
4
+ } from "./chunk-7J34R6YW.mjs";
5
5
 
6
6
  // src/matchers.ts
7
7
  import { expect } from "@jest/globals";
@@ -131,4 +131,4 @@ export {
131
131
  toSendNotification,
132
132
  toRender
133
133
  };
134
- //# sourceMappingURL=chunk-ZZPKZRJQ.mjs.map
134
+ //# sourceMappingURL=chunk-7VILST6M.mjs.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  uiSlice
3
- } from "./chunk-4VCE3DRR.mjs";
3
+ } from "./chunk-74TIKA2T.mjs";
4
4
  import {
5
5
  mocksSlice
6
- } from "./chunk-J2ID3DS7.mjs";
6
+ } from "./chunk-H2464AXT.mjs";
7
7
  import {
8
8
  notificationsSlice
9
- } from "./chunk-AIZADBRK.mjs";
9
+ } from "./chunk-LB4R3BUA.mjs";
10
10
  import {
11
11
  setState,
12
12
  stateSlice
13
- } from "./chunk-VXQOXWRO.mjs";
13
+ } from "./chunk-MPZOXW6I.mjs";
14
14
 
15
15
  // src/internals/simulation/store/store.ts
16
16
  import { configureStore } from "@reduxjs/toolkit";
@@ -54,4 +54,4 @@ function createStore(password, { state, unencryptedState }) {
54
54
  export {
55
55
  createStore
56
56
  };
57
- //# sourceMappingURL=chunk-LD5PSHHT.mjs.map
57
+ //# sourceMappingURL=chunk-7YD4IW43.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  addNotification
3
- } from "./chunk-AIZADBRK.mjs";
3
+ } from "./chunk-LB4R3BUA.mjs";
4
4
 
5
5
  // src/internals/simulation/methods/hooks/notifications.ts
6
6
  import { NotificationType } from "@metamask/snaps-sdk";
@@ -39,4 +39,4 @@ export {
39
39
  getShowNativeNotificationImplementation,
40
40
  getShowInAppNotificationImplementation
41
41
  };
42
- //# sourceMappingURL=chunk-AKFRQ5EJ.mjs.map
42
+ //# sourceMappingURL=chunk-ALRZENWP.mjs.map
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkRQBZLDXLjs = require('./chunk-RQBZLDXL.js');
4
+ var _chunkT2BE4O5Hjs = require('./chunk-T2BE4O5H.js');
5
5
 
6
6
  // src/matchers.ts
7
7
  var _globals = require('@jest/globals');
@@ -16,7 +16,7 @@ var _utils = require('@metamask/utils');
16
16
  var _jestmatcherutils = require('jest-matcher-utils');
17
17
  var _superstruct = require('superstruct');
18
18
  function assertActualIsSnapResponse(actual, matcherName, options) {
19
- if (!_superstruct.is.call(void 0, actual, _chunkRQBZLDXLjs.SnapResponseStruct)) {
19
+ if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.SnapResponseStruct)) {
20
20
  throw new Error(
21
21
  _jestmatcherutils.matcherErrorMessage.call(void 0,
22
22
  _jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
@@ -29,7 +29,7 @@ function assertActualIsSnapResponse(actual, matcherName, options) {
29
29
  }
30
30
  }
31
31
  function assertHasInterface(actual, matcherName, options) {
32
- if (!_superstruct.is.call(void 0, actual, _chunkRQBZLDXLjs.InterfaceStruct) || !actual.content) {
32
+ if (!_superstruct.is.call(void 0, actual, _chunkT2BE4O5Hjs.InterfaceStruct) || !actual.content) {
33
33
  throw new Error(
34
34
  _jestmatcherutils.matcherErrorMessage.call(void 0,
35
35
  _jestmatcherutils.matcherHint.call(void 0, matcherName, void 0, void 0, options),
@@ -131,4 +131,4 @@ _globals.expect.extend({
131
131
 
132
132
 
133
133
  exports.toRespondWith = toRespondWith; exports.toRespondWithError = toRespondWithError; exports.toSendNotification = toSendNotification; exports.toRender = toRender;
134
- //# sourceMappingURL=chunk-4FCRZDOX.js.map
134
+ //# sourceMappingURL=chunk-B4QZXXQY.js.map
@@ -25,4 +25,4 @@ function getOptions(testEnvironmentOptions) {
25
25
  export {
26
26
  getOptions
27
27
  };
28
- //# sourceMappingURL=chunk-AUB7XPDH.mjs.map
28
+ //# sourceMappingURL=chunk-B73P64TE.mjs.map