@metamask/snaps-jest 5.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/chunk-265BMFM5.js +13 -0
  3. package/dist/chunk-265BMFM5.js.map +1 -0
  4. package/dist/chunk-2JTGBHPR.js +14 -0
  5. package/dist/chunk-2JTGBHPR.js.map +1 -0
  6. package/dist/chunk-2X23DUDP.mjs +22 -0
  7. package/dist/chunk-2X23DUDP.mjs.map +1 -0
  8. package/dist/chunk-2YE2P5BZ.js +36 -0
  9. package/dist/chunk-2YE2P5BZ.js.map +1 -0
  10. package/dist/chunk-3FNLFVV2.js +15 -0
  11. package/dist/chunk-3FNLFVV2.js.map +1 -0
  12. package/dist/chunk-4SC3HVI5.mjs +104 -0
  13. package/dist/chunk-4SC3HVI5.mjs.map +1 -0
  14. package/dist/chunk-55J6XMHW.js +1 -0
  15. package/dist/chunk-55J6XMHW.js.map +1 -0
  16. package/dist/chunk-57SGDM5B.mjs +69 -0
  17. package/dist/chunk-57SGDM5B.mjs.map +1 -0
  18. package/dist/chunk-5PLDD7ZC.js +153 -0
  19. package/dist/chunk-5PLDD7ZC.js.map +1 -0
  20. package/dist/chunk-5ZFHFICZ.mjs +1 -0
  21. package/dist/chunk-5ZFHFICZ.mjs.map +1 -0
  22. package/dist/chunk-6HHV6YFQ.mjs +1 -0
  23. package/dist/chunk-6HHV6YFQ.mjs.map +1 -0
  24. package/dist/chunk-6KXCBUNZ.mjs +11 -0
  25. package/dist/chunk-6KXCBUNZ.mjs.map +1 -0
  26. package/dist/chunk-6MVV44M5.mjs +76 -0
  27. package/dist/chunk-6MVV44M5.mjs.map +1 -0
  28. package/dist/chunk-74TIKA2T.mjs +34 -0
  29. package/dist/chunk-74TIKA2T.mjs.map +1 -0
  30. package/dist/chunk-7BFTEFLS.mjs +39 -0
  31. package/dist/chunk-7BFTEFLS.mjs.map +1 -0
  32. package/dist/chunk-7J34R6YW.mjs +233 -0
  33. package/dist/chunk-7J34R6YW.mjs.map +1 -0
  34. package/dist/chunk-7VILST6M.mjs +134 -0
  35. package/dist/chunk-7VILST6M.mjs.map +1 -0
  36. package/dist/chunk-7YD4IW43.mjs +57 -0
  37. package/dist/chunk-7YD4IW43.mjs.map +1 -0
  38. package/dist/chunk-ALRZENWP.mjs +42 -0
  39. package/dist/chunk-ALRZENWP.mjs.map +1 -0
  40. package/dist/chunk-B4QZXXQY.js +134 -0
  41. package/dist/chunk-B4QZXXQY.js.map +1 -0
  42. package/dist/chunk-B73P64TE.mjs +28 -0
  43. package/dist/chunk-B73P64TE.mjs.map +1 -0
  44. package/dist/chunk-CCYBLBVL.mjs +91 -0
  45. package/dist/chunk-CCYBLBVL.mjs.map +1 -0
  46. package/dist/chunk-DR6Y7IVX.js +1 -0
  47. package/dist/chunk-DR6Y7IVX.js.map +1 -0
  48. package/dist/chunk-EMTW3H54.js +20 -0
  49. package/dist/chunk-EMTW3H54.js.map +1 -0
  50. package/dist/chunk-FP4H3ADT.mjs +20 -0
  51. package/dist/chunk-FP4H3ADT.mjs.map +1 -0
  52. package/dist/chunk-GECE47HW.js +1 -0
  53. package/dist/chunk-GECE47HW.js.map +1 -0
  54. package/dist/chunk-GMTKFAWO.js +42 -0
  55. package/dist/chunk-GMTKFAWO.js.map +1 -0
  56. package/dist/chunk-H2464AXT.mjs +33 -0
  57. package/dist/chunk-H2464AXT.mjs.map +1 -0
  58. package/dist/chunk-HBLJOACO.mjs +97 -0
  59. package/dist/chunk-HBLJOACO.mjs.map +1 -0
  60. package/dist/chunk-HNH5UAKZ.js +80 -0
  61. package/dist/chunk-HNH5UAKZ.js.map +1 -0
  62. package/dist/chunk-HROOL3VI.js +1 -0
  63. package/dist/chunk-HROOL3VI.js.map +1 -0
  64. package/dist/chunk-IH7UNS5A.mjs +36 -0
  65. package/dist/chunk-IH7UNS5A.mjs.map +1 -0
  66. package/dist/chunk-ISWZ7XZ5.js +39 -0
  67. package/dist/chunk-ISWZ7XZ5.js.map +1 -0
  68. package/dist/chunk-IXKO6X55.mjs +15 -0
  69. package/dist/chunk-IXKO6X55.mjs.map +1 -0
  70. package/dist/chunk-J4ZPUCLX.mjs +8 -0
  71. package/dist/chunk-J4ZPUCLX.mjs.map +1 -0
  72. package/dist/chunk-JMDSN227.mjs +25 -0
  73. package/dist/chunk-JMDSN227.mjs.map +1 -0
  74. package/dist/chunk-JUNUGLG4.js +104 -0
  75. package/dist/chunk-JUNUGLG4.js.map +1 -0
  76. package/dist/chunk-KIQOUUEZ.mjs +1 -0
  77. package/dist/chunk-KIQOUUEZ.mjs.map +1 -0
  78. package/dist/chunk-KNJNL723.mjs +39 -0
  79. package/dist/chunk-KNJNL723.mjs.map +1 -0
  80. package/dist/chunk-KSIBNOB2.mjs +13 -0
  81. package/dist/chunk-KSIBNOB2.mjs.map +1 -0
  82. package/dist/chunk-LACTK6EO.js +33 -0
  83. package/dist/chunk-LACTK6EO.js.map +1 -0
  84. package/dist/chunk-LB4R3BUA.mjs +36 -0
  85. package/dist/chunk-LB4R3BUA.mjs.map +1 -0
  86. package/dist/chunk-LBC2OGSN.js +48 -0
  87. package/dist/chunk-LBC2OGSN.js.map +1 -0
  88. package/dist/chunk-LHU3EHLI.mjs +137 -0
  89. package/dist/chunk-LHU3EHLI.mjs.map +1 -0
  90. package/dist/chunk-LXSNRZV4.js +97 -0
  91. package/dist/chunk-LXSNRZV4.js.map +1 -0
  92. package/dist/chunk-LYK6EGZU.mjs +80 -0
  93. package/dist/chunk-LYK6EGZU.mjs.map +1 -0
  94. package/dist/chunk-MF43OG3Z.mjs +1 -0
  95. package/dist/chunk-MF43OG3Z.mjs.map +1 -0
  96. package/dist/chunk-MJHR5RTY.js +21 -0
  97. package/dist/chunk-MJHR5RTY.js.map +1 -0
  98. package/dist/chunk-MPZOXW6I.mjs +48 -0
  99. package/dist/chunk-MPZOXW6I.mjs.map +1 -0
  100. package/dist/chunk-N6MAO223.js +60 -0
  101. package/dist/chunk-N6MAO223.js.map +1 -0
  102. package/dist/chunk-NTOY6Y4Q.mjs +1 -0
  103. package/dist/chunk-NTOY6Y4Q.mjs.map +1 -0
  104. package/dist/chunk-ORO3T6BU.mjs +24 -0
  105. package/dist/chunk-ORO3T6BU.mjs.map +1 -0
  106. package/dist/chunk-PHUTP7NB.js +25 -0
  107. package/dist/chunk-PHUTP7NB.js.map +1 -0
  108. package/dist/chunk-PZDTZGSI.js +34 -0
  109. package/dist/chunk-PZDTZGSI.js.map +1 -0
  110. package/dist/chunk-Q2OQXAUM.mjs +35 -0
  111. package/dist/chunk-Q2OQXAUM.mjs.map +1 -0
  112. package/dist/chunk-RAMAN5RM.js +24 -0
  113. package/dist/{cjs/internals/simulation/methods/hooks/show-dialog.js.map → chunk-RAMAN5RM.js.map} +1 -1
  114. package/dist/chunk-RD7GQCPL.js +22 -0
  115. package/dist/chunk-RD7GQCPL.js.map +1 -0
  116. package/dist/chunk-RQKT6BQ2.mjs +1 -0
  117. package/dist/chunk-RQKT6BQ2.mjs.map +1 -0
  118. package/dist/chunk-SLU4FNKX.mjs +60 -0
  119. package/dist/chunk-SLU4FNKX.mjs.map +1 -0
  120. package/dist/chunk-SQJOQ7AF.js +137 -0
  121. package/dist/chunk-SQJOQ7AF.js.map +1 -0
  122. package/dist/chunk-T2BE4O5H.js +233 -0
  123. package/dist/chunk-T2BE4O5H.js.map +1 -0
  124. package/dist/chunk-T2PHS5FY.js +28 -0
  125. package/dist/chunk-T2PHS5FY.js.map +1 -0
  126. package/dist/chunk-TBDYQSRT.mjs +16 -0
  127. package/dist/chunk-TBDYQSRT.mjs.map +1 -0
  128. package/dist/chunk-TO46ICOZ.js +57 -0
  129. package/dist/chunk-TO46ICOZ.js.map +1 -0
  130. package/dist/chunk-TVD4SWH7.js +16 -0
  131. package/dist/chunk-TVD4SWH7.js.map +1 -0
  132. package/dist/chunk-TZB4LBT7.js +8 -0
  133. package/dist/chunk-TZB4LBT7.js.map +1 -0
  134. package/dist/chunk-U5BLLHIU.js +1 -0
  135. package/dist/chunk-U5BLLHIU.js.map +1 -0
  136. package/dist/chunk-V6LFAN3U.mjs +1 -0
  137. package/dist/chunk-V6LFAN3U.mjs.map +1 -0
  138. package/dist/chunk-VHJZERIC.js +1 -0
  139. package/dist/chunk-VHJZERIC.js.map +1 -0
  140. package/dist/chunk-VOYBI6T4.mjs +22 -0
  141. package/dist/chunk-VOYBI6T4.mjs.map +1 -0
  142. package/dist/chunk-VXPCUDBI.js +36 -0
  143. package/dist/chunk-VXPCUDBI.js.map +1 -0
  144. package/dist/chunk-WDYPMEZB.js +22 -0
  145. package/dist/chunk-WDYPMEZB.js.map +1 -0
  146. package/dist/chunk-WFBQPYSV.js +91 -0
  147. package/dist/chunk-WFBQPYSV.js.map +1 -0
  148. package/dist/chunk-WH5C5WIZ.mjs +21 -0
  149. package/dist/chunk-WH5C5WIZ.mjs.map +1 -0
  150. package/dist/chunk-WHGYMK5B.js +1 -0
  151. package/dist/chunk-WHGYMK5B.js.map +1 -0
  152. package/dist/chunk-WIFOID2P.mjs +153 -0
  153. package/dist/chunk-WIFOID2P.mjs.map +1 -0
  154. package/dist/chunk-XAOCS6ZD.js +69 -0
  155. package/dist/chunk-XAOCS6ZD.js.map +1 -0
  156. package/dist/chunk-XK5HPZZC.mjs +14 -0
  157. package/dist/chunk-XK5HPZZC.mjs.map +1 -0
  158. package/dist/chunk-XKJHFUHE.js +11 -0
  159. package/dist/chunk-XKJHFUHE.js.map +1 -0
  160. package/dist/chunk-XWGECIXI.js +39 -0
  161. package/dist/chunk-XWGECIXI.js.map +1 -0
  162. package/dist/chunk-Y3JC4WGW.js +35 -0
  163. package/dist/chunk-Y3JC4WGW.js.map +1 -0
  164. package/dist/chunk-ZAQZRYPW.js +76 -0
  165. package/dist/chunk-ZAQZRYPW.js.map +1 -0
  166. package/dist/chunk-ZG33OGC3.mjs +1 -0
  167. package/dist/chunk-ZG33OGC3.mjs.map +1 -0
  168. package/dist/chunk-ZTX624YO.js +1 -0
  169. package/dist/chunk-ZTX624YO.js.map +1 -0
  170. package/dist/environment.js +47 -0
  171. package/dist/environment.js.map +1 -0
  172. package/dist/environment.mjs +47 -0
  173. package/dist/environment.mjs.map +1 -0
  174. package/dist/helpers.js +44 -0
  175. package/dist/helpers.js.map +1 -0
  176. package/dist/helpers.mjs +44 -0
  177. package/dist/helpers.mjs.map +1 -0
  178. package/dist/index.js +54 -0
  179. package/dist/index.js.map +1 -0
  180. package/dist/index.mjs +54 -0
  181. package/dist/index.mjs.map +1 -0
  182. package/dist/internals/environment.js +8 -0
  183. package/dist/internals/environment.js.map +1 -0
  184. package/dist/internals/environment.mjs +8 -0
  185. package/dist/internals/environment.mjs.map +1 -0
  186. package/dist/internals/index.js +123 -0
  187. package/dist/internals/index.js.map +1 -0
  188. package/dist/internals/index.mjs +123 -0
  189. package/dist/internals/index.mjs.map +1 -0
  190. package/dist/internals/logger.js +8 -0
  191. package/dist/internals/logger.js.map +1 -0
  192. package/dist/internals/logger.mjs +8 -0
  193. package/dist/internals/logger.mjs.map +1 -0
  194. package/dist/internals/request.js +40 -0
  195. package/dist/internals/request.js.map +1 -0
  196. package/dist/internals/request.mjs +40 -0
  197. package/dist/internals/request.mjs.map +1 -0
  198. package/dist/internals/server.js +9 -0
  199. package/dist/internals/server.js.map +1 -0
  200. package/dist/internals/server.mjs +9 -0
  201. package/dist/internals/server.mjs.map +1 -0
  202. package/dist/internals/simulation/constants.js +12 -0
  203. package/dist/internals/simulation/constants.js.map +1 -0
  204. package/dist/internals/simulation/constants.mjs +12 -0
  205. package/dist/internals/simulation/constants.mjs.map +1 -0
  206. package/dist/internals/simulation/controllers.js +26 -0
  207. package/dist/internals/simulation/controllers.js.map +1 -0
  208. package/dist/internals/simulation/controllers.mjs +26 -0
  209. package/dist/internals/simulation/controllers.mjs.map +1 -0
  210. package/dist/internals/simulation/files.js +8 -0
  211. package/dist/internals/simulation/files.js.map +1 -0
  212. package/dist/internals/simulation/files.mjs +8 -0
  213. package/dist/internals/simulation/files.mjs.map +1 -0
  214. package/dist/internals/simulation/index.js +90 -0
  215. package/dist/internals/simulation/index.js.map +1 -0
  216. package/dist/internals/simulation/index.mjs +90 -0
  217. package/dist/internals/simulation/index.mjs.map +1 -0
  218. package/dist/internals/simulation/interface.js +16 -0
  219. package/dist/internals/simulation/interface.js.map +1 -0
  220. package/dist/internals/simulation/interface.mjs +16 -0
  221. package/dist/internals/simulation/interface.mjs.map +1 -0
  222. package/dist/internals/simulation/methods/constants.js +12 -0
  223. package/dist/internals/simulation/methods/constants.js.map +1 -0
  224. package/dist/internals/simulation/methods/constants.mjs +12 -0
  225. package/dist/internals/simulation/methods/constants.mjs.map +1 -0
  226. package/dist/internals/simulation/methods/hooks/encryption.js +10 -0
  227. package/dist/internals/simulation/methods/hooks/encryption.js.map +1 -0
  228. package/dist/internals/simulation/methods/hooks/encryption.mjs +10 -0
  229. package/dist/internals/simulation/methods/hooks/encryption.mjs.map +1 -0
  230. package/dist/internals/simulation/methods/hooks/get-locale.js +8 -0
  231. package/dist/internals/simulation/methods/hooks/get-locale.js.map +1 -0
  232. package/dist/internals/simulation/methods/hooks/get-locale.mjs +8 -0
  233. package/dist/internals/simulation/methods/hooks/get-locale.mjs.map +1 -0
  234. package/dist/internals/simulation/methods/hooks/index.js +45 -0
  235. package/dist/internals/simulation/methods/hooks/index.js.map +1 -0
  236. package/dist/internals/simulation/methods/hooks/index.mjs +45 -0
  237. package/dist/internals/simulation/methods/hooks/index.mjs.map +1 -0
  238. package/dist/internals/simulation/methods/hooks/interface.js +10 -0
  239. package/dist/internals/simulation/methods/hooks/interface.js.map +1 -0
  240. package/dist/internals/simulation/methods/hooks/interface.mjs +10 -0
  241. package/dist/internals/simulation/methods/hooks/interface.mjs.map +1 -0
  242. package/dist/internals/simulation/methods/hooks/notifications.js +16 -0
  243. package/dist/internals/simulation/methods/hooks/notifications.js.map +1 -0
  244. package/dist/internals/simulation/methods/hooks/notifications.mjs +16 -0
  245. package/dist/internals/simulation/methods/hooks/notifications.mjs.map +1 -0
  246. package/dist/internals/simulation/methods/hooks/show-dialog.js +14 -0
  247. package/dist/internals/simulation/methods/hooks/show-dialog.js.map +1 -0
  248. package/dist/internals/simulation/methods/hooks/show-dialog.mjs +14 -0
  249. package/dist/internals/simulation/methods/hooks/show-dialog.mjs.map +1 -0
  250. package/dist/internals/simulation/methods/hooks/state.js +18 -0
  251. package/dist/internals/simulation/methods/hooks/state.js.map +1 -0
  252. package/dist/internals/simulation/methods/hooks/state.mjs +18 -0
  253. package/dist/internals/simulation/methods/hooks/state.mjs.map +1 -0
  254. package/dist/internals/simulation/methods/index.js +29 -0
  255. package/dist/internals/simulation/methods/index.js.map +1 -0
  256. package/dist/internals/simulation/methods/index.mjs +29 -0
  257. package/dist/internals/simulation/methods/index.mjs.map +1 -0
  258. package/dist/internals/simulation/methods/specifications.js +28 -0
  259. package/dist/internals/simulation/methods/specifications.js.map +1 -0
  260. package/dist/internals/simulation/methods/specifications.mjs +28 -0
  261. package/dist/internals/simulation/methods/specifications.mjs.map +1 -0
  262. package/dist/internals/simulation/middleware/engine.js +15 -0
  263. package/dist/internals/simulation/middleware/engine.js.map +1 -0
  264. package/dist/internals/simulation/middleware/engine.mjs +15 -0
  265. package/dist/internals/simulation/middleware/engine.mjs.map +1 -0
  266. package/dist/internals/simulation/middleware/index.js +16 -0
  267. package/dist/internals/simulation/middleware/index.js.map +1 -0
  268. package/dist/internals/simulation/middleware/index.mjs +16 -0
  269. package/dist/internals/simulation/middleware/index.mjs.map +1 -0
  270. package/dist/internals/simulation/middleware/internal-methods/accounts.js +8 -0
  271. package/dist/internals/simulation/middleware/internal-methods/accounts.js.map +1 -0
  272. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs +8 -0
  273. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs.map +1 -0
  274. package/dist/internals/simulation/middleware/internal-methods/index.js +11 -0
  275. package/dist/internals/simulation/middleware/internal-methods/index.js.map +1 -0
  276. package/dist/internals/simulation/middleware/internal-methods/index.mjs +11 -0
  277. package/dist/internals/simulation/middleware/internal-methods/index.mjs.map +1 -0
  278. package/dist/internals/simulation/middleware/internal-methods/middleware.js +10 -0
  279. package/dist/internals/simulation/middleware/internal-methods/middleware.js.map +1 -0
  280. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs +10 -0
  281. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs.map +1 -0
  282. package/dist/internals/simulation/middleware/internal-methods/provider-state.js +8 -0
  283. package/dist/internals/simulation/middleware/internal-methods/provider-state.js.map +1 -0
  284. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs +8 -0
  285. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs.map +1 -0
  286. package/dist/internals/simulation/middleware/mock.js +9 -0
  287. package/dist/internals/simulation/middleware/mock.js.map +1 -0
  288. package/dist/internals/simulation/middleware/mock.mjs +9 -0
  289. package/dist/internals/simulation/middleware/mock.mjs.map +1 -0
  290. package/dist/internals/simulation/options.js +9 -0
  291. package/dist/internals/simulation/options.js.map +1 -0
  292. package/dist/internals/simulation/options.mjs +9 -0
  293. package/dist/internals/simulation/options.mjs.map +1 -0
  294. package/dist/internals/simulation/simulation.js +39 -0
  295. package/dist/internals/simulation/simulation.js.map +1 -0
  296. package/dist/internals/simulation/simulation.mjs +39 -0
  297. package/dist/internals/simulation/simulation.mjs.map +1 -0
  298. package/dist/internals/simulation/store/index.js +44 -0
  299. package/dist/internals/simulation/store/index.js.map +1 -0
  300. package/dist/internals/simulation/store/index.mjs +44 -0
  301. package/dist/internals/simulation/store/index.mjs.map +1 -0
  302. package/dist/internals/simulation/store/mocks.js +16 -0
  303. package/dist/internals/simulation/store/mocks.js.map +1 -0
  304. package/dist/internals/simulation/store/mocks.mjs +16 -0
  305. package/dist/internals/simulation/store/mocks.mjs.map +1 -0
  306. package/dist/internals/simulation/store/notifications.js +16 -0
  307. package/dist/internals/simulation/store/notifications.js.map +1 -0
  308. package/dist/internals/simulation/store/notifications.mjs +16 -0
  309. package/dist/internals/simulation/store/notifications.mjs.map +1 -0
  310. package/dist/internals/simulation/store/state.js +14 -0
  311. package/dist/internals/simulation/store/state.js.map +1 -0
  312. package/dist/internals/simulation/store/state.mjs +14 -0
  313. package/dist/internals/simulation/store/state.mjs.map +1 -0
  314. package/dist/internals/simulation/store/store.js +12 -0
  315. package/dist/internals/simulation/store/store.js.map +1 -0
  316. package/dist/internals/simulation/store/store.mjs +12 -0
  317. package/dist/internals/simulation/store/store.mjs.map +1 -0
  318. package/dist/internals/simulation/store/ui.js +16 -0
  319. package/dist/internals/simulation/store/ui.js.map +1 -0
  320. package/dist/internals/simulation/store/ui.mjs +16 -0
  321. package/dist/internals/simulation/store/ui.mjs.map +1 -0
  322. package/dist/internals/structs.js +18 -0
  323. package/dist/internals/structs.js.map +1 -0
  324. package/dist/internals/structs.mjs +18 -0
  325. package/dist/internals/structs.mjs.map +1 -0
  326. package/dist/matchers.js +50 -0
  327. package/dist/matchers.js.map +1 -0
  328. package/dist/matchers.mjs +50 -0
  329. package/dist/matchers.mjs.map +1 -0
  330. package/dist/options.js +8 -0
  331. package/dist/options.js.map +1 -0
  332. package/dist/options.mjs +8 -0
  333. package/dist/options.mjs.map +1 -0
  334. package/dist/setup.js +39 -0
  335. package/dist/setup.js.map +1 -0
  336. package/dist/setup.mjs +39 -0
  337. package/dist/setup.mjs.map +1 -0
  338. package/dist/tsconfig.build.tsbuildinfo +1 -0
  339. package/dist/types/vendor/readable-stream.d.js +1 -0
  340. package/dist/types/vendor/readable-stream.d.js.map +1 -0
  341. package/dist/types/vendor/readable-stream.d.mjs +1 -0
  342. package/dist/types/vendor/readable-stream.d.mjs.map +1 -0
  343. package/dist/types.js +2 -0
  344. package/dist/types.js.map +1 -0
  345. package/dist/types.mjs +2 -0
  346. package/dist/types.mjs.map +1 -0
  347. package/jest-preset.js +1 -1
  348. package/package.json +24 -20
  349. package/dist/cjs/environment.js +0 -144
  350. package/dist/cjs/environment.js.map +0 -1
  351. package/dist/cjs/helpers.js +0 -142
  352. package/dist/cjs/helpers.js.map +0 -1
  353. package/dist/cjs/index.js +0 -42
  354. package/dist/cjs/index.js.map +0 -1
  355. package/dist/cjs/internals/environment.js +0 -19
  356. package/dist/cjs/internals/environment.js.map +0 -1
  357. package/dist/cjs/internals/index.js +0 -25
  358. package/dist/cjs/internals/index.js.map +0 -1
  359. package/dist/cjs/internals/logger.js +0 -14
  360. package/dist/cjs/internals/logger.js.map +0 -1
  361. package/dist/cjs/internals/request.js +0 -69
  362. package/dist/cjs/internals/request.js.map +0 -1
  363. package/dist/cjs/internals/server.js +0 -71
  364. package/dist/cjs/internals/server.js.map +0 -1
  365. package/dist/cjs/internals/simulation/constants.js +0 -29
  366. package/dist/cjs/internals/simulation/constants.js.map +0 -1
  367. package/dist/cjs/internals/simulation/controllers.js +0 -95
  368. package/dist/cjs/internals/simulation/controllers.js.map +0 -1
  369. package/dist/cjs/internals/simulation/files.js +0 -22
  370. package/dist/cjs/internals/simulation/files.js.map +0 -1
  371. package/dist/cjs/internals/simulation/index.js +0 -24
  372. package/dist/cjs/internals/simulation/index.js.map +0 -1
  373. package/dist/cjs/internals/simulation/interface.js +0 -98
  374. package/dist/cjs/internals/simulation/interface.js.map +0 -1
  375. package/dist/cjs/internals/simulation/methods/constants.js +0 -84
  376. package/dist/cjs/internals/simulation/methods/constants.js.map +0 -1
  377. package/dist/cjs/internals/simulation/methods/hooks/encryption.js +0 -33
  378. package/dist/cjs/internals/simulation/methods/hooks/encryption.js.map +0 -1
  379. package/dist/cjs/internals/simulation/methods/hooks/get-locale.js +0 -17
  380. package/dist/cjs/internals/simulation/methods/hooks/get-locale.js.map +0 -1
  381. package/dist/cjs/internals/simulation/methods/hooks/index.js +0 -25
  382. package/dist/cjs/internals/simulation/methods/hooks/index.js.map +0 -1
  383. package/dist/cjs/internals/simulation/methods/hooks/interface.js +0 -26
  384. package/dist/cjs/internals/simulation/methods/hooks/interface.js.map +0 -1
  385. package/dist/cjs/internals/simulation/methods/hooks/notifications.js +0 -66
  386. package/dist/cjs/internals/simulation/methods/hooks/notifications.js.map +0 -1
  387. package/dist/cjs/internals/simulation/methods/hooks/show-dialog.js +0 -43
  388. package/dist/cjs/internals/simulation/methods/hooks/state.js +0 -80
  389. package/dist/cjs/internals/simulation/methods/hooks/state.js.map +0 -1
  390. package/dist/cjs/internals/simulation/methods/index.js +0 -20
  391. package/dist/cjs/internals/simulation/methods/index.js.map +0 -1
  392. package/dist/cjs/internals/simulation/methods/specifications.js +0 -81
  393. package/dist/cjs/internals/simulation/methods/specifications.js.map +0 -1
  394. package/dist/cjs/internals/simulation/middleware/engine.js +0 -31
  395. package/dist/cjs/internals/simulation/middleware/engine.js.map +0 -1
  396. package/dist/cjs/internals/simulation/middleware/index.js +0 -20
  397. package/dist/cjs/internals/simulation/middleware/index.js.map +0 -1
  398. package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js +0 -30
  399. package/dist/cjs/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
  400. package/dist/cjs/internals/simulation/middleware/internal-methods/index.js +0 -20
  401. package/dist/cjs/internals/simulation/middleware/internal-methods/index.js.map +0 -1
  402. package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js +0 -37
  403. package/dist/cjs/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
  404. package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
  405. package/dist/cjs/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
  406. package/dist/cjs/internals/simulation/middleware/mock.js +0 -23
  407. package/dist/cjs/internals/simulation/middleware/mock.js.map +0 -1
  408. package/dist/cjs/internals/simulation/options.js +0 -24
  409. package/dist/cjs/internals/simulation/options.js.map +0 -1
  410. package/dist/cjs/internals/simulation/simulation.js +0 -124
  411. package/dist/cjs/internals/simulation/simulation.js.map +0 -1
  412. package/dist/cjs/internals/simulation/store/index.js +0 -23
  413. package/dist/cjs/internals/simulation/store/index.js.map +0 -1
  414. package/dist/cjs/internals/simulation/store/mocks.js +0 -52
  415. package/dist/cjs/internals/simulation/store/mocks.js.map +0 -1
  416. package/dist/cjs/internals/simulation/store/notifications.js +0 -52
  417. package/dist/cjs/internals/simulation/store/notifications.js.map +0 -1
  418. package/dist/cjs/internals/simulation/store/state.js +0 -64
  419. package/dist/cjs/internals/simulation/store/state.js.map +0 -1
  420. package/dist/cjs/internals/simulation/store/store.js +0 -57
  421. package/dist/cjs/internals/simulation/store/store.js.map +0 -1
  422. package/dist/cjs/internals/simulation/store/ui.js +0 -48
  423. package/dist/cjs/internals/simulation/store/ui.js.map +0 -1
  424. package/dist/cjs/internals/structs.js +0 -165
  425. package/dist/cjs/internals/structs.js.map +0 -1
  426. package/dist/cjs/matchers.js +0 -120
  427. package/dist/cjs/matchers.js.map +0 -1
  428. package/dist/cjs/options.js +0 -23
  429. package/dist/cjs/options.js.map +0 -1
  430. package/dist/cjs/setup.js +0 -10
  431. package/dist/cjs/setup.js.map +0 -1
  432. package/dist/cjs/types.js +0 -6
  433. package/dist/cjs/types.js.map +0 -1
  434. package/dist/esm/environment.js +0 -121
  435. package/dist/esm/environment.js.map +0 -1
  436. package/dist/esm/helpers.js +0 -163
  437. package/dist/esm/helpers.js.map +0 -1
  438. package/dist/esm/index.js +0 -6
  439. package/dist/esm/index.js.map +0 -1
  440. package/dist/esm/internals/environment.js +0 -14
  441. package/dist/esm/internals/environment.js.map +0 -1
  442. package/dist/esm/internals/index.js +0 -8
  443. package/dist/esm/internals/index.js.map +0 -1
  444. package/dist/esm/internals/logger.js +0 -4
  445. package/dist/esm/internals/logger.js.map +0 -1
  446. package/dist/esm/internals/request.js +0 -77
  447. package/dist/esm/internals/request.js.map +0 -1
  448. package/dist/esm/internals/server.js +0 -64
  449. package/dist/esm/internals/server.js.map +0 -1
  450. package/dist/esm/internals/simulation/constants.js +0 -12
  451. package/dist/esm/internals/simulation/constants.js.map +0 -1
  452. package/dist/esm/internals/simulation/controllers.js +0 -90
  453. package/dist/esm/internals/simulation/controllers.js.map +0 -1
  454. package/dist/esm/internals/simulation/files.js +0 -19
  455. package/dist/esm/internals/simulation/files.js.map +0 -1
  456. package/dist/esm/internals/simulation/index.js +0 -7
  457. package/dist/esm/internals/simulation/index.js.map +0 -1
  458. package/dist/esm/internals/simulation/interface.js +0 -95
  459. package/dist/esm/internals/simulation/interface.js.map +0 -1
  460. package/dist/esm/internals/simulation/methods/constants.js +0 -69
  461. package/dist/esm/internals/simulation/methods/constants.js.map +0 -1
  462. package/dist/esm/internals/simulation/methods/hooks/encryption.js +0 -39
  463. package/dist/esm/internals/simulation/methods/hooks/encryption.js.map +0 -1
  464. package/dist/esm/internals/simulation/methods/hooks/get-locale.js +0 -13
  465. package/dist/esm/internals/simulation/methods/hooks/get-locale.js.map +0 -1
  466. package/dist/esm/internals/simulation/methods/hooks/index.js +0 -8
  467. package/dist/esm/internals/simulation/methods/hooks/index.js.map +0 -1
  468. package/dist/esm/internals/simulation/methods/hooks/interface.js +0 -18
  469. package/dist/esm/internals/simulation/methods/hooks/interface.js.map +0 -1
  470. package/dist/esm/internals/simulation/methods/hooks/notifications.js +0 -58
  471. package/dist/esm/internals/simulation/methods/hooks/notifications.js.map +0 -1
  472. package/dist/esm/internals/simulation/methods/hooks/show-dialog.js +0 -38
  473. package/dist/esm/internals/simulation/methods/hooks/show-dialog.js.map +0 -1
  474. package/dist/esm/internals/simulation/methods/hooks/state.js +0 -74
  475. package/dist/esm/internals/simulation/methods/hooks/state.js.map +0 -1
  476. package/dist/esm/internals/simulation/methods/index.js +0 -3
  477. package/dist/esm/internals/simulation/methods/index.js.map +0 -1
  478. package/dist/esm/internals/simulation/methods/specifications.js +0 -84
  479. package/dist/esm/internals/simulation/methods/specifications.js.map +0 -1
  480. package/dist/esm/internals/simulation/middleware/engine.js +0 -33
  481. package/dist/esm/internals/simulation/middleware/engine.js.map +0 -1
  482. package/dist/esm/internals/simulation/middleware/index.js +0 -3
  483. package/dist/esm/internals/simulation/middleware/index.js.map +0 -1
  484. package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js +0 -31
  485. package/dist/esm/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
  486. package/dist/esm/internals/simulation/middleware/internal-methods/index.js +0 -3
  487. package/dist/esm/internals/simulation/middleware/internal-methods/index.js.map +0 -1
  488. package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js +0 -37
  489. package/dist/esm/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
  490. package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js +0 -23
  491. package/dist/esm/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
  492. package/dist/esm/internals/simulation/middleware/mock.js +0 -18
  493. package/dist/esm/internals/simulation/middleware/mock.js.map +0 -1
  494. package/dist/esm/internals/simulation/options.js +0 -20
  495. package/dist/esm/internals/simulation/options.js.map +0 -1
  496. package/dist/esm/internals/simulation/simulation.js +0 -128
  497. package/dist/esm/internals/simulation/simulation.js.map +0 -1
  498. package/dist/esm/internals/simulation/store/index.js +0 -6
  499. package/dist/esm/internals/simulation/store/index.js.map +0 -1
  500. package/dist/esm/internals/simulation/store/mocks.js +0 -32
  501. package/dist/esm/internals/simulation/store/mocks.js.map +0 -1
  502. package/dist/esm/internals/simulation/store/notifications.js +0 -30
  503. package/dist/esm/internals/simulation/store/notifications.js.map +0 -1
  504. package/dist/esm/internals/simulation/store/state.js +0 -47
  505. package/dist/esm/internals/simulation/store/state.js.map +0 -1
  506. package/dist/esm/internals/simulation/store/store.js +0 -50
  507. package/dist/esm/internals/simulation/store/store.js.map +0 -1
  508. package/dist/esm/internals/simulation/store/ui.js +0 -21
  509. package/dist/esm/internals/simulation/store/ui.js.map +0 -1
  510. package/dist/esm/internals/structs.js +0 -135
  511. package/dist/esm/internals/structs.js.map +0 -1
  512. package/dist/esm/matchers.js +0 -111
  513. package/dist/esm/matchers.js.map +0 -1
  514. package/dist/esm/options.js +0 -20
  515. package/dist/esm/options.js.map +0 -1
  516. package/dist/esm/setup.js +0 -6
  517. package/dist/esm/setup.js.map +0 -1
  518. package/dist/esm/types.js +0 -3
  519. package/dist/esm/types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/interface.ts"],"sourcesContent":["import type { Component, SnapId } from '@metamask/snaps-sdk';\nimport { DialogType } from '@metamask/snaps-sdk';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport type { SagaIterator } from 'redux-saga';\nimport { put, select, take } from 'redux-saga/effects';\n\nimport type { SnapInterface } from '../../types';\nimport type { RootControllerMessenger } from './controllers';\nimport type { Interface, RunSagaFunction } from './store';\nimport { getCurrentInterface, resolveInterface, setInterface } from './store';\n\n/**\n * Get a user interface object from a type and content object.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @param type - The type of the interface.\n * @param content - The content to show in the interface.\n * @returns The user interface object.\n */\nexport function getInterfaceResponse(\n runSaga: RunSagaFunction,\n type: DialogType,\n content: Component,\n): SnapInterface {\n switch (type) {\n case DialogType.Alert:\n return {\n type,\n content,\n ok: resolveWith(runSaga, null),\n };\n\n case DialogType.Confirmation:\n return {\n type,\n content,\n\n ok: resolveWith(runSaga, true),\n cancel: resolveWith(runSaga, false),\n };\n\n case DialogType.Prompt:\n return {\n type,\n content,\n\n ok: resolveWithInput(runSaga),\n cancel: resolveWith(runSaga, null),\n };\n\n default:\n throw new Error(`Unknown or unsupported dialog type: \"${String(type)}\".`);\n }\n}\n\n/**\n * Resolve the current user interface with the given value. This returns a\n * function that can be used to resolve the user interface.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @param value - The value to resolve the user interface with.\n * @returns A function that can be used to resolve the user interface.\n */\nfunction resolveWith(runSaga: RunSagaFunction, value: unknown) {\n /**\n * Resolve the current user interface with the given value.\n *\n * @yields Puts the resolve user interface action.\n */\n function* resolveWithSaga(): SagaIterator {\n yield put(resolveInterface(value));\n }\n\n return async () => {\n await runSaga(resolveWithSaga).toPromise();\n };\n}\n\n/**\n * Resolve the current user interface with the provided input. This returns a\n * function that can be used to resolve the user interface.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A function that can be used to resolve the user interface.\n */\nfunction resolveWithInput(runSaga: RunSagaFunction) {\n /**\n * Resolve the current user interface with the given value.\n *\n * @param value - The value to resolve the user interface with.\n * @yields Puts the resolve user interface action.\n */\n function* resolveWithSaga(value: string): SagaIterator {\n yield put(resolveInterface(value));\n }\n\n return async (value = '') => {\n await runSaga(resolveWithSaga, value).toPromise();\n };\n}\n\n/**\n * Get a user interface object from a Snap.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger used to call actions.\n * @yields Takes the set interface action.\n * @returns The user interface object.\n */\nexport function* getInterface(\n runSaga: RunSagaFunction,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n): SagaIterator<SnapInterface> {\n const currentInterface: Interface | null = yield select(getCurrentInterface);\n if (currentInterface) {\n const { content } = controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n currentInterface.id,\n );\n return getInterfaceResponse(runSaga, currentInterface.type, content);\n }\n\n const { payload }: PayloadAction<Interface> = yield take(setInterface.type);\n const { type, id } = payload;\n\n const { content } = controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n id,\n );\n\n return getInterfaceResponse(runSaga, type, content);\n}\n"],"mappings":";;;;;;;AACA,SAAS,kBAAkB;AAG3B,SAAS,KAAK,QAAQ,YAAY;AAe3B,SAAS,qBACd,SACA,MACA,SACe;AACf,UAAQ,MAAM;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,IAAI,YAAY,SAAS,IAAI;AAAA,MAC/B;AAAA,IAEF,KAAK,WAAW;AACd,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QAEA,IAAI,YAAY,SAAS,IAAI;AAAA,QAC7B,QAAQ,YAAY,SAAS,KAAK;AAAA,MACpC;AAAA,IAEF,KAAK,WAAW;AACd,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QAEA,IAAI,iBAAiB,OAAO;AAAA,QAC5B,QAAQ,YAAY,SAAS,IAAI;AAAA,MACnC;AAAA,IAEF;AACE,YAAM,IAAI,MAAM,wCAAwC,OAAO,IAAI,CAAC,IAAI;AAAA,EAC5E;AACF;AAUA,SAAS,YAAY,SAA0B,OAAgB;AAM7D,YAAU,kBAAgC;AACxC,UAAM,IAAI,iBAAiB,KAAK,CAAC;AAAA,EACnC;AAEA,SAAO,YAAY;AACjB,UAAM,QAAQ,eAAe,EAAE,UAAU;AAAA,EAC3C;AACF;AASA,SAAS,iBAAiB,SAA0B;AAOlD,YAAU,gBAAgB,OAA6B;AACrD,UAAM,IAAI,iBAAiB,KAAK,CAAC;AAAA,EACnC;AAEA,SAAO,OAAO,QAAQ,OAAO;AAC3B,UAAM,QAAQ,iBAAiB,KAAK,EAAE,UAAU;AAAA,EAClD;AACF;AAWO,UAAU,aACf,SACA,QACA,qBAC6B;AAC7B,QAAM,mBAAqC,MAAM,OAAO,mBAAmB;AAC3E,MAAI,kBAAkB;AACpB,UAAM,EAAE,SAAAA,SAAQ,IAAI,oBAAoB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,iBAAiB;AAAA,IACnB;AACA,WAAO,qBAAqB,SAAS,iBAAiB,MAAMA,QAAO;AAAA,EACrE;AAEA,QAAM,EAAE,QAAQ,IAA8B,MAAM,KAAK,aAAa,IAAI;AAC1E,QAAM,EAAE,MAAM,GAAG,IAAI;AAErB,QAAM,EAAE,QAAQ,IAAI,oBAAoB;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO,qBAAqB,SAAS,MAAM,OAAO;AACpD;","names":["content"]}
@@ -0,0 +1,34 @@
1
+ // src/internals/simulation/store/ui.ts
2
+ import { createAction, createSelector, createSlice } from "@reduxjs/toolkit";
3
+ var INITIAL_STATE = {
4
+ current: null
5
+ };
6
+ var uiSlice = createSlice({
7
+ name: "ui",
8
+ initialState: INITIAL_STATE,
9
+ reducers: {
10
+ setInterface(state, action) {
11
+ state.current = action.payload;
12
+ },
13
+ closeInterface(state) {
14
+ state.current = null;
15
+ }
16
+ }
17
+ });
18
+ var resolveInterface = createAction(
19
+ `${uiSlice.name}/resolveInterface`
20
+ );
21
+ var { setInterface, closeInterface } = uiSlice.actions;
22
+ var getCurrentInterface = createSelector(
23
+ (state) => state.ui,
24
+ (ui) => ui.current
25
+ );
26
+
27
+ export {
28
+ uiSlice,
29
+ resolveInterface,
30
+ setInterface,
31
+ closeInterface,
32
+ getCurrentInterface
33
+ };
34
+ //# sourceMappingURL=chunk-74TIKA2T.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/store/ui.ts"],"sourcesContent":["import type { DialogType } from '@metamask/snaps-sdk';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createAction, createSelector, createSlice } from '@reduxjs/toolkit';\n\nimport type { ApplicationState } from './store';\n\nexport type Interface = {\n type: DialogType;\n id: string;\n};\n\nexport type UiState = {\n current?: Interface | null;\n};\n\nconst INITIAL_STATE: UiState = {\n current: null,\n};\n\nexport const uiSlice = createSlice({\n name: 'ui',\n initialState: INITIAL_STATE,\n reducers: {\n setInterface(state, action: PayloadAction<Interface>) {\n state.current = action.payload;\n },\n closeInterface(state) {\n state.current = null;\n },\n },\n});\n\nexport const resolveInterface = createAction<unknown>(\n `${uiSlice.name}/resolveInterface`,\n);\n\nexport const { setInterface, closeInterface } = uiSlice.actions;\n\nexport const getCurrentInterface = createSelector(\n (state: ApplicationState) => state.ui,\n (ui) => ui.current,\n);\n"],"mappings":";AAEA,SAAS,cAAc,gBAAgB,mBAAmB;AAa1D,IAAM,gBAAyB;AAAA,EAC7B,SAAS;AACX;AAEO,IAAM,UAAU,YAAY;AAAA,EACjC,MAAM;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,IACR,aAAa,OAAO,QAAkC;AACpD,YAAM,UAAU,OAAO;AAAA,IACzB;AAAA,IACA,eAAe,OAAO;AACpB,YAAM,UAAU;AAAA,IAClB;AAAA,EACF;AACF,CAAC;AAEM,IAAM,mBAAmB;AAAA,EAC9B,GAAG,QAAQ,IAAI;AACjB;AAEO,IAAM,EAAE,cAAc,eAAe,IAAI,QAAQ;AAEjD,IAAM,sBAAsB;AAAA,EACjC,CAAC,UAA4B,MAAM;AAAA,EACnC,CAAC,OAAO,GAAG;AACb;","names":[]}
@@ -0,0 +1,39 @@
1
+ import {
2
+ clearState,
3
+ getState,
4
+ setState
5
+ } from "./chunk-MPZOXW6I.mjs";
6
+
7
+ // src/internals/simulation/methods/hooks/state.ts
8
+ import { put, select } from "redux-saga/effects";
9
+ function* getSnapStateImplementation(_snapId, encrypted = true) {
10
+ return yield select(getState(encrypted));
11
+ }
12
+ function getGetSnapStateMethodImplementation(runSaga) {
13
+ return (...args) => {
14
+ return runSaga(getSnapStateImplementation, ...args).result();
15
+ };
16
+ }
17
+ function* updateSnapStateImplementation(_snapId, newState, encrypted = true) {
18
+ yield put(setState({ state: newState, encrypted }));
19
+ }
20
+ function getUpdateSnapStateMethodImplementation(runSaga) {
21
+ return (...args) => {
22
+ runSaga(updateSnapStateImplementation, ...args).result();
23
+ };
24
+ }
25
+ function* clearSnapStateImplementation(_snapId, encrypted = true) {
26
+ yield put(clearState({ encrypted }));
27
+ }
28
+ function getClearSnapStateMethodImplementation(runSaga) {
29
+ return async (...args) => {
30
+ runSaga(clearSnapStateImplementation, ...args).result();
31
+ };
32
+ }
33
+
34
+ export {
35
+ getGetSnapStateMethodImplementation,
36
+ getUpdateSnapStateMethodImplementation,
37
+ getClearSnapStateMethodImplementation
38
+ };
39
+ //# sourceMappingURL=chunk-7BFTEFLS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/hooks/state.ts"],"sourcesContent":["import type { SagaIterator } from 'redux-saga';\nimport { put, select } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { clearState, getState, setState } from '../../store';\n\n/**\n * Get the Snap state from the store.\n *\n * @param _snapId - The ID of the Snap to get the state for. This is ignored\n * because the simulator only supports one Snap.\n * @param encrypted - Whether to get the encrypted or unencrypted state.\n * Defaults to encrypted state.\n * @returns The state of the Snap.\n * @yields Selects the state from the store.\n */\nfunction* getSnapStateImplementation(\n _snapId: string,\n encrypted = true,\n): SagaIterator<string> {\n return yield select(getState(encrypted));\n}\n\n/**\n * Get the implementation of the `getSnapState` hook.\n *\n * @param runSaga - The function to run a saga outside the usual Redux flow.\n * @returns The implementation of the `getSnapState` hook.\n */\nexport function getGetSnapStateMethodImplementation(runSaga: RunSagaFunction) {\n return (...args: Parameters<typeof getSnapStateImplementation>) => {\n return runSaga(getSnapStateImplementation, ...args).result();\n };\n}\n\n/**\n * Update the Snap state in the store.\n *\n * @param _snapId - The ID of the Snap to update the state for. This is ignored\n * because the simulator only supports one Snap.\n * @param newState - The new state.\n * @param encrypted - Whether to update the encrypted or unencrypted state.\n * Defaults to encrypted state.\n * @yields Puts the new state in the store.\n */\nfunction* updateSnapStateImplementation(\n _snapId: string,\n newState: string,\n encrypted = true,\n): SagaIterator<void> {\n yield put(setState({ state: newState, encrypted }));\n}\n\n/**\n * Get the implementation of the `updateSnapState` hook.\n *\n * @param runSaga - The function to run a saga outside the usual Redux flow.\n * @returns The implementation of the `updateSnapState` hook.\n */\nexport function getUpdateSnapStateMethodImplementation(\n runSaga: RunSagaFunction,\n) {\n return (...args: Parameters<typeof updateSnapStateImplementation>) => {\n runSaga(updateSnapStateImplementation, ...args).result();\n };\n}\n\n/**\n * Clear the Snap state in the store.\n *\n * @param _snapId - The ID of the Snap to clear the state for. This is ignored\n * because the simulator only supports one Snap.\n * @param encrypted - Whether to clear the encrypted or unencrypted state.\n * Defaults to encrypted state.\n * @yields Puts the new state in the store.\n */\nfunction* clearSnapStateImplementation(\n _snapId: string,\n encrypted = true,\n): SagaIterator<void> {\n yield put(clearState({ encrypted }));\n}\n\n/**\n * Get the implementation of the `clearSnapState` hook.\n *\n * @param runSaga - The function to run a saga outside the usual Redux flow.\n * @returns The implementation of the `clearSnapState` hook.\n */\nexport function getClearSnapStateMethodImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (...args: Parameters<typeof clearSnapStateImplementation>) => {\n runSaga(clearSnapStateImplementation, ...args).result();\n };\n}\n"],"mappings":";;;;;;;AACA,SAAS,KAAK,cAAc;AAe5B,UAAU,2BACR,SACA,YAAY,MACU;AACtB,SAAO,MAAM,OAAO,SAAS,SAAS,CAAC;AACzC;AAQO,SAAS,oCAAoC,SAA0B;AAC5E,SAAO,IAAI,SAAwD;AACjE,WAAO,QAAQ,4BAA4B,GAAG,IAAI,EAAE,OAAO;AAAA,EAC7D;AACF;AAYA,UAAU,8BACR,SACA,UACA,YAAY,MACQ;AACpB,QAAM,IAAI,SAAS,EAAE,OAAO,UAAU,UAAU,CAAC,CAAC;AACpD;AAQO,SAAS,uCACd,SACA;AACA,SAAO,IAAI,SAA2D;AACpE,YAAQ,+BAA+B,GAAG,IAAI,EAAE,OAAO;AAAA,EACzD;AACF;AAWA,UAAU,6BACR,SACA,YAAY,MACQ;AACpB,QAAM,IAAI,WAAW,EAAE,UAAU,CAAC,CAAC;AACrC;AAQO,SAAS,sCACd,SACA;AACA,SAAO,UAAU,SAA0D;AACzE,YAAQ,8BAA8B,GAAG,IAAI,EAAE,OAAO;AAAA,EACxD;AACF;","names":[]}
@@ -0,0 +1,233 @@
1
+ // src/internals/structs.ts
2
+ import {
3
+ NotificationType,
4
+ ComponentStruct,
5
+ enumValue
6
+ } from "@metamask/snaps-sdk";
7
+ import {
8
+ bytesToHex,
9
+ JsonStruct,
10
+ StrictHexStruct,
11
+ valueToBytes
12
+ } from "@metamask/utils";
13
+ import { randomBytes } from "crypto";
14
+ import {
15
+ array,
16
+ assign,
17
+ bigint,
18
+ coerce,
19
+ defaulted,
20
+ instance,
21
+ literal,
22
+ number,
23
+ object,
24
+ optional,
25
+ string,
26
+ type,
27
+ union,
28
+ record,
29
+ any
30
+ } from "superstruct";
31
+ var BytesLikeStruct = union([
32
+ bigint(),
33
+ number(),
34
+ string(),
35
+ instance(Uint8Array)
36
+ ]);
37
+ var TransactionOptionsStruct = object({
38
+ /**
39
+ * The CAIP-2 chain ID to send the transaction on. Defaults to `eip155:1`.
40
+ */
41
+ chainId: defaulted(string(), "eip155:1"),
42
+ /**
43
+ * The origin to send the transaction from. Defaults to `metamask.io`.
44
+ */
45
+ origin: defaulted(string(), "metamask.io"),
46
+ /**
47
+ * The address to send the transaction from. Defaults to a randomly generated
48
+ * address.
49
+ */
50
+ // TODO: Move this coercer to `@metamask/utils`.
51
+ from: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {
52
+ if (value) {
53
+ return bytesToHex(valueToBytes(value));
54
+ }
55
+ return bytesToHex(randomBytes(20));
56
+ }),
57
+ /**
58
+ * The address to send the transaction to. Defaults to a randomly generated
59
+ * address.
60
+ */
61
+ // TODO: Move this coercer to `@metamask/utils`.
62
+ to: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {
63
+ if (value) {
64
+ return bytesToHex(valueToBytes(value));
65
+ }
66
+ return bytesToHex(randomBytes(20));
67
+ }),
68
+ /**
69
+ * The value to send with the transaction. The value may be specified as a
70
+ * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0`.
71
+ */
72
+ value: defaulted(
73
+ coerce(
74
+ StrictHexStruct,
75
+ BytesLikeStruct,
76
+ (value) => bytesToHex(valueToBytes(value))
77
+ ),
78
+ "0x0"
79
+ ),
80
+ /**
81
+ * The gas limit to use for the transaction. The gas limit may be specified
82
+ * as a `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `21_000`.
83
+ */
84
+ gasLimit: defaulted(
85
+ coerce(
86
+ StrictHexStruct,
87
+ BytesLikeStruct,
88
+ (value) => bytesToHex(valueToBytes(value))
89
+ ),
90
+ valueToBytes(21e3)
91
+ ),
92
+ /**
93
+ * The max fee per gas (in Wei) to use for the transaction. The max fee per
94
+ * gas may be specified as a `number`, `bigint`, `string`, or `Uint8Array`.
95
+ * Defaults to `1`.
96
+ */
97
+ maxFeePerGas: defaulted(
98
+ coerce(
99
+ StrictHexStruct,
100
+ BytesLikeStruct,
101
+ (value) => bytesToHex(valueToBytes(value))
102
+ ),
103
+ valueToBytes(1)
104
+ ),
105
+ /**
106
+ * The max priority fee per gas (in Wei) to use for the transaction. The max
107
+ * priority fee per gas may be specified as a `number`, `bigint`, `string`,
108
+ * or `Uint8Array`. Defaults to `1`.
109
+ */
110
+ maxPriorityFeePerGas: defaulted(
111
+ coerce(
112
+ StrictHexStruct,
113
+ BytesLikeStruct,
114
+ (value) => bytesToHex(valueToBytes(value))
115
+ ),
116
+ valueToBytes(1)
117
+ ),
118
+ /**
119
+ * The nonce to use for the transaction. The nonce may be specified as a
120
+ * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0`.
121
+ */
122
+ nonce: defaulted(
123
+ coerce(
124
+ StrictHexStruct,
125
+ BytesLikeStruct,
126
+ (value) => bytesToHex(valueToBytes(value))
127
+ ),
128
+ valueToBytes(0)
129
+ ),
130
+ /**
131
+ * The data to send with the transaction. The data may be specified as a
132
+ * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0x`.
133
+ */
134
+ data: defaulted(
135
+ coerce(
136
+ union([StrictHexStruct, literal("0x")]),
137
+ BytesLikeStruct,
138
+ (value) => bytesToHex(valueToBytes(value))
139
+ ),
140
+ "0x"
141
+ )
142
+ });
143
+ var SignatureOptionsStruct = object({
144
+ /**
145
+ * The origin making the signature request.
146
+ */
147
+ origin: defaulted(string(), "metamask.io"),
148
+ /**
149
+ * The address signing the signature request. Defaults to a randomly generated
150
+ * address.
151
+ */
152
+ from: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {
153
+ if (value) {
154
+ return bytesToHex(valueToBytes(value));
155
+ }
156
+ return bytesToHex(randomBytes(20));
157
+ }),
158
+ /**
159
+ * The data to send with the transaction. The data may be specified as a
160
+ * `string`, an object, or an array of objects. This covers the data types
161
+ * for the supported signature methods. Defaults to `0x`.
162
+ */
163
+ data: defaulted(
164
+ union([
165
+ StrictHexStruct,
166
+ literal("0x"),
167
+ record(string(), any()),
168
+ array(record(string(), any()))
169
+ ]),
170
+ "0x"
171
+ ),
172
+ /**
173
+ * The signature method being used.
174
+ */
175
+ signatureMethod: defaulted(
176
+ union([
177
+ literal("eth_sign"),
178
+ literal("personal_sign"),
179
+ literal("eth_signTypedData"),
180
+ literal("eth_signTypedData_v3"),
181
+ literal("eth_signTypedData_v4")
182
+ ]),
183
+ "personal_sign"
184
+ )
185
+ });
186
+ var SnapOptionsStruct = object({
187
+ /**
188
+ * The timeout in milliseconds to use for requests to the snap. Defaults to
189
+ * `1000`.
190
+ */
191
+ timeout: defaulted(optional(number()), 1e3)
192
+ });
193
+ var JsonRpcMockOptionsStruct = object({
194
+ method: string(),
195
+ result: JsonStruct
196
+ });
197
+ var InterfaceStruct = type({
198
+ content: optional(ComponentStruct)
199
+ });
200
+ var SnapResponseStruct = assign(
201
+ InterfaceStruct,
202
+ object({
203
+ id: string(),
204
+ response: union([
205
+ object({
206
+ result: JsonStruct
207
+ }),
208
+ object({
209
+ error: JsonStruct
210
+ })
211
+ ]),
212
+ notifications: array(
213
+ object({
214
+ id: string(),
215
+ message: string(),
216
+ type: union([
217
+ enumValue(NotificationType.InApp),
218
+ enumValue(NotificationType.Native)
219
+ ])
220
+ })
221
+ )
222
+ })
223
+ );
224
+
225
+ export {
226
+ TransactionOptionsStruct,
227
+ SignatureOptionsStruct,
228
+ SnapOptionsStruct,
229
+ JsonRpcMockOptionsStruct,
230
+ InterfaceStruct,
231
+ SnapResponseStruct
232
+ };
233
+ //# sourceMappingURL=chunk-7J34R6YW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/structs.ts"],"sourcesContent":["import {\n NotificationType,\n ComponentStruct,\n enumValue,\n} from '@metamask/snaps-sdk';\nimport {\n bytesToHex,\n JsonStruct,\n StrictHexStruct,\n valueToBytes,\n} from '@metamask/utils';\nimport { randomBytes } from 'crypto';\nimport {\n array,\n assign,\n bigint,\n coerce,\n defaulted,\n instance,\n literal,\n number,\n object,\n optional,\n string,\n type,\n union,\n record,\n any,\n} from 'superstruct';\n\n// TODO: Export this from `@metamask/utils` instead.\nconst BytesLikeStruct = union([\n bigint(),\n number(),\n string(),\n instance(Uint8Array),\n]);\n\nexport const TransactionOptionsStruct = object({\n /**\n * The CAIP-2 chain ID to send the transaction on. Defaults to `eip155:1`.\n */\n chainId: defaulted(string(), 'eip155:1'),\n\n /**\n * The origin to send the transaction from. Defaults to `metamask.io`.\n */\n origin: defaulted(string(), 'metamask.io'),\n\n /**\n * The address to send the transaction from. Defaults to a randomly generated\n * address.\n */\n // TODO: Move this coercer to `@metamask/utils`.\n from: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {\n if (value) {\n return bytesToHex(valueToBytes(value));\n }\n\n return bytesToHex(randomBytes(20));\n }),\n\n /**\n * The address to send the transaction to. Defaults to a randomly generated\n * address.\n */\n // TODO: Move this coercer to `@metamask/utils`.\n to: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {\n if (value) {\n return bytesToHex(valueToBytes(value));\n }\n\n return bytesToHex(randomBytes(20));\n }),\n\n /**\n * The value to send with the transaction. The value may be specified as a\n * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0`.\n */\n value: defaulted(\n coerce(StrictHexStruct, BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n '0x0',\n ),\n\n /**\n * The gas limit to use for the transaction. The gas limit may be specified\n * as a `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `21_000`.\n */\n gasLimit: defaulted(\n coerce(StrictHexStruct, BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n valueToBytes(21_000),\n ),\n\n /**\n * The max fee per gas (in Wei) to use for the transaction. The max fee per\n * gas may be specified as a `number`, `bigint`, `string`, or `Uint8Array`.\n * Defaults to `1`.\n */\n maxFeePerGas: defaulted(\n coerce(StrictHexStruct, BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n valueToBytes(1),\n ),\n\n /**\n * The max priority fee per gas (in Wei) to use for the transaction. The max\n * priority fee per gas may be specified as a `number`, `bigint`, `string`,\n * or `Uint8Array`. Defaults to `1`.\n */\n maxPriorityFeePerGas: defaulted(\n coerce(StrictHexStruct, BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n valueToBytes(1),\n ),\n\n /**\n * The nonce to use for the transaction. The nonce may be specified as a\n * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0`.\n */\n nonce: defaulted(\n coerce(StrictHexStruct, BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n valueToBytes(0),\n ),\n\n /**\n * The data to send with the transaction. The data may be specified as a\n * `number`, `bigint`, `string`, or `Uint8Array`. Defaults to `0x`.\n */\n data: defaulted(\n coerce(union([StrictHexStruct, literal('0x')]), BytesLikeStruct, (value) =>\n bytesToHex(valueToBytes(value)),\n ),\n '0x',\n ),\n});\n\nexport const SignatureOptionsStruct = object({\n /**\n * The origin making the signature request.\n */\n origin: defaulted(string(), 'metamask.io'),\n\n /**\n * The address signing the signature request. Defaults to a randomly generated\n * address.\n */\n from: coerce(StrictHexStruct, optional(BytesLikeStruct), (value) => {\n if (value) {\n return bytesToHex(valueToBytes(value));\n }\n\n return bytesToHex(randomBytes(20));\n }),\n\n /**\n * The data to send with the transaction. The data may be specified as a\n * `string`, an object, or an array of objects. This covers the data types\n * for the supported signature methods. Defaults to `0x`.\n */\n data: defaulted(\n union([\n StrictHexStruct,\n literal('0x'),\n record(string(), any()),\n array(record(string(), any())),\n ]),\n '0x',\n ),\n\n /**\n * The signature method being used.\n */\n signatureMethod: defaulted(\n union([\n literal('eth_sign'),\n literal('personal_sign'),\n literal('eth_signTypedData'),\n literal('eth_signTypedData_v3'),\n literal('eth_signTypedData_v4'),\n ]),\n 'personal_sign',\n ),\n});\n\nexport const SnapOptionsStruct = object({\n /**\n * The timeout in milliseconds to use for requests to the snap. Defaults to\n * `1000`.\n */\n timeout: defaulted(optional(number()), 1000),\n});\n\nexport const JsonRpcMockOptionsStruct = object({\n method: string(),\n result: JsonStruct,\n});\n\nexport const InterfaceStruct = type({\n content: optional(ComponentStruct),\n});\n\nexport const SnapResponseStruct = assign(\n InterfaceStruct,\n object({\n id: string(),\n\n response: union([\n object({\n result: JsonStruct,\n }),\n object({\n error: JsonStruct,\n }),\n ]),\n\n notifications: array(\n object({\n id: string(),\n message: string(),\n type: union([\n enumValue(NotificationType.InApp),\n enumValue(NotificationType.Native),\n ]),\n }),\n ),\n }),\n);\n"],"mappings":"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","names":[]}
@@ -0,0 +1,134 @@
1
+ import {
2
+ InterfaceStruct,
3
+ SnapResponseStruct
4
+ } from "./chunk-7J34R6YW.mjs";
5
+
6
+ // src/matchers.ts
7
+ import { expect } from "@jest/globals";
8
+ import { hasProperty } from "@metamask/utils";
9
+ import {
10
+ diff,
11
+ matcherErrorMessage,
12
+ matcherHint,
13
+ printReceived,
14
+ printWithType,
15
+ RECEIVED_COLOR
16
+ } from "jest-matcher-utils";
17
+ import { is } from "superstruct";
18
+ function assertActualIsSnapResponse(actual, matcherName, options) {
19
+ if (!is(actual, SnapResponseStruct)) {
20
+ throw new Error(
21
+ matcherErrorMessage(
22
+ matcherHint(matcherName, void 0, void 0, options),
23
+ `${RECEIVED_COLOR(
24
+ "received"
25
+ )} value must be a response from the \`request\` function`,
26
+ printWithType("Received", actual, printReceived)
27
+ )
28
+ );
29
+ }
30
+ }
31
+ function assertHasInterface(actual, matcherName, options) {
32
+ if (!is(actual, InterfaceStruct) || !actual.content) {
33
+ throw new Error(
34
+ matcherErrorMessage(
35
+ matcherHint(matcherName, void 0, void 0, options),
36
+ `${RECEIVED_COLOR("received")} value must have a \`content\` property`,
37
+ printWithType("Received", actual, printReceived)
38
+ )
39
+ );
40
+ }
41
+ }
42
+ var toRespondWith = function(actual, expected) {
43
+ assertActualIsSnapResponse(actual, "toRespondWith");
44
+ const { response } = actual;
45
+ if (hasProperty(response, "error")) {
46
+ const message2 = () => `${this.utils.matcherHint(".toRespondWith")}
47
+
48
+ Expected response: ${this.utils.printExpected(expected)}
49
+ Received error: ${this.utils.printReceived(response.error)}`;
50
+ return { message: message2, pass: false };
51
+ }
52
+ const pass = this.equals(response.result, expected);
53
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWith")}
54
+
55
+ Expected: ${this.utils.printExpected(expected)}
56
+ Received: ${this.utils.printReceived(response.result)}` : () => `${this.utils.matcherHint(".toRespondWith")}
57
+
58
+ Expected: ${this.utils.printExpected(expected)}
59
+ Received: ${this.utils.printReceived(response.result)}`;
60
+ return { message, pass };
61
+ };
62
+ var toRespondWithError = function(actual, expected) {
63
+ assertActualIsSnapResponse(actual, "toRespondWithError");
64
+ const { response } = actual;
65
+ if (hasProperty(response, "result")) {
66
+ const message2 = () => `${this.utils.matcherHint(".toRespondWithError")}
67
+
68
+ Expected error: ${this.utils.printExpected(expected)}
69
+ Received result: ${this.utils.printReceived(response.result)}`;
70
+ return { message: message2, pass: false };
71
+ }
72
+ const pass = this.equals(response.error, expected);
73
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRespondWithError")}
74
+
75
+ Expected: ${this.utils.printExpected(expected)}
76
+ Received: ${this.utils.printReceived(response.error)}` : () => `${this.utils.matcherHint(".toRespondWithError")}
77
+
78
+ Expected: ${this.utils.printExpected(expected)}
79
+ Received: ${this.utils.printReceived(response.error)}`;
80
+ return { message, pass };
81
+ };
82
+ var toSendNotification = function(actual, expected, type) {
83
+ assertActualIsSnapResponse(actual, "toSendNotification");
84
+ const { notifications } = actual;
85
+ const pass = notifications.some(
86
+ (notification) => this.equals(notification.message, expected) && (type === void 0 || notification.type === type)
87
+ );
88
+ const message = pass ? () => `${this.utils.matcherHint(".not.toSendNotification")}
89
+
90
+ Expected: ${this.utils.printExpected(expected)}
91
+ Expected type: ${this.utils.printExpected(type)}
92
+ Received: ${this.utils.printReceived(notifications)}` : () => `${this.utils.matcherHint(".toSendNotification")}
93
+
94
+ Expected: ${this.utils.printExpected(expected)}
95
+ Expected type: ${this.utils.printExpected(type)}
96
+ Received: ${this.utils.printReceived(notifications)}`;
97
+ return { message, pass };
98
+ };
99
+ var toRender = function(actual, expected) {
100
+ assertHasInterface(actual, "toRender");
101
+ const { content } = actual;
102
+ const pass = this.equals(content, expected);
103
+ const difference = diff(expected, content);
104
+ const message = pass ? () => `${this.utils.matcherHint(".not.toRender")}
105
+
106
+ Expected: ${this.utils.printExpected(expected)}
107
+ Received: ${this.utils.printReceived(content)}
108
+
109
+ Difference:
110
+
111
+ ${difference}` : () => `${this.utils.matcherHint(".toRender")}
112
+
113
+ Expected: ${this.utils.printExpected(expected)}
114
+ Received: ${this.utils.printReceived(content)}
115
+
116
+ Difference:
117
+
118
+ ${difference}`;
119
+ return { message, pass };
120
+ };
121
+ expect.extend({
122
+ toRespondWith,
123
+ toRespondWithError,
124
+ toSendNotification,
125
+ toRender
126
+ });
127
+
128
+ export {
129
+ toRespondWith,
130
+ toRespondWithError,
131
+ toSendNotification,
132
+ toRender
133
+ };
134
+ //# sourceMappingURL=chunk-7VILST6M.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/matchers.ts"],"sourcesContent":["/* eslint-disable no-invalid-this */\n\n// Note: Because this file imports from `@jest/globals`, it can only be used in\n// a Jest environment. This is why it's not exported from the index file.\n\nimport type { MatcherFunction } from '@jest/expect';\nimport { expect } from '@jest/globals';\nimport type {\n NotificationType,\n EnumToUnion,\n Component,\n} from '@metamask/snaps-sdk';\nimport type { Json } from '@metamask/utils';\nimport { hasProperty } from '@metamask/utils';\nimport type { MatcherHintOptions } from 'jest-matcher-utils';\nimport {\n diff,\n matcherErrorMessage,\n matcherHint,\n printReceived,\n printWithType,\n RECEIVED_COLOR,\n} from 'jest-matcher-utils';\nimport { is } from 'superstruct';\n\nimport { InterfaceStruct, SnapResponseStruct } from './internals';\nimport type { SnapResponse } from './types';\n\n/**\n * Ensure that the actual value is a response from the `request` function.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertActualIsSnapResponse(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is SnapResponse {\n if (!is(actual, SnapResponseStruct)) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR(\n 'received',\n )} value must be a response from the \\`request\\` function`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Ensure that the actual value is a response from the `request` function, and\n * that it has a `ui` property.\n *\n * @param actual - The actual value.\n * @param matcherName - The name of the matcher.\n * @param options - The matcher options.\n */\nfunction assertHasInterface(\n actual: unknown,\n matcherName: string,\n options?: MatcherHintOptions,\n): asserts actual is { content: Component } {\n if (!is(actual, InterfaceStruct) || !actual.content) {\n throw new Error(\n matcherErrorMessage(\n matcherHint(matcherName, undefined, undefined, options),\n `${RECEIVED_COLOR('received')} value must have a \\`content\\` property`,\n printWithType('Received', actual, printReceived),\n ),\n );\n }\n}\n\n/**\n * Check if a JSON-RPC response matches the expected value. This matcher is\n * intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected response.\n * @returns The status and message.\n */\nexport const toRespondWith: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWith');\n\n const { response } = actual;\n if (hasProperty(response, 'error')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected response: ${this.utils.printExpected(expected)}\\n` +\n `Received error: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.result, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWith')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass };\n};\n\nexport const toRespondWithError: MatcherFunction<[expected: Json]> = function (\n actual,\n expected,\n) {\n assertActualIsSnapResponse(actual, 'toRespondWithError');\n\n const { response } = actual;\n if (hasProperty(response, 'result')) {\n const message = () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected error: ${this.utils.printExpected(expected)}\\n` +\n `Received result: ${this.utils.printReceived(response.result)}`;\n\n return { message, pass: false };\n }\n\n const pass = this.equals(response.error, expected);\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`\n : () =>\n `${this.utils.matcherHint('.toRespondWithError')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(response.error)}`;\n\n return { message, pass };\n};\n\n/**\n * Check if the snap sent a notification with the expected message. This matcher\n * is intended to be used with the `expect` global.\n *\n * @param actual - The actual response.\n * @param expected - The expected notification message.\n * @param type - The expected notification type.\n * @returns The status and message.\n */\nexport const toSendNotification: MatcherFunction<\n [expected: string, type?: EnumToUnion<NotificationType> | undefined]\n> = function (actual, expected, type) {\n assertActualIsSnapResponse(actual, 'toSendNotification');\n\n const { notifications } = actual;\n const pass = notifications.some(\n (notification) =>\n this.equals(notification.message, expected) &&\n (type === undefined || notification.type === type),\n );\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`\n : () =>\n `${this.utils.matcherHint('.toSendNotification')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Expected type: ${this.utils.printExpected(type)}\\n` +\n `Received: ${this.utils.printReceived(notifications)}`;\n\n return { message, pass };\n};\n\nexport const toRender: MatcherFunction<[expected: Component]> = function (\n actual,\n expected,\n) {\n assertHasInterface(actual, 'toRender');\n\n const { content } = actual;\n const pass = this.equals(content, expected);\n\n // This is typed as `string | null`, but in practice it's always a string. The\n // function only returns `null` if both the expected and actual values are\n // numbers, bigints, or booleans, which is never the case here.\n const difference = diff(expected, content);\n\n const message = pass\n ? () =>\n `${this.utils.matcherHint('.not.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`\n : () =>\n `${this.utils.matcherHint('.toRender')}\\n\\n` +\n `Expected: ${this.utils.printExpected(expected)}\\n` +\n `Received: ${this.utils.printReceived(content)}` +\n `\\n\\nDifference:\\n\\n${difference as string}`;\n\n return { message, pass };\n};\n\nexpect.extend({\n toRespondWith,\n toRespondWithError,\n toSendNotification,\n toRender,\n});\n"],"mappings":"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","names":["message"]}
@@ -0,0 +1,57 @@
1
+ import {
2
+ uiSlice
3
+ } from "./chunk-74TIKA2T.mjs";
4
+ import {
5
+ mocksSlice
6
+ } from "./chunk-H2464AXT.mjs";
7
+ import {
8
+ notificationsSlice
9
+ } from "./chunk-LB4R3BUA.mjs";
10
+ import {
11
+ setState,
12
+ stateSlice
13
+ } from "./chunk-MPZOXW6I.mjs";
14
+
15
+ // src/internals/simulation/store/store.ts
16
+ import { configureStore } from "@reduxjs/toolkit";
17
+ import createSagaMiddleware from "redux-saga";
18
+ function createStore(password, { state, unencryptedState }) {
19
+ const sagaMiddleware = createSagaMiddleware();
20
+ const store = configureStore({
21
+ reducer: {
22
+ mocks: mocksSlice.reducer,
23
+ notifications: notificationsSlice.reducer,
24
+ state: stateSlice.reducer,
25
+ ui: uiSlice.reducer
26
+ },
27
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware({ thunk: false }).concat(sagaMiddleware)
28
+ });
29
+ if (state) {
30
+ store.dispatch(
31
+ setState({
32
+ state: JSON.stringify({
33
+ password,
34
+ value: state
35
+ }),
36
+ encrypted: true
37
+ })
38
+ );
39
+ }
40
+ if (unencryptedState) {
41
+ store.dispatch(
42
+ setState({
43
+ state: JSON.stringify(unencryptedState),
44
+ encrypted: false
45
+ })
46
+ );
47
+ }
48
+ return {
49
+ store,
50
+ runSaga: sagaMiddleware.run.bind(sagaMiddleware)
51
+ };
52
+ }
53
+
54
+ export {
55
+ createStore
56
+ };
57
+ //# sourceMappingURL=chunk-7YD4IW43.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/store/store.ts"],"sourcesContent":["import { configureStore } from '@reduxjs/toolkit';\nimport createSagaMiddleware from 'redux-saga';\n\nimport type { SimulationOptions } from '../options';\nimport { mocksSlice } from './mocks';\nimport { notificationsSlice } from './notifications';\nimport { setState, stateSlice } from './state';\nimport { uiSlice } from './ui';\n\n/**\n * Create a Redux store.\n *\n * @param password - The password to use for state encryption.\n * @param options - The simulation options.\n * @param options.state - The initial state for the Snap.\n * @param options.unencryptedState - The initial unencrypted state for the Snap.\n * @returns A Redux store with the default state.\n */\nexport function createStore(\n password: string,\n { state, unencryptedState }: SimulationOptions,\n) {\n const sagaMiddleware = createSagaMiddleware();\n const store = configureStore({\n reducer: {\n mocks: mocksSlice.reducer,\n notifications: notificationsSlice.reducer,\n state: stateSlice.reducer,\n ui: uiSlice.reducer,\n },\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({ thunk: false }).concat(sagaMiddleware),\n });\n\n // Set initial state for the Snap.\n if (state) {\n store.dispatch(\n setState({\n state: JSON.stringify({\n password,\n value: state,\n }),\n encrypted: true,\n }),\n );\n }\n\n if (unencryptedState) {\n store.dispatch(\n setState({\n state: JSON.stringify(unencryptedState),\n encrypted: false,\n }),\n );\n }\n\n return {\n store,\n runSaga: sagaMiddleware.run.bind(sagaMiddleware),\n };\n}\n\nexport type Store = ReturnType<typeof createStore>['store'];\nexport type ApplicationState = ReturnType<Store['getState']>;\nexport type RunSagaFunction = ReturnType<typeof createStore>['runSaga'];\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,sBAAsB;AAC/B,OAAO,0BAA0B;AAiB1B,SAAS,YACd,UACA,EAAE,OAAO,iBAAiB,GAC1B;AACA,QAAM,iBAAiB,qBAAqB;AAC5C,QAAM,QAAQ,eAAe;AAAA,IAC3B,SAAS;AAAA,MACP,OAAO,WAAW;AAAA,MAClB,eAAe,mBAAmB;AAAA,MAClC,OAAO,WAAW;AAAA,MAClB,IAAI,QAAQ;AAAA,IACd;AAAA,IACA,YAAY,CAAC,yBACX,qBAAqB,EAAE,OAAO,MAAM,CAAC,EAAE,OAAO,cAAc;AAAA,EAChE,CAAC;AAGD,MAAI,OAAO;AACT,UAAM;AAAA,MACJ,SAAS;AAAA,QACP,OAAO,KAAK,UAAU;AAAA,UACpB;AAAA,UACA,OAAO;AAAA,QACT,CAAC;AAAA,QACD,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAAA,EACF;AAEA,MAAI,kBAAkB;AACpB,UAAM;AAAA,MACJ,SAAS;AAAA,QACP,OAAO,KAAK,UAAU,gBAAgB;AAAA,QACtC,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS,eAAe,IAAI,KAAK,cAAc;AAAA,EACjD;AACF;","names":[]}
@@ -0,0 +1,42 @@
1
+ import {
2
+ addNotification
3
+ } from "./chunk-LB4R3BUA.mjs";
4
+
5
+ // src/internals/simulation/methods/hooks/notifications.ts
6
+ import { NotificationType } from "@metamask/snaps-sdk";
7
+ import { nanoid } from "@reduxjs/toolkit";
8
+ import { put } from "redux-saga/effects";
9
+ function* showNativeNotificationImplementation(_snapId, { message }) {
10
+ yield put(
11
+ addNotification({ id: nanoid(), type: NotificationType.Native, message })
12
+ );
13
+ return null;
14
+ }
15
+ function getShowNativeNotificationImplementation(runSaga) {
16
+ return async (...args) => {
17
+ return await runSaga(
18
+ showNativeNotificationImplementation,
19
+ ...args
20
+ ).toPromise();
21
+ };
22
+ }
23
+ function* showInAppNotificationImplementation(_snapId, { message }) {
24
+ yield put(
25
+ addNotification({ id: nanoid(), type: NotificationType.InApp, message })
26
+ );
27
+ return null;
28
+ }
29
+ function getShowInAppNotificationImplementation(runSaga) {
30
+ return async (...args) => {
31
+ return await runSaga(
32
+ showInAppNotificationImplementation,
33
+ ...args
34
+ ).toPromise();
35
+ };
36
+ }
37
+
38
+ export {
39
+ getShowNativeNotificationImplementation,
40
+ getShowInAppNotificationImplementation
41
+ };
42
+ //# sourceMappingURL=chunk-ALRZENWP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internals/simulation/methods/hooks/notifications.ts"],"sourcesContent":["import type { NotifyParams } from '@metamask/snaps-sdk';\nimport { NotificationType } from '@metamask/snaps-sdk';\nimport { nanoid } from '@reduxjs/toolkit';\nimport type { SagaIterator } from 'redux-saga';\nimport { put } from 'redux-saga/effects';\n\nimport type { RunSagaFunction } from '../../store';\nimport { addNotification } from '../../store';\n\n/**\n * Show a native notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showNativeNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.Native, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show a native notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show a native notification.\n */\nexport function getShowNativeNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showNativeNotificationImplementation>\n ) => {\n return await runSaga(\n showNativeNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n\n/**\n * Show an in-app notification to the user.\n *\n * @param _snapId - The ID of the Snap that created the notification.\n * @param options - The notification options.\n * @param options.message - The message to show in the notification.\n * @yields Adds the notification to the store.\n * @returns `null`.\n */\nfunction* showInAppNotificationImplementation(\n _snapId: string,\n { message }: NotifyParams,\n): SagaIterator<null> {\n yield put(\n addNotification({ id: nanoid(), type: NotificationType.InApp, message }),\n );\n\n return null;\n}\n\n/**\n * Get a method that can be used to show an in-app notification.\n *\n * @param runSaga - A function to run a saga outside the usual Redux flow.\n * @returns A method that can be used to show an in-app notification.\n */\nexport function getShowInAppNotificationImplementation(\n runSaga: RunSagaFunction,\n) {\n return async (\n ...args: Parameters<typeof showInAppNotificationImplementation>\n ) => {\n return await runSaga(\n showInAppNotificationImplementation,\n ...args,\n ).toPromise();\n };\n}\n"],"mappings":";;;;;AACA,SAAS,wBAAwB;AACjC,SAAS,cAAc;AAEvB,SAAS,WAAW;AAcpB,UAAU,qCACR,SACA,EAAE,QAAQ,GACI;AACd,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,QAAQ,QAAQ,CAAC;AAAA,EAC1E;AAEA,SAAO;AACT;AAQO,SAAS,wCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF;AAWA,UAAU,oCACR,SACA,EAAE,QAAQ,GACU;AACpB,QAAM;AAAA,IACJ,gBAAgB,EAAE,IAAI,OAAO,GAAG,MAAM,iBAAiB,OAAO,QAAQ,CAAC;AAAA,EACzE;AAEA,SAAO;AACT;AAQO,SAAS,uCACd,SACA;AACA,SAAO,UACF,SACA;AACH,WAAO,MAAM;AAAA,MACX;AAAA,MACA,GAAG;AAAA,IACL,EAAE,UAAU;AAAA,EACd;AACF;","names":[]}