@metamask/snaps-jest 8.2.0 → 8.3.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 (632) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +2 -2
  3. package/dist/environment.cjs +96 -0
  4. package/dist/environment.cjs.map +1 -0
  5. package/dist/{types/environment.d.ts → environment.d.cts} +5 -4
  6. package/dist/environment.d.cts.map +1 -0
  7. package/dist/environment.d.mts +53 -0
  8. package/dist/environment.d.mts.map +1 -0
  9. package/dist/environment.mjs +94 -44
  10. package/dist/environment.mjs.map +1 -1
  11. package/dist/global.cjs +4 -0
  12. package/dist/global.cjs.map +1 -0
  13. package/dist/{types/global.d.ts → global.d.cts} +2 -1
  14. package/dist/global.d.cts.map +1 -0
  15. package/dist/global.d.mts +70 -0
  16. package/dist/global.d.mts.map +1 -0
  17. package/dist/global.mjs +2 -1
  18. package/dist/global.mjs.map +1 -1
  19. package/dist/helpers.cjs +240 -0
  20. package/dist/helpers.cjs.map +1 -0
  21. package/dist/{types/helpers.d.ts → helpers.d.cts} +47 -4
  22. package/dist/helpers.d.cts.map +1 -0
  23. package/dist/helpers.d.mts +132 -0
  24. package/dist/helpers.d.mts.map +1 -0
  25. package/dist/helpers.mjs +228 -42
  26. package/dist/helpers.mjs.map +1 -1
  27. package/dist/index.cjs +29 -0
  28. package/dist/index.cjs.map +1 -0
  29. package/dist/index.d.cts +6 -0
  30. package/dist/index.d.cts.map +1 -0
  31. package/dist/index.d.mts +6 -0
  32. package/dist/index.d.mts.map +1 -0
  33. package/dist/index.mjs +6 -53
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/internals/environment.cjs +18 -0
  36. package/dist/internals/environment.cjs.map +1 -0
  37. package/dist/{types/internals/environment.d.ts → internals/environment.d.cts} +1 -0
  38. package/dist/internals/environment.d.cts.map +1 -0
  39. package/dist/internals/environment.d.mts +8 -0
  40. package/dist/internals/environment.d.mts.map +1 -0
  41. package/dist/internals/environment.mjs +13 -7
  42. package/dist/internals/environment.mjs.map +1 -1
  43. package/dist/internals/index.cjs +23 -0
  44. package/dist/internals/index.cjs.map +1 -0
  45. package/dist/internals/index.d.cts +7 -0
  46. package/dist/internals/index.d.cts.map +1 -0
  47. package/dist/internals/index.d.mts +7 -0
  48. package/dist/internals/index.d.mts.map +1 -0
  49. package/dist/internals/index.mjs +6 -141
  50. package/dist/internals/index.mjs.map +1 -1
  51. package/dist/internals/logger.cjs +6 -0
  52. package/dist/internals/logger.cjs.map +1 -0
  53. package/dist/{types/internals/logger.d.ts → internals/logger.d.cts} +1 -0
  54. package/dist/internals/logger.d.cts.map +1 -0
  55. package/dist/internals/logger.d.mts +3 -0
  56. package/dist/internals/logger.d.mts.map +1 -0
  57. package/dist/internals/logger.mjs +2 -7
  58. package/dist/internals/logger.mjs.map +1 -1
  59. package/dist/internals/request.cjs +143 -0
  60. package/dist/internals/request.cjs.map +1 -0
  61. package/dist/{types/internals/request.d.ts → internals/request.d.cts} +8 -7
  62. package/dist/internals/request.d.cts.map +1 -0
  63. package/dist/internals/request.d.mts +56 -0
  64. package/dist/internals/request.d.mts.map +1 -0
  65. package/dist/internals/request.mjs +137 -41
  66. package/dist/internals/request.mjs.map +1 -1
  67. package/dist/internals/server.cjs +74 -0
  68. package/dist/internals/server.cjs.map +1 -0
  69. package/dist/{types/internals/server.d.ts → internals/server.d.cts} +4 -3
  70. package/dist/internals/server.d.cts.map +1 -0
  71. package/dist/internals/server.d.mts +15 -0
  72. package/dist/internals/server.d.mts.map +1 -0
  73. package/dist/internals/server.mjs +73 -8
  74. package/dist/internals/server.mjs.map +1 -1
  75. package/dist/internals/simulation/constants.cjs +21 -0
  76. package/dist/internals/simulation/constants.cjs.map +1 -0
  77. package/dist/{types/internals/simulation/constants.d.ts → internals/simulation/constants.d.cts} +5 -0
  78. package/dist/internals/simulation/constants.d.cts.map +1 -0
  79. package/dist/internals/simulation/constants.d.mts +18 -0
  80. package/dist/internals/simulation/constants.d.mts.map +1 -0
  81. package/dist/internals/simulation/constants.mjs +17 -11
  82. package/dist/internals/simulation/constants.mjs.map +1 -1
  83. package/dist/internals/simulation/controllers.cjs +101 -0
  84. package/dist/internals/simulation/controllers.cjs.map +1 -0
  85. package/dist/{types/internals/simulation/controllers.d.ts → internals/simulation/controllers.d.cts} +15 -14
  86. package/dist/internals/simulation/controllers.d.cts.map +1 -0
  87. package/dist/internals/simulation/controllers.d.mts +41 -0
  88. package/dist/internals/simulation/controllers.d.mts.map +1 -0
  89. package/dist/internals/simulation/controllers.mjs +95 -24
  90. package/dist/internals/simulation/controllers.mjs.map +1 -1
  91. package/dist/internals/simulation/files.cjs +94 -0
  92. package/dist/internals/simulation/files.cjs.map +1 -0
  93. package/dist/{types/internals/simulation/files.d.ts → internals/simulation/files.d.cts} +6 -4
  94. package/dist/internals/simulation/files.d.cts.map +1 -0
  95. package/dist/internals/simulation/files.d.mts +49 -0
  96. package/dist/internals/simulation/files.d.mts.map +1 -0
  97. package/dist/internals/simulation/files.mjs +90 -13
  98. package/dist/internals/simulation/files.mjs.map +1 -1
  99. package/dist/internals/simulation/index.cjs +22 -0
  100. package/dist/internals/simulation/index.cjs.map +1 -0
  101. package/dist/internals/simulation/index.d.cts +6 -0
  102. package/dist/internals/simulation/index.d.cts.map +1 -0
  103. package/dist/internals/simulation/index.d.mts +6 -0
  104. package/dist/internals/simulation/index.d.mts.map +1 -0
  105. package/dist/internals/simulation/index.mjs +5 -102
  106. package/dist/internals/simulation/index.mjs.map +1 -1
  107. package/dist/internals/simulation/interface.cjs +527 -0
  108. package/dist/internals/simulation/interface.cjs.map +1 -0
  109. package/dist/{types/internals/simulation/interface.d.ts → internals/simulation/interface.d.cts} +38 -10
  110. package/dist/internals/simulation/interface.d.cts.map +1 -0
  111. package/dist/internals/simulation/interface.d.mts +152 -0
  112. package/dist/internals/simulation/interface.d.mts.map +1 -0
  113. package/dist/internals/simulation/interface.mjs +512 -30
  114. package/dist/internals/simulation/interface.mjs.map +1 -1
  115. package/dist/internals/simulation/methods/constants.cjs +72 -0
  116. package/dist/internals/simulation/methods/constants.cjs.map +1 -0
  117. package/dist/{types/internals/simulation/methods/constants.d.ts → internals/simulation/methods/constants.d.cts} +1 -0
  118. package/dist/internals/simulation/methods/constants.d.cts.map +1 -0
  119. package/dist/internals/simulation/methods/constants.d.mts +11 -0
  120. package/dist/internals/simulation/methods/constants.d.mts.map +1 -0
  121. package/dist/internals/simulation/methods/constants.mjs +68 -11
  122. package/dist/internals/simulation/methods/constants.mjs.map +1 -1
  123. package/dist/internals/simulation/methods/hooks/get-preferences.cjs +18 -0
  124. package/dist/internals/simulation/methods/hooks/get-preferences.cjs.map +1 -0
  125. package/dist/internals/simulation/methods/hooks/get-preferences.d.cts +14 -0
  126. package/dist/internals/simulation/methods/hooks/get-preferences.d.cts.map +1 -0
  127. package/dist/internals/simulation/methods/hooks/get-preferences.d.mts +14 -0
  128. package/dist/internals/simulation/methods/hooks/get-preferences.d.mts.map +1 -0
  129. package/dist/internals/simulation/methods/hooks/get-preferences.mjs +14 -0
  130. package/dist/internals/simulation/methods/hooks/get-preferences.mjs.map +1 -0
  131. package/dist/internals/simulation/methods/hooks/index.cjs +22 -0
  132. package/dist/internals/simulation/methods/hooks/index.cjs.map +1 -0
  133. package/dist/internals/simulation/methods/hooks/index.d.cts +6 -0
  134. package/dist/internals/simulation/methods/hooks/index.d.cts.map +1 -0
  135. package/dist/internals/simulation/methods/hooks/index.d.mts +6 -0
  136. package/dist/internals/simulation/methods/hooks/index.d.mts.map +1 -0
  137. package/dist/internals/simulation/methods/hooks/index.mjs +5 -38
  138. package/dist/internals/simulation/methods/hooks/index.mjs.map +1 -1
  139. package/dist/internals/simulation/methods/hooks/interface.cjs +24 -0
  140. package/dist/internals/simulation/methods/hooks/interface.cjs.map +1 -0
  141. package/dist/{types/internals/simulation/methods/hooks/interface.d.ts → internals/simulation/methods/hooks/interface.d.cts} +3 -2
  142. package/dist/internals/simulation/methods/hooks/interface.d.cts.map +1 -0
  143. package/dist/internals/simulation/methods/hooks/interface.d.mts +17 -0
  144. package/dist/internals/simulation/methods/hooks/interface.d.mts.map +1 -0
  145. package/dist/internals/simulation/methods/hooks/interface.mjs +18 -9
  146. package/dist/internals/simulation/methods/hooks/interface.mjs.map +1 -1
  147. package/dist/internals/simulation/methods/hooks/notifications.cjs +58 -0
  148. package/dist/internals/simulation/methods/hooks/notifications.cjs.map +1 -0
  149. package/dist/{types/internals/simulation/methods/hooks/notifications.d.ts → internals/simulation/methods/hooks/notifications.d.cts} +5 -4
  150. package/dist/internals/simulation/methods/hooks/notifications.d.cts.map +1 -0
  151. package/dist/internals/simulation/methods/hooks/notifications.d.mts +17 -0
  152. package/dist/internals/simulation/methods/hooks/notifications.d.mts.map +1 -0
  153. package/dist/internals/simulation/methods/hooks/notifications.mjs +54 -15
  154. package/dist/internals/simulation/methods/hooks/notifications.mjs.map +1 -1
  155. package/dist/internals/simulation/methods/hooks/request-user-approval.cjs +38 -0
  156. package/dist/internals/simulation/methods/hooks/request-user-approval.cjs.map +1 -0
  157. package/dist/internals/simulation/methods/hooks/request-user-approval.d.cts +16 -0
  158. package/dist/internals/simulation/methods/hooks/request-user-approval.d.cts.map +1 -0
  159. package/dist/internals/simulation/methods/hooks/request-user-approval.d.mts +16 -0
  160. package/dist/internals/simulation/methods/hooks/request-user-approval.d.mts.map +1 -0
  161. package/dist/internals/simulation/methods/hooks/request-user-approval.mjs +35 -0
  162. package/dist/internals/simulation/methods/hooks/request-user-approval.mjs.map +1 -0
  163. package/dist/internals/simulation/methods/hooks/state.cjs +84 -0
  164. package/dist/internals/simulation/methods/hooks/state.cjs.map +1 -0
  165. package/dist/{types/internals/simulation/methods/hooks/state.d.ts → internals/simulation/methods/hooks/state.d.cts} +3 -2
  166. package/dist/internals/simulation/methods/hooks/state.d.cts.map +1 -0
  167. package/dist/internals/simulation/methods/hooks/state.d.mts +24 -0
  168. package/dist/internals/simulation/methods/hooks/state.d.mts.map +1 -0
  169. package/dist/internals/simulation/methods/hooks/state.mjs +78 -17
  170. package/dist/internals/simulation/methods/hooks/state.mjs.map +1 -1
  171. package/dist/internals/simulation/methods/index.cjs +18 -0
  172. package/dist/internals/simulation/methods/index.cjs.map +1 -0
  173. package/dist/internals/simulation/methods/index.d.cts +2 -0
  174. package/dist/internals/simulation/methods/index.d.cts.map +1 -0
  175. package/dist/internals/simulation/methods/index.d.mts +2 -0
  176. package/dist/internals/simulation/methods/index.d.mts.map +1 -0
  177. package/dist/internals/simulation/methods/index.mjs +1 -27
  178. package/dist/internals/simulation/methods/index.mjs.map +1 -1
  179. package/dist/internals/simulation/methods/specifications.cjs +85 -0
  180. package/dist/internals/simulation/methods/specifications.cjs.map +1 -0
  181. package/dist/{types/internals/simulation/methods/specifications.d.ts → internals/simulation/methods/specifications.d.cts} +8 -7
  182. package/dist/internals/simulation/methods/specifications.d.cts.map +1 -0
  183. package/dist/internals/simulation/methods/specifications.d.mts +57 -0
  184. package/dist/internals/simulation/methods/specifications.d.mts.map +1 -0
  185. package/dist/internals/simulation/methods/specifications.mjs +77 -26
  186. package/dist/internals/simulation/methods/specifications.mjs.map +1 -1
  187. package/dist/internals/simulation/middleware/engine.cjs +37 -0
  188. package/dist/internals/simulation/middleware/engine.cjs.map +1 -0
  189. package/dist/{types/internals/simulation/middleware/engine.d.ts → internals/simulation/middleware/engine.d.cts} +8 -7
  190. package/dist/internals/simulation/middleware/engine.d.cts.map +1 -0
  191. package/dist/internals/simulation/middleware/engine.d.mts +27 -0
  192. package/dist/internals/simulation/middleware/engine.d.mts.map +1 -0
  193. package/dist/internals/simulation/middleware/engine.mjs +33 -14
  194. package/dist/internals/simulation/middleware/engine.mjs.map +1 -1
  195. package/dist/internals/simulation/middleware/index.cjs +18 -0
  196. package/dist/internals/simulation/middleware/index.cjs.map +1 -0
  197. package/dist/internals/simulation/middleware/index.d.cts +2 -0
  198. package/dist/internals/simulation/middleware/index.d.cts.map +1 -0
  199. package/dist/internals/simulation/middleware/index.d.mts +2 -0
  200. package/dist/internals/simulation/middleware/index.d.mts.map +1 -0
  201. package/dist/internals/simulation/middleware/index.mjs +1 -15
  202. package/dist/internals/simulation/middleware/index.mjs.map +1 -1
  203. package/dist/internals/simulation/middleware/internal-methods/accounts.cjs +34 -0
  204. package/dist/internals/simulation/middleware/internal-methods/accounts.cjs.map +1 -0
  205. package/dist/{types/internals/simulation/middleware/internal-methods/accounts.d.ts → internals/simulation/middleware/internal-methods/accounts.d.cts} +5 -3
  206. package/dist/internals/simulation/middleware/internal-methods/accounts.d.cts.map +1 -0
  207. package/dist/internals/simulation/middleware/internal-methods/accounts.d.mts +20 -0
  208. package/dist/internals/simulation/middleware/internal-methods/accounts.d.mts.map +1 -0
  209. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs +29 -7
  210. package/dist/internals/simulation/middleware/internal-methods/accounts.mjs.map +1 -1
  211. package/dist/internals/simulation/middleware/internal-methods/index.cjs +18 -0
  212. package/dist/internals/simulation/middleware/internal-methods/index.cjs.map +1 -0
  213. package/dist/internals/simulation/middleware/internal-methods/index.d.cts +2 -0
  214. package/dist/internals/simulation/middleware/internal-methods/index.d.cts.map +1 -0
  215. package/dist/internals/simulation/middleware/internal-methods/index.d.mts +2 -0
  216. package/dist/internals/simulation/middleware/internal-methods/index.d.mts.map +1 -0
  217. package/dist/internals/simulation/middleware/internal-methods/index.mjs +1 -10
  218. package/dist/internals/simulation/middleware/internal-methods/index.mjs.map +1 -1
  219. package/dist/internals/simulation/middleware/internal-methods/middleware.cjs +44 -0
  220. package/dist/internals/simulation/middleware/internal-methods/middleware.cjs.map +1 -0
  221. package/dist/{types/internals/simulation/middleware/internal-methods/middleware.d.ts → internals/simulation/middleware/internal-methods/middleware.d.cts} +4 -3
  222. package/dist/internals/simulation/middleware/internal-methods/middleware.d.cts.map +1 -0
  223. package/dist/internals/simulation/middleware/internal-methods/middleware.d.mts +23 -0
  224. package/dist/internals/simulation/middleware/internal-methods/middleware.d.mts.map +1 -0
  225. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs +38 -8
  226. package/dist/internals/simulation/middleware/internal-methods/middleware.mjs.map +1 -1
  227. package/dist/internals/simulation/middleware/internal-methods/provider-state.cjs +28 -0
  228. package/dist/internals/simulation/middleware/internal-methods/provider-state.cjs.map +1 -0
  229. package/dist/{types/internals/simulation/middleware/internal-methods/provider-state.d.ts → internals/simulation/middleware/internal-methods/provider-state.d.cts} +4 -2
  230. package/dist/internals/simulation/middleware/internal-methods/provider-state.d.cts.map +1 -0
  231. package/dist/internals/simulation/middleware/internal-methods/provider-state.d.mts +16 -0
  232. package/dist/internals/simulation/middleware/internal-methods/provider-state.d.mts.map +1 -0
  233. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs +23 -7
  234. package/dist/internals/simulation/middleware/internal-methods/provider-state.mjs.map +1 -1
  235. package/dist/internals/simulation/middleware/mock.cjs +22 -0
  236. package/dist/internals/simulation/middleware/mock.cjs.map +1 -0
  237. package/dist/{types/internals/simulation/middleware/mock.d.ts → internals/simulation/middleware/mock.d.cts} +4 -3
  238. package/dist/internals/simulation/middleware/mock.d.cts.map +1 -0
  239. package/dist/internals/simulation/middleware/mock.d.mts +11 -0
  240. package/dist/internals/simulation/middleware/mock.d.mts.map +1 -0
  241. package/dist/internals/simulation/middleware/mock.mjs +17 -8
  242. package/dist/internals/simulation/middleware/mock.mjs.map +1 -1
  243. package/dist/internals/simulation/options.cjs +25 -0
  244. package/dist/internals/simulation/options.cjs.map +1 -0
  245. package/dist/{types/internals/simulation/options.d.ts → internals/simulation/options.d.cts} +11 -8
  246. package/dist/internals/simulation/options.d.cts.map +1 -0
  247. package/dist/internals/simulation/options.d.mts +40 -0
  248. package/dist/internals/simulation/options.d.mts.map +1 -0
  249. package/dist/internals/simulation/options.mjs +20 -8
  250. package/dist/internals/simulation/options.mjs.map +1 -1
  251. package/dist/internals/simulation/simulation.cjs +155 -0
  252. package/dist/internals/simulation/simulation.cjs.map +1 -0
  253. package/dist/{types/internals/simulation/simulation.d.ts → internals/simulation/simulation.d.cts} +18 -13
  254. package/dist/internals/simulation/simulation.d.cts.map +1 -0
  255. package/dist/internals/simulation/simulation.d.mts +103 -0
  256. package/dist/internals/simulation/simulation.d.mts.map +1 -0
  257. package/dist/internals/simulation/simulation.mjs +149 -37
  258. package/dist/internals/simulation/simulation.mjs.map +1 -1
  259. package/dist/internals/simulation/store/index.cjs +21 -0
  260. package/dist/internals/simulation/store/index.cjs.map +1 -0
  261. package/dist/internals/simulation/store/index.d.cts +5 -0
  262. package/dist/internals/simulation/store/index.d.cts.map +1 -0
  263. package/dist/internals/simulation/store/index.d.mts +5 -0
  264. package/dist/internals/simulation/store/index.d.mts.map +1 -0
  265. package/dist/internals/simulation/store/index.mjs +4 -43
  266. package/dist/internals/simulation/store/index.mjs.map +1 -1
  267. package/dist/internals/simulation/store/mocks.cjs +39 -0
  268. package/dist/internals/simulation/store/mocks.cjs.map +1 -0
  269. package/dist/{types/internals/simulation/store/mocks.d.ts → internals/simulation/store/mocks.d.cts} +8 -7
  270. package/dist/internals/simulation/store/mocks.d.cts.map +1 -0
  271. package/dist/internals/simulation/store/mocks.d.mts +36 -0
  272. package/dist/internals/simulation/store/mocks.d.mts.map +1 -0
  273. package/dist/internals/simulation/store/mocks.mjs +33 -14
  274. package/dist/internals/simulation/store/mocks.mjs.map +1 -1
  275. package/dist/internals/simulation/store/notifications.cjs +35 -0
  276. package/dist/internals/simulation/store/notifications.cjs.map +1 -0
  277. package/dist/{types/internals/simulation/store/notifications.d.ts → internals/simulation/store/notifications.d.cts} +8 -7
  278. package/dist/internals/simulation/store/notifications.d.cts.map +1 -0
  279. package/dist/internals/simulation/store/notifications.d.mts +45 -0
  280. package/dist/internals/simulation/store/notifications.d.mts.map +1 -0
  281. package/dist/internals/simulation/store/notifications.mjs +30 -14
  282. package/dist/internals/simulation/store/notifications.mjs.map +1 -1
  283. package/dist/internals/simulation/store/state.cjs +54 -0
  284. package/dist/internals/simulation/store/state.cjs.map +1 -0
  285. package/dist/{types/internals/simulation/store/state.d.ts → internals/simulation/store/state.d.cts} +7 -6
  286. package/dist/internals/simulation/store/state.d.cts.map +1 -0
  287. package/dist/internals/simulation/store/state.d.mts +56 -0
  288. package/dist/internals/simulation/store/state.d.mts.map +1 -0
  289. package/dist/internals/simulation/store/state.mjs +48 -12
  290. package/dist/internals/simulation/store/state.mjs.map +1 -1
  291. package/dist/internals/simulation/store/store.cjs +51 -0
  292. package/dist/internals/simulation/store/store.cjs.map +1 -0
  293. package/dist/{types/internals/simulation/store/store.d.ts → internals/simulation/store/store.d.cts} +6 -5
  294. package/dist/internals/simulation/store/store.d.cts.map +1 -0
  295. package/dist/internals/simulation/store/store.d.mts +22 -0
  296. package/dist/internals/simulation/store/store.d.mts.map +1 -0
  297. package/dist/internals/simulation/store/store.mjs +44 -11
  298. package/dist/internals/simulation/store/store.mjs.map +1 -1
  299. package/dist/internals/simulation/store/ui.cjs +24 -0
  300. package/dist/internals/simulation/store/ui.cjs.map +1 -0
  301. package/dist/{types/internals/simulation/store/ui.d.ts → internals/simulation/store/ui.d.cts} +9 -7
  302. package/dist/internals/simulation/store/ui.d.cts.map +1 -0
  303. package/dist/internals/simulation/store/ui.d.mts +27 -0
  304. package/dist/internals/simulation/store/ui.d.mts.map +1 -0
  305. package/dist/internals/simulation/store/ui.mjs +19 -14
  306. package/dist/internals/simulation/store/ui.mjs.map +1 -1
  307. package/dist/internals/structs.cjs +157 -0
  308. package/dist/internals/structs.cjs.map +1 -0
  309. package/dist/{types/internals/structs.d.ts → internals/structs.d.cts} +67 -66
  310. package/dist/internals/structs.d.cts.map +1 -0
  311. package/dist/internals/structs.d.mts +205 -0
  312. package/dist/internals/structs.d.mts.map +1 -0
  313. package/dist/internals/structs.mjs +153 -21
  314. package/dist/internals/structs.mjs.map +1 -1
  315. package/dist/matchers.cjs +160 -0
  316. package/dist/matchers.cjs.map +1 -0
  317. package/dist/{types/matchers.d.ts → matchers.d.cts} +4 -13
  318. package/dist/matchers.d.cts.map +1 -0
  319. package/dist/matchers.d.mts +28 -0
  320. package/dist/matchers.d.mts.map +1 -0
  321. package/dist/matchers.mjs +152 -49
  322. package/dist/matchers.mjs.map +1 -1
  323. package/dist/options.cjs +24 -0
  324. package/dist/options.cjs.map +1 -0
  325. package/dist/{types/options.d.ts → options.d.cts} +8 -7
  326. package/dist/options.d.cts.map +1 -0
  327. package/dist/options.d.mts +61 -0
  328. package/dist/options.d.mts.map +1 -0
  329. package/dist/options.mjs +19 -7
  330. package/dist/options.mjs.map +1 -1
  331. package/dist/setup.cjs +7 -0
  332. package/dist/setup.cjs.map +1 -0
  333. package/dist/setup.d.cts +2 -0
  334. package/dist/setup.d.cts.map +1 -0
  335. package/dist/setup.d.mts +2 -0
  336. package/dist/setup.d.mts.map +1 -0
  337. package/dist/setup.mjs +4 -37
  338. package/dist/setup.mjs.map +1 -1
  339. package/dist/types/index.cjs +18 -0
  340. package/dist/types/index.cjs.map +1 -0
  341. package/dist/types/index.d.cts +2 -0
  342. package/dist/types/index.d.cts.map +1 -0
  343. package/dist/types/index.d.mts +2 -0
  344. package/dist/types/index.d.mts.map +1 -0
  345. package/dist/types/index.mjs +2 -0
  346. package/dist/types/index.mjs.map +1 -0
  347. package/dist/types/types.cjs +3 -0
  348. package/dist/types/types.cjs.map +1 -0
  349. package/dist/types/{types.d.ts → types.d.cts} +66 -26
  350. package/dist/types/types.d.cts.map +1 -0
  351. package/dist/types/types.d.mts +386 -0
  352. package/dist/types/types.d.mts.map +1 -0
  353. package/dist/types/types.mjs +2 -0
  354. package/dist/types/types.mjs.map +1 -0
  355. package/jest-preset.js +1 -1
  356. package/package.json +32 -30
  357. package/dist/chunk-265BMFM5.js +0 -13
  358. package/dist/chunk-265BMFM5.js.map +0 -1
  359. package/dist/chunk-2JTGBHPR.js +0 -14
  360. package/dist/chunk-2JTGBHPR.js.map +0 -1
  361. package/dist/chunk-2YE2P5BZ.js +0 -36
  362. package/dist/chunk-2YE2P5BZ.js.map +0 -1
  363. package/dist/chunk-3FNLFVV2.js +0 -15
  364. package/dist/chunk-3FNLFVV2.js.map +0 -1
  365. package/dist/chunk-3M4GRUMH.mjs +0 -54
  366. package/dist/chunk-3M4GRUMH.mjs.map +0 -1
  367. package/dist/chunk-43HRTFLS.mjs +0 -421
  368. package/dist/chunk-43HRTFLS.mjs.map +0 -1
  369. package/dist/chunk-44ARQBXS.js +0 -95
  370. package/dist/chunk-44ARQBXS.js.map +0 -1
  371. package/dist/chunk-4MAA7WGJ.js +0 -153
  372. package/dist/chunk-4MAA7WGJ.js.map +0 -1
  373. package/dist/chunk-55J6XMHW.js +0 -1
  374. package/dist/chunk-55J6XMHW.js.map +0 -1
  375. package/dist/chunk-57SGDM5B.mjs +0 -69
  376. package/dist/chunk-57SGDM5B.mjs.map +0 -1
  377. package/dist/chunk-5SGLRSWR.mjs +0 -153
  378. package/dist/chunk-5SGLRSWR.mjs.map +0 -1
  379. package/dist/chunk-5U5WB3SM.mjs +0 -41
  380. package/dist/chunk-5U5WB3SM.mjs.map +0 -1
  381. package/dist/chunk-5ZFHFICZ.mjs +0 -1
  382. package/dist/chunk-5ZFHFICZ.mjs.map +0 -1
  383. package/dist/chunk-6HHV6YFQ.mjs +0 -1
  384. package/dist/chunk-6HHV6YFQ.mjs.map +0 -1
  385. package/dist/chunk-6KXCBUNZ.mjs +0 -11
  386. package/dist/chunk-6KXCBUNZ.mjs.map +0 -1
  387. package/dist/chunk-74TIKA2T.mjs +0 -34
  388. package/dist/chunk-74TIKA2T.mjs.map +0 -1
  389. package/dist/chunk-7Y27L2EV.js +0 -211
  390. package/dist/chunk-7Y27L2EV.js.map +0 -1
  391. package/dist/chunk-ALRZENWP.mjs +0 -42
  392. package/dist/chunk-ALRZENWP.mjs.map +0 -1
  393. package/dist/chunk-B73P64TE.mjs +0 -28
  394. package/dist/chunk-B73P64TE.mjs.map +0 -1
  395. package/dist/chunk-CKRORVDW.js +0 -1
  396. package/dist/chunk-CKRORVDW.js.map +0 -1
  397. package/dist/chunk-CYPP66I7.mjs +0 -163
  398. package/dist/chunk-CYPP66I7.mjs.map +0 -1
  399. package/dist/chunk-DR6Y7IVX.js +0 -1
  400. package/dist/chunk-DR6Y7IVX.js.map +0 -1
  401. package/dist/chunk-DVDAOXO7.js +0 -134
  402. package/dist/chunk-DVDAOXO7.js.map +0 -1
  403. package/dist/chunk-EMTW3H54.js +0 -20
  404. package/dist/chunk-EMTW3H54.js.map +0 -1
  405. package/dist/chunk-FP4H3ADT.mjs +0 -20
  406. package/dist/chunk-FP4H3ADT.mjs.map +0 -1
  407. package/dist/chunk-FQWOVTBB.mjs +0 -22
  408. package/dist/chunk-FQWOVTBB.mjs.map +0 -1
  409. package/dist/chunk-GECE47HW.js +0 -1
  410. package/dist/chunk-GECE47HW.js.map +0 -1
  411. package/dist/chunk-GG2BCPQH.mjs +0 -95
  412. package/dist/chunk-GG2BCPQH.mjs.map +0 -1
  413. package/dist/chunk-GMTKFAWO.js +0 -42
  414. package/dist/chunk-GMTKFAWO.js.map +0 -1
  415. package/dist/chunk-GVTDUKXK.js +0 -421
  416. package/dist/chunk-GVTDUKXK.js.map +0 -1
  417. package/dist/chunk-H2464AXT.mjs +0 -33
  418. package/dist/chunk-H2464AXT.mjs.map +0 -1
  419. package/dist/chunk-HOI6FPLR.mjs +0 -240
  420. package/dist/chunk-HOI6FPLR.mjs.map +0 -1
  421. package/dist/chunk-HROOL3VI.js +0 -1
  422. package/dist/chunk-HROOL3VI.js.map +0 -1
  423. package/dist/chunk-IH7UNS5A.mjs +0 -36
  424. package/dist/chunk-IH7UNS5A.mjs.map +0 -1
  425. package/dist/chunk-IVFVB4VR.js +0 -163
  426. package/dist/chunk-IVFVB4VR.js.map +0 -1
  427. package/dist/chunk-IWJ4HKDR.mjs +0 -50
  428. package/dist/chunk-IWJ4HKDR.mjs.map +0 -1
  429. package/dist/chunk-IXKO6X55.mjs +0 -15
  430. package/dist/chunk-IXKO6X55.mjs.map +0 -1
  431. package/dist/chunk-J3I5KZIF.js +0 -22
  432. package/dist/chunk-J3I5KZIF.js.map +0 -1
  433. package/dist/chunk-J4ZPUCLX.mjs +0 -8
  434. package/dist/chunk-J4ZPUCLX.mjs.map +0 -1
  435. package/dist/chunk-JMDSN227.mjs +0 -25
  436. package/dist/chunk-JMDSN227.mjs.map +0 -1
  437. package/dist/chunk-KIQOUUEZ.mjs +0 -1
  438. package/dist/chunk-KIQOUUEZ.mjs.map +0 -1
  439. package/dist/chunk-KNJNL723.mjs +0 -39
  440. package/dist/chunk-KNJNL723.mjs.map +0 -1
  441. package/dist/chunk-KSIBNOB2.mjs +0 -13
  442. package/dist/chunk-KSIBNOB2.mjs.map +0 -1
  443. package/dist/chunk-LACTK6EO.js +0 -33
  444. package/dist/chunk-LACTK6EO.js.map +0 -1
  445. package/dist/chunk-LB4R3BUA.mjs +0 -36
  446. package/dist/chunk-LB4R3BUA.mjs.map +0 -1
  447. package/dist/chunk-LBC2OGSN.js +0 -48
  448. package/dist/chunk-LBC2OGSN.js.map +0 -1
  449. package/dist/chunk-MAT5SBM7.mjs +0 -211
  450. package/dist/chunk-MAT5SBM7.mjs.map +0 -1
  451. package/dist/chunk-MBQHVBLA.js +0 -89
  452. package/dist/chunk-MBQHVBLA.js.map +0 -1
  453. package/dist/chunk-MF43OG3Z.mjs +0 -1
  454. package/dist/chunk-MF43OG3Z.mjs.map +0 -1
  455. package/dist/chunk-MPZOXW6I.mjs +0 -48
  456. package/dist/chunk-MPZOXW6I.mjs.map +0 -1
  457. package/dist/chunk-N6MAO223.js +0 -60
  458. package/dist/chunk-N6MAO223.js.map +0 -1
  459. package/dist/chunk-NSMTFK33.mjs +0 -104
  460. package/dist/chunk-NSMTFK33.mjs.map +0 -1
  461. package/dist/chunk-NTOY6Y4Q.mjs +0 -1
  462. package/dist/chunk-NTOY6Y4Q.mjs.map +0 -1
  463. package/dist/chunk-O24GTINW.mjs +0 -134
  464. package/dist/chunk-O24GTINW.mjs.map +0 -1
  465. package/dist/chunk-ORO3T6BU.mjs +0 -24
  466. package/dist/chunk-ORO3T6BU.mjs.map +0 -1
  467. package/dist/chunk-PHUTP7NB.js +0 -25
  468. package/dist/chunk-PHUTP7NB.js.map +0 -1
  469. package/dist/chunk-PZDTZGSI.js +0 -34
  470. package/dist/chunk-PZDTZGSI.js.map +0 -1
  471. package/dist/chunk-Q2OQXAUM.mjs +0 -35
  472. package/dist/chunk-Q2OQXAUM.mjs.map +0 -1
  473. package/dist/chunk-RAMAN5RM.js +0 -24
  474. package/dist/chunk-RAMAN5RM.js.map +0 -1
  475. package/dist/chunk-RQKT6BQ2.mjs +0 -1
  476. package/dist/chunk-RQKT6BQ2.mjs.map +0 -1
  477. package/dist/chunk-S2HLITUN.js +0 -1
  478. package/dist/chunk-S2HLITUN.js.map +0 -1
  479. package/dist/chunk-SB5EPHE3.js +0 -41
  480. package/dist/chunk-SB5EPHE3.js.map +0 -1
  481. package/dist/chunk-SLU4FNKX.mjs +0 -60
  482. package/dist/chunk-SLU4FNKX.mjs.map +0 -1
  483. package/dist/chunk-SW65QYFV.js +0 -50
  484. package/dist/chunk-SW65QYFV.js.map +0 -1
  485. package/dist/chunk-T2PHS5FY.js +0 -28
  486. package/dist/chunk-T2PHS5FY.js.map +0 -1
  487. package/dist/chunk-TGZ7WOTJ.mjs +0 -1
  488. package/dist/chunk-TGZ7WOTJ.mjs.map +0 -1
  489. package/dist/chunk-TMAWGVZP.mjs +0 -89
  490. package/dist/chunk-TMAWGVZP.mjs.map +0 -1
  491. package/dist/chunk-TZB4LBT7.js +0 -8
  492. package/dist/chunk-TZB4LBT7.js.map +0 -1
  493. package/dist/chunk-UDOXICJK.mjs +0 -1
  494. package/dist/chunk-UDOXICJK.mjs.map +0 -1
  495. package/dist/chunk-VHJZERIC.js +0 -1
  496. package/dist/chunk-VHJZERIC.js.map +0 -1
  497. package/dist/chunk-VOYBI6T4.mjs +0 -22
  498. package/dist/chunk-VOYBI6T4.mjs.map +0 -1
  499. package/dist/chunk-VXPCUDBI.js +0 -36
  500. package/dist/chunk-VXPCUDBI.js.map +0 -1
  501. package/dist/chunk-WDYPMEZB.js +0 -22
  502. package/dist/chunk-WDYPMEZB.js.map +0 -1
  503. package/dist/chunk-WHGYMK5B.js +0 -1
  504. package/dist/chunk-WHGYMK5B.js.map +0 -1
  505. package/dist/chunk-WMLSD6B5.js +0 -54
  506. package/dist/chunk-WMLSD6B5.js.map +0 -1
  507. package/dist/chunk-WRKY2DLV.js +0 -104
  508. package/dist/chunk-WRKY2DLV.js.map +0 -1
  509. package/dist/chunk-XAOCS6ZD.js +0 -69
  510. package/dist/chunk-XAOCS6ZD.js.map +0 -1
  511. package/dist/chunk-XK5HPZZC.mjs +0 -14
  512. package/dist/chunk-XK5HPZZC.mjs.map +0 -1
  513. package/dist/chunk-XKJHFUHE.js +0 -11
  514. package/dist/chunk-XKJHFUHE.js.map +0 -1
  515. package/dist/chunk-XWGECIXI.js +0 -39
  516. package/dist/chunk-XWGECIXI.js.map +0 -1
  517. package/dist/chunk-Y3JC4WGW.js +0 -35
  518. package/dist/chunk-Y3JC4WGW.js.map +0 -1
  519. package/dist/chunk-YNUVT3HC.js +0 -240
  520. package/dist/chunk-YNUVT3HC.js.map +0 -1
  521. package/dist/chunk-ZG33OGC3.mjs +0 -1
  522. package/dist/chunk-ZG33OGC3.mjs.map +0 -1
  523. package/dist/chunk-ZTX624YO.js +0 -1
  524. package/dist/chunk-ZTX624YO.js.map +0 -1
  525. package/dist/environment.js +0 -46
  526. package/dist/environment.js.map +0 -1
  527. package/dist/global.js +0 -2
  528. package/dist/global.js.map +0 -1
  529. package/dist/helpers.js +0 -43
  530. package/dist/helpers.js.map +0 -1
  531. package/dist/index.js +0 -54
  532. package/dist/index.js.map +0 -1
  533. package/dist/internals/environment.js +0 -8
  534. package/dist/internals/environment.js.map +0 -1
  535. package/dist/internals/index.js +0 -142
  536. package/dist/internals/index.js.map +0 -1
  537. package/dist/internals/logger.js +0 -8
  538. package/dist/internals/logger.js.map +0 -1
  539. package/dist/internals/request.js +0 -42
  540. package/dist/internals/request.js.map +0 -1
  541. package/dist/internals/server.js +0 -9
  542. package/dist/internals/server.js.map +0 -1
  543. package/dist/internals/simulation/constants.js +0 -12
  544. package/dist/internals/simulation/constants.js.map +0 -1
  545. package/dist/internals/simulation/controllers.js +0 -25
  546. package/dist/internals/simulation/controllers.js.map +0 -1
  547. package/dist/internals/simulation/files.js +0 -14
  548. package/dist/internals/simulation/files.js.map +0 -1
  549. package/dist/internals/simulation/index.js +0 -103
  550. package/dist/internals/simulation/index.js.map +0 -1
  551. package/dist/internals/simulation/interface.js +0 -31
  552. package/dist/internals/simulation/interface.js.map +0 -1
  553. package/dist/internals/simulation/methods/constants.js +0 -12
  554. package/dist/internals/simulation/methods/constants.js.map +0 -1
  555. package/dist/internals/simulation/methods/hooks/get-locale.js +0 -8
  556. package/dist/internals/simulation/methods/hooks/get-locale.js.map +0 -1
  557. package/dist/internals/simulation/methods/hooks/get-locale.mjs +0 -8
  558. package/dist/internals/simulation/methods/hooks/get-locale.mjs.map +0 -1
  559. package/dist/internals/simulation/methods/hooks/index.js +0 -39
  560. package/dist/internals/simulation/methods/hooks/index.js.map +0 -1
  561. package/dist/internals/simulation/methods/hooks/interface.js +0 -10
  562. package/dist/internals/simulation/methods/hooks/interface.js.map +0 -1
  563. package/dist/internals/simulation/methods/hooks/notifications.js +0 -16
  564. package/dist/internals/simulation/methods/hooks/notifications.js.map +0 -1
  565. package/dist/internals/simulation/methods/hooks/show-dialog.js +0 -14
  566. package/dist/internals/simulation/methods/hooks/show-dialog.js.map +0 -1
  567. package/dist/internals/simulation/methods/hooks/show-dialog.mjs +0 -14
  568. package/dist/internals/simulation/methods/hooks/show-dialog.mjs.map +0 -1
  569. package/dist/internals/simulation/methods/hooks/state.js +0 -18
  570. package/dist/internals/simulation/methods/hooks/state.js.map +0 -1
  571. package/dist/internals/simulation/methods/index.js +0 -28
  572. package/dist/internals/simulation/methods/index.js.map +0 -1
  573. package/dist/internals/simulation/methods/specifications.js +0 -27
  574. package/dist/internals/simulation/methods/specifications.js.map +0 -1
  575. package/dist/internals/simulation/middleware/engine.js +0 -15
  576. package/dist/internals/simulation/middleware/engine.js.map +0 -1
  577. package/dist/internals/simulation/middleware/index.js +0 -16
  578. package/dist/internals/simulation/middleware/index.js.map +0 -1
  579. package/dist/internals/simulation/middleware/internal-methods/accounts.js +0 -8
  580. package/dist/internals/simulation/middleware/internal-methods/accounts.js.map +0 -1
  581. package/dist/internals/simulation/middleware/internal-methods/index.js +0 -11
  582. package/dist/internals/simulation/middleware/internal-methods/index.js.map +0 -1
  583. package/dist/internals/simulation/middleware/internal-methods/middleware.js +0 -10
  584. package/dist/internals/simulation/middleware/internal-methods/middleware.js.map +0 -1
  585. package/dist/internals/simulation/middleware/internal-methods/provider-state.js +0 -8
  586. package/dist/internals/simulation/middleware/internal-methods/provider-state.js.map +0 -1
  587. package/dist/internals/simulation/middleware/mock.js +0 -9
  588. package/dist/internals/simulation/middleware/mock.js.map +0 -1
  589. package/dist/internals/simulation/options.js +0 -9
  590. package/dist/internals/simulation/options.js.map +0 -1
  591. package/dist/internals/simulation/simulation.js +0 -38
  592. package/dist/internals/simulation/simulation.js.map +0 -1
  593. package/dist/internals/simulation/store/index.js +0 -44
  594. package/dist/internals/simulation/store/index.js.map +0 -1
  595. package/dist/internals/simulation/store/mocks.js +0 -16
  596. package/dist/internals/simulation/store/mocks.js.map +0 -1
  597. package/dist/internals/simulation/store/notifications.js +0 -16
  598. package/dist/internals/simulation/store/notifications.js.map +0 -1
  599. package/dist/internals/simulation/store/state.js +0 -14
  600. package/dist/internals/simulation/store/state.js.map +0 -1
  601. package/dist/internals/simulation/store/store.js +0 -12
  602. package/dist/internals/simulation/store/store.js.map +0 -1
  603. package/dist/internals/simulation/store/ui.js +0 -16
  604. package/dist/internals/simulation/store/ui.js.map +0 -1
  605. package/dist/internals/structs.js +0 -22
  606. package/dist/internals/structs.js.map +0 -1
  607. package/dist/matchers.js +0 -51
  608. package/dist/matchers.js.map +0 -1
  609. package/dist/options.js +0 -8
  610. package/dist/options.js.map +0 -1
  611. package/dist/setup.js +0 -38
  612. package/dist/setup.js.map +0 -1
  613. package/dist/tsconfig.build.tsbuildinfo +0 -1
  614. package/dist/types/index.d.ts +0 -5
  615. package/dist/types/internals/index.d.ts +0 -6
  616. package/dist/types/internals/simulation/index.d.ts +0 -5
  617. package/dist/types/internals/simulation/methods/hooks/get-locale.d.ts +0 -9
  618. package/dist/types/internals/simulation/methods/hooks/index.d.ts +0 -5
  619. package/dist/types/internals/simulation/methods/hooks/show-dialog.d.ts +0 -9
  620. package/dist/types/internals/simulation/methods/index.d.ts +0 -1
  621. package/dist/types/internals/simulation/middleware/index.d.ts +0 -1
  622. package/dist/types/internals/simulation/middleware/internal-methods/index.d.ts +0 -1
  623. package/dist/types/internals/simulation/store/index.d.ts +0 -4
  624. package/dist/types/setup.d.ts +0 -1
  625. package/dist/types/vendor/readable-stream.d.js +0 -1
  626. package/dist/types/vendor/readable-stream.d.js.map +0 -1
  627. package/dist/types/vendor/readable-stream.d.mjs +0 -1
  628. package/dist/types/vendor/readable-stream.d.mjs.map +0 -1
  629. package/dist/types.js +0 -2
  630. package/dist/types.js.map +0 -1
  631. package/dist/types.mjs +0 -2
  632. package/dist/types.mjs.map +0 -1
@@ -1,153 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
- var _chunkGVTDUKXKjs = require('./chunk-GVTDUKXK.js');
5
-
6
-
7
- var _chunkYNUVT3HCjs = require('./chunk-YNUVT3HC.js');
8
-
9
-
10
-
11
- var _chunk2YE2P5BZjs = require('./chunk-2YE2P5BZ.js');
12
-
13
- // src/internals/request.ts
14
-
15
-
16
- var _snapssdk = require('@metamask/snaps-sdk');
17
- var _snapsutils = require('@metamask/snaps-utils');
18
-
19
-
20
-
21
-
22
-
23
- var _utils = require('@metamask/utils');
24
- var _toolkit = require('@reduxjs/toolkit');
25
- var _superstruct = require('superstruct');
26
- function handleRequest({
27
- snapId,
28
- store,
29
- executionService,
30
- handler,
31
- controllerMessenger,
32
- runSaga,
33
- request: { id = _toolkit.nanoid.call(void 0, ), origin = "https://metamask.io", ...options }
34
- }) {
35
- const getInterfaceError = () => {
36
- throw new Error(
37
- "Unable to get the interface from the Snap: The request to the Snap failed."
38
- );
39
- };
40
- const promise = executionService.handleRpcRequest(snapId, {
41
- origin,
42
- handler,
43
- request: {
44
- jsonrpc: "2.0",
45
- id: 1,
46
- ...options
47
- }
48
- }).then(async (result) => {
49
- const notifications = _chunk2YE2P5BZjs.getNotifications.call(void 0, store.getState());
50
- store.dispatch(_chunk2YE2P5BZjs.clearNotifications.call(void 0, ));
51
- try {
52
- const getInterfaceFn = await getInterfaceApi(
53
- result,
54
- snapId,
55
- controllerMessenger
56
- );
57
- return {
58
- id: String(id),
59
- response: {
60
- result: _utils.getSafeJson.call(void 0, result)
61
- },
62
- notifications,
63
- ...getInterfaceFn ? { getInterface: getInterfaceFn } : {}
64
- };
65
- } catch (error) {
66
- const [unwrappedError] = _snapsutils.unwrapError.call(void 0, error);
67
- return {
68
- id: String(id),
69
- response: {
70
- error: unwrappedError.serialize()
71
- },
72
- notifications: [],
73
- getInterface: getInterfaceError
74
- };
75
- }
76
- }).catch((error) => {
77
- const [unwrappedError] = _snapsutils.unwrapError.call(void 0, error);
78
- return {
79
- id: String(id),
80
- response: {
81
- error: unwrappedError.serialize()
82
- },
83
- notifications: [],
84
- getInterface: getInterfaceError
85
- };
86
- });
87
- promise.getInterface = async () => {
88
- const sagaPromise = runSaga(
89
- _chunkGVTDUKXKjs.getInterface,
90
- runSaga,
91
- snapId,
92
- controllerMessenger
93
- ).toPromise();
94
- const result = await Promise.race([promise, sagaPromise]);
95
- if (_superstruct.is.call(void 0, result, _chunkYNUVT3HCjs.SnapResponseStruct) && _utils.hasProperty.call(void 0, result.response, "error")) {
96
- throw new Error(
97
- `Unable to get the interface from the Snap: The returned interface may be invalid. The error message received was: ${result.response.error.message}`
98
- );
99
- }
100
- return await sagaPromise;
101
- };
102
- return promise;
103
- }
104
- async function getInterfaceFromResult(result, snapId, controllerMessenger) {
105
- if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "id")) {
106
- return result.id;
107
- }
108
- if (_utils.isPlainObject.call(void 0, result) && _utils.hasProperty.call(void 0, result, "content")) {
109
- _utils.assert.call(void 0,
110
- _superstruct.is.call(void 0, result.content, _snapssdk.ComponentOrElementStruct),
111
- "The Snap returned an invalid interface."
112
- );
113
- const id = await controllerMessenger.call(
114
- "SnapInterfaceController:createInterface",
115
- snapId,
116
- result.content
117
- );
118
- return id;
119
- }
120
- return void 0;
121
- }
122
- async function getInterfaceApi(result, snapId, controllerMessenger) {
123
- const interfaceId = await getInterfaceFromResult(
124
- result,
125
- snapId,
126
- controllerMessenger
127
- );
128
- if (interfaceId) {
129
- return () => {
130
- const { content } = controllerMessenger.call(
131
- "SnapInterfaceController:getInterface",
132
- snapId,
133
- interfaceId
134
- );
135
- const actions = _chunkGVTDUKXKjs.getInterfaceActions.call(void 0, snapId, controllerMessenger, {
136
- id: interfaceId,
137
- content
138
- });
139
- return {
140
- content,
141
- ...actions
142
- };
143
- };
144
- }
145
- return void 0;
146
- }
147
-
148
-
149
-
150
-
151
-
152
- exports.handleRequest = handleRequest; exports.getInterfaceFromResult = getInterfaceFromResult; exports.getInterfaceApi = getInterfaceApi;
153
- //# sourceMappingURL=chunk-4MAA7WGJ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internals/request.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport {\n type ComponentOrElement,\n ComponentOrElementStruct,\n type JsonRpcError,\n type SnapId,\n} from '@metamask/snaps-sdk';\nimport type { HandlerType } from '@metamask/snaps-utils';\nimport { unwrapError } from '@metamask/snaps-utils';\nimport {\n assert,\n getSafeJson,\n hasProperty,\n isPlainObject,\n} from '@metamask/utils';\nimport { nanoid } from '@reduxjs/toolkit';\nimport { is } from 'superstruct';\n\nimport type {\n RequestOptions,\n SnapHandlerInterface,\n SnapRequest,\n} from '../types';\nimport type { RunSagaFunction, Store } from './simulation';\nimport {\n clearNotifications,\n getInterface,\n getInterfaceActions,\n getNotifications,\n} from './simulation';\nimport type { RootControllerMessenger } from './simulation/controllers';\nimport { SnapResponseStruct } from './structs';\n\nexport type HandleRequestOptions = {\n snapId: SnapId;\n store: Store;\n executionService: AbstractExecutionService<unknown>;\n handler: HandlerType;\n controllerMessenger: RootControllerMessenger;\n runSaga: RunSagaFunction;\n request: RequestOptions;\n};\n\n/**\n * Send a JSON-RPC request to the Snap, and wrap the response in a\n * {@link SnapResponse} object.\n *\n * @param options - The request options.\n * @param options.snapId - The ID of the Snap to send the request to.\n * @param options.store - The Redux store.\n * @param options.executionService - The execution service to use to send the\n * request.\n * @param options.handler - The handler to use to send the request.\n * @param options.controllerMessenger - The controller messenger used to call actions.\n * @param options.runSaga - A function to run a saga outside the usual Redux\n * flow.\n * @param options.request - The request to send.\n * @param options.request.id - The ID of the request. If not provided, a random\n * ID will be generated.\n * @param options.request.origin - The origin of the request. Defaults to\n * `https://metamask.io`.\n * @returns The response, wrapped in a {@link SnapResponse} object.\n */\nexport function handleRequest({\n snapId,\n store,\n executionService,\n handler,\n controllerMessenger,\n runSaga,\n request: { id = nanoid(), origin = 'https://metamask.io', ...options },\n}: HandleRequestOptions): SnapRequest {\n const getInterfaceError = () => {\n throw new Error(\n 'Unable to get the interface from the Snap: The request to the Snap failed.',\n );\n };\n\n const promise = executionService\n .handleRpcRequest(snapId, {\n origin,\n handler,\n request: {\n jsonrpc: '2.0',\n id: 1,\n ...options,\n },\n })\n .then(async (result) => {\n const notifications = getNotifications(store.getState());\n store.dispatch(clearNotifications());\n\n try {\n const getInterfaceFn = await getInterfaceApi(\n result,\n snapId,\n controllerMessenger,\n );\n\n return {\n id: String(id),\n response: {\n result: getSafeJson(result),\n },\n notifications,\n ...(getInterfaceFn ? { getInterface: getInterfaceFn } : {}),\n };\n } catch (error) {\n const [unwrappedError] = unwrapError(error);\n return {\n id: String(id),\n response: {\n error: unwrappedError.serialize(),\n },\n notifications: [],\n getInterface: getInterfaceError,\n };\n }\n })\n .catch((error) => {\n const [unwrappedError] = unwrapError(error);\n\n return {\n id: String(id),\n response: {\n error: unwrappedError.serialize(),\n },\n notifications: [],\n getInterface: getInterfaceError,\n };\n }) as unknown as SnapRequest;\n\n promise.getInterface = async () => {\n const sagaPromise = runSaga(\n getInterface,\n runSaga,\n snapId,\n controllerMessenger,\n ).toPromise();\n const result = await Promise.race([promise, sagaPromise]);\n\n // If the request promise has resolved to an error, we should throw\n // instead of waiting for an interface that likely will never be displayed\n if (\n is(result, SnapResponseStruct) &&\n hasProperty(result.response, 'error')\n ) {\n throw new Error(\n `Unable to get the interface from the Snap: The returned interface may be invalid. The error message received was: ${\n (result.response.error as JsonRpcError).message\n }`,\n );\n }\n\n return await sagaPromise;\n };\n\n return promise;\n}\n\n/**\n * Get the interface ID from the result if it's available or create a new interface if the result contains static components.\n *\n * @param result - The handler result object.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The interface ID or undefined if the result doesn't include content.\n */\nexport async function getInterfaceFromResult(\n result: unknown,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n) {\n if (isPlainObject(result) && hasProperty(result, 'id')) {\n return result.id as string;\n }\n\n if (isPlainObject(result) && hasProperty(result, 'content')) {\n assert(\n is(result.content, ComponentOrElementStruct),\n 'The Snap returned an invalid interface.',\n );\n const id = await controllerMessenger.call(\n 'SnapInterfaceController:createInterface',\n snapId,\n result.content as ComponentOrElement,\n );\n\n return id;\n }\n\n return undefined;\n}\n\n/**\n * Get the response content from the `SnapInterfaceController` and include the\n * interaction methods.\n *\n * @param result - The handler result object.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The content components if any.\n */\nexport async function getInterfaceApi(\n result: unknown,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n): Promise<(() => SnapHandlerInterface) | undefined> {\n const interfaceId = await getInterfaceFromResult(\n result,\n snapId,\n controllerMessenger,\n );\n\n if (interfaceId) {\n return () => {\n const { content } = controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n interfaceId,\n );\n\n const actions = getInterfaceActions(snapId, controllerMessenger, {\n id: interfaceId,\n content,\n });\n\n return {\n content,\n ...actions,\n };\n };\n }\n\n return undefined;\n}\n"]}
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=chunk-55J6XMHW.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,69 +0,0 @@
1
- // src/internals/simulation/methods/constants.ts
2
- var EXCLUDED_SNAP_ENDOWMENTS = [];
3
- var EXCLUDED_SNAP_PERMISSIONS = [];
4
- var UNRESTRICTED_METHODS = Object.freeze([
5
- "eth_blockNumber",
6
- "eth_call",
7
- "eth_chainId",
8
- "eth_coinbase",
9
- "eth_decrypt",
10
- "eth_estimateGas",
11
- "eth_feeHistory",
12
- "eth_gasPrice",
13
- "eth_getBalance",
14
- "eth_getBlockByHash",
15
- "eth_getBlockByNumber",
16
- "eth_getBlockTransactionCountByHash",
17
- "eth_getBlockTransactionCountByNumber",
18
- "eth_getCode",
19
- "eth_getEncryptionPublicKey",
20
- "eth_getFilterChanges",
21
- "eth_getFilterLogs",
22
- "eth_getLogs",
23
- "eth_getProof",
24
- "eth_getStorageAt",
25
- "eth_getTransactionByBlockHashAndIndex",
26
- "eth_getTransactionByBlockNumberAndIndex",
27
- "eth_getTransactionByHash",
28
- "eth_getTransactionCount",
29
- "eth_getTransactionReceipt",
30
- "eth_getUncleByBlockHashAndIndex",
31
- "eth_getUncleByBlockNumberAndIndex",
32
- "eth_getUncleCountByBlockHash",
33
- "eth_getUncleCountByBlockNumber",
34
- "eth_getWork",
35
- "eth_hashrate",
36
- "eth_mining",
37
- "eth_newBlockFilter",
38
- "eth_newFilter",
39
- "eth_newPendingTransactionFilter",
40
- "eth_protocolVersion",
41
- "eth_sendRawTransaction",
42
- "eth_sendTransaction",
43
- "eth_sign",
44
- "eth_signTypedData",
45
- "eth_signTypedData_v1",
46
- "eth_signTypedData_v3",
47
- "eth_signTypedData_v4",
48
- "eth_submitHashrate",
49
- "eth_submitWork",
50
- "eth_syncing",
51
- "eth_uninstallFilter",
52
- "metamask_getProviderState",
53
- "metamask_watchAsset",
54
- "net_listening",
55
- "net_peerCount",
56
- "net_version",
57
- "personal_ecRecover",
58
- "personal_sign",
59
- "wallet_watchAsset",
60
- "web3_clientVersion",
61
- "web3_sha3"
62
- ]);
63
-
64
- export {
65
- EXCLUDED_SNAP_ENDOWMENTS,
66
- EXCLUDED_SNAP_PERMISSIONS,
67
- UNRESTRICTED_METHODS
68
- };
69
- //# sourceMappingURL=chunk-57SGDM5B.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internals/simulation/methods/constants.ts"],"sourcesContent":["export const EXCLUDED_SNAP_ENDOWMENTS = [];\n\nexport const EXCLUDED_SNAP_PERMISSIONS = [];\n\n/**\n * All unrestricted methods recognized by the `PermissionController`.\n * Unrestricted methods are ignored by the permission system, but every\n * JSON-RPC request seen by the permission system must correspond to a\n * restricted or unrestricted method, or the request will be rejected with a\n * \"method not found\" error.\n */\nexport const UNRESTRICTED_METHODS = Object.freeze([\n 'eth_blockNumber',\n 'eth_call',\n 'eth_chainId',\n 'eth_coinbase',\n 'eth_decrypt',\n 'eth_estimateGas',\n 'eth_feeHistory',\n 'eth_gasPrice',\n 'eth_getBalance',\n 'eth_getBlockByHash',\n 'eth_getBlockByNumber',\n 'eth_getBlockTransactionCountByHash',\n 'eth_getBlockTransactionCountByNumber',\n 'eth_getCode',\n 'eth_getEncryptionPublicKey',\n 'eth_getFilterChanges',\n 'eth_getFilterLogs',\n 'eth_getLogs',\n 'eth_getProof',\n 'eth_getStorageAt',\n 'eth_getTransactionByBlockHashAndIndex',\n 'eth_getTransactionByBlockNumberAndIndex',\n 'eth_getTransactionByHash',\n 'eth_getTransactionCount',\n 'eth_getTransactionReceipt',\n 'eth_getUncleByBlockHashAndIndex',\n 'eth_getUncleByBlockNumberAndIndex',\n 'eth_getUncleCountByBlockHash',\n 'eth_getUncleCountByBlockNumber',\n 'eth_getWork',\n 'eth_hashrate',\n 'eth_mining',\n 'eth_newBlockFilter',\n 'eth_newFilter',\n 'eth_newPendingTransactionFilter',\n 'eth_protocolVersion',\n 'eth_sendRawTransaction',\n 'eth_sendTransaction',\n 'eth_sign',\n 'eth_signTypedData',\n 'eth_signTypedData_v1',\n 'eth_signTypedData_v3',\n 'eth_signTypedData_v4',\n 'eth_submitHashrate',\n 'eth_submitWork',\n 'eth_syncing',\n 'eth_uninstallFilter',\n 'metamask_getProviderState',\n 'metamask_watchAsset',\n 'net_listening',\n 'net_peerCount',\n 'net_version',\n 'personal_ecRecover',\n 'personal_sign',\n 'wallet_watchAsset',\n 'web3_clientVersion',\n 'web3_sha3',\n]);\n"],"mappings":";AAAO,IAAM,2BAA2B,CAAC;AAElC,IAAM,4BAA4B,CAAC;AASnC,IAAM,uBAAuB,OAAO,OAAO;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;","names":[]}
@@ -1,153 +0,0 @@
1
- import {
2
- getInterface,
3
- getInterfaceActions
4
- } from "./chunk-43HRTFLS.mjs";
5
- import {
6
- SnapResponseStruct
7
- } from "./chunk-HOI6FPLR.mjs";
8
- import {
9
- clearNotifications,
10
- getNotifications
11
- } from "./chunk-LB4R3BUA.mjs";
12
-
13
- // src/internals/request.ts
14
- import {
15
- ComponentOrElementStruct
16
- } from "@metamask/snaps-sdk";
17
- import { unwrapError } from "@metamask/snaps-utils";
18
- import {
19
- assert,
20
- getSafeJson,
21
- hasProperty,
22
- isPlainObject
23
- } from "@metamask/utils";
24
- import { nanoid } from "@reduxjs/toolkit";
25
- import { is } from "superstruct";
26
- function handleRequest({
27
- snapId,
28
- store,
29
- executionService,
30
- handler,
31
- controllerMessenger,
32
- runSaga,
33
- request: { id = nanoid(), origin = "https://metamask.io", ...options }
34
- }) {
35
- const getInterfaceError = () => {
36
- throw new Error(
37
- "Unable to get the interface from the Snap: The request to the Snap failed."
38
- );
39
- };
40
- const promise = executionService.handleRpcRequest(snapId, {
41
- origin,
42
- handler,
43
- request: {
44
- jsonrpc: "2.0",
45
- id: 1,
46
- ...options
47
- }
48
- }).then(async (result) => {
49
- const notifications = getNotifications(store.getState());
50
- store.dispatch(clearNotifications());
51
- try {
52
- const getInterfaceFn = await getInterfaceApi(
53
- result,
54
- snapId,
55
- controllerMessenger
56
- );
57
- return {
58
- id: String(id),
59
- response: {
60
- result: getSafeJson(result)
61
- },
62
- notifications,
63
- ...getInterfaceFn ? { getInterface: getInterfaceFn } : {}
64
- };
65
- } catch (error) {
66
- const [unwrappedError] = unwrapError(error);
67
- return {
68
- id: String(id),
69
- response: {
70
- error: unwrappedError.serialize()
71
- },
72
- notifications: [],
73
- getInterface: getInterfaceError
74
- };
75
- }
76
- }).catch((error) => {
77
- const [unwrappedError] = unwrapError(error);
78
- return {
79
- id: String(id),
80
- response: {
81
- error: unwrappedError.serialize()
82
- },
83
- notifications: [],
84
- getInterface: getInterfaceError
85
- };
86
- });
87
- promise.getInterface = async () => {
88
- const sagaPromise = runSaga(
89
- getInterface,
90
- runSaga,
91
- snapId,
92
- controllerMessenger
93
- ).toPromise();
94
- const result = await Promise.race([promise, sagaPromise]);
95
- if (is(result, SnapResponseStruct) && hasProperty(result.response, "error")) {
96
- throw new Error(
97
- `Unable to get the interface from the Snap: The returned interface may be invalid. The error message received was: ${result.response.error.message}`
98
- );
99
- }
100
- return await sagaPromise;
101
- };
102
- return promise;
103
- }
104
- async function getInterfaceFromResult(result, snapId, controllerMessenger) {
105
- if (isPlainObject(result) && hasProperty(result, "id")) {
106
- return result.id;
107
- }
108
- if (isPlainObject(result) && hasProperty(result, "content")) {
109
- assert(
110
- is(result.content, ComponentOrElementStruct),
111
- "The Snap returned an invalid interface."
112
- );
113
- const id = await controllerMessenger.call(
114
- "SnapInterfaceController:createInterface",
115
- snapId,
116
- result.content
117
- );
118
- return id;
119
- }
120
- return void 0;
121
- }
122
- async function getInterfaceApi(result, snapId, controllerMessenger) {
123
- const interfaceId = await getInterfaceFromResult(
124
- result,
125
- snapId,
126
- controllerMessenger
127
- );
128
- if (interfaceId) {
129
- return () => {
130
- const { content } = controllerMessenger.call(
131
- "SnapInterfaceController:getInterface",
132
- snapId,
133
- interfaceId
134
- );
135
- const actions = getInterfaceActions(snapId, controllerMessenger, {
136
- id: interfaceId,
137
- content
138
- });
139
- return {
140
- content,
141
- ...actions
142
- };
143
- };
144
- }
145
- return void 0;
146
- }
147
-
148
- export {
149
- handleRequest,
150
- getInterfaceFromResult,
151
- getInterfaceApi
152
- };
153
- //# sourceMappingURL=chunk-5SGLRSWR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internals/request.ts"],"sourcesContent":["import type { AbstractExecutionService } from '@metamask/snaps-controllers';\nimport {\n type ComponentOrElement,\n ComponentOrElementStruct,\n type JsonRpcError,\n type SnapId,\n} from '@metamask/snaps-sdk';\nimport type { HandlerType } from '@metamask/snaps-utils';\nimport { unwrapError } from '@metamask/snaps-utils';\nimport {\n assert,\n getSafeJson,\n hasProperty,\n isPlainObject,\n} from '@metamask/utils';\nimport { nanoid } from '@reduxjs/toolkit';\nimport { is } from 'superstruct';\n\nimport type {\n RequestOptions,\n SnapHandlerInterface,\n SnapRequest,\n} from '../types';\nimport type { RunSagaFunction, Store } from './simulation';\nimport {\n clearNotifications,\n getInterface,\n getInterfaceActions,\n getNotifications,\n} from './simulation';\nimport type { RootControllerMessenger } from './simulation/controllers';\nimport { SnapResponseStruct } from './structs';\n\nexport type HandleRequestOptions = {\n snapId: SnapId;\n store: Store;\n executionService: AbstractExecutionService<unknown>;\n handler: HandlerType;\n controllerMessenger: RootControllerMessenger;\n runSaga: RunSagaFunction;\n request: RequestOptions;\n};\n\n/**\n * Send a JSON-RPC request to the Snap, and wrap the response in a\n * {@link SnapResponse} object.\n *\n * @param options - The request options.\n * @param options.snapId - The ID of the Snap to send the request to.\n * @param options.store - The Redux store.\n * @param options.executionService - The execution service to use to send the\n * request.\n * @param options.handler - The handler to use to send the request.\n * @param options.controllerMessenger - The controller messenger used to call actions.\n * @param options.runSaga - A function to run a saga outside the usual Redux\n * flow.\n * @param options.request - The request to send.\n * @param options.request.id - The ID of the request. If not provided, a random\n * ID will be generated.\n * @param options.request.origin - The origin of the request. Defaults to\n * `https://metamask.io`.\n * @returns The response, wrapped in a {@link SnapResponse} object.\n */\nexport function handleRequest({\n snapId,\n store,\n executionService,\n handler,\n controllerMessenger,\n runSaga,\n request: { id = nanoid(), origin = 'https://metamask.io', ...options },\n}: HandleRequestOptions): SnapRequest {\n const getInterfaceError = () => {\n throw new Error(\n 'Unable to get the interface from the Snap: The request to the Snap failed.',\n );\n };\n\n const promise = executionService\n .handleRpcRequest(snapId, {\n origin,\n handler,\n request: {\n jsonrpc: '2.0',\n id: 1,\n ...options,\n },\n })\n .then(async (result) => {\n const notifications = getNotifications(store.getState());\n store.dispatch(clearNotifications());\n\n try {\n const getInterfaceFn = await getInterfaceApi(\n result,\n snapId,\n controllerMessenger,\n );\n\n return {\n id: String(id),\n response: {\n result: getSafeJson(result),\n },\n notifications,\n ...(getInterfaceFn ? { getInterface: getInterfaceFn } : {}),\n };\n } catch (error) {\n const [unwrappedError] = unwrapError(error);\n return {\n id: String(id),\n response: {\n error: unwrappedError.serialize(),\n },\n notifications: [],\n getInterface: getInterfaceError,\n };\n }\n })\n .catch((error) => {\n const [unwrappedError] = unwrapError(error);\n\n return {\n id: String(id),\n response: {\n error: unwrappedError.serialize(),\n },\n notifications: [],\n getInterface: getInterfaceError,\n };\n }) as unknown as SnapRequest;\n\n promise.getInterface = async () => {\n const sagaPromise = runSaga(\n getInterface,\n runSaga,\n snapId,\n controllerMessenger,\n ).toPromise();\n const result = await Promise.race([promise, sagaPromise]);\n\n // If the request promise has resolved to an error, we should throw\n // instead of waiting for an interface that likely will never be displayed\n if (\n is(result, SnapResponseStruct) &&\n hasProperty(result.response, 'error')\n ) {\n throw new Error(\n `Unable to get the interface from the Snap: The returned interface may be invalid. The error message received was: ${\n (result.response.error as JsonRpcError).message\n }`,\n );\n }\n\n return await sagaPromise;\n };\n\n return promise;\n}\n\n/**\n * Get the interface ID from the result if it's available or create a new interface if the result contains static components.\n *\n * @param result - The handler result object.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The interface ID or undefined if the result doesn't include content.\n */\nexport async function getInterfaceFromResult(\n result: unknown,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n) {\n if (isPlainObject(result) && hasProperty(result, 'id')) {\n return result.id as string;\n }\n\n if (isPlainObject(result) && hasProperty(result, 'content')) {\n assert(\n is(result.content, ComponentOrElementStruct),\n 'The Snap returned an invalid interface.',\n );\n const id = await controllerMessenger.call(\n 'SnapInterfaceController:createInterface',\n snapId,\n result.content as ComponentOrElement,\n );\n\n return id;\n }\n\n return undefined;\n}\n\n/**\n * Get the response content from the `SnapInterfaceController` and include the\n * interaction methods.\n *\n * @param result - The handler result object.\n * @param snapId - The Snap ID.\n * @param controllerMessenger - The controller messenger.\n * @returns The content components if any.\n */\nexport async function getInterfaceApi(\n result: unknown,\n snapId: SnapId,\n controllerMessenger: RootControllerMessenger,\n): Promise<(() => SnapHandlerInterface) | undefined> {\n const interfaceId = await getInterfaceFromResult(\n result,\n snapId,\n controllerMessenger,\n );\n\n if (interfaceId) {\n return () => {\n const { content } = controllerMessenger.call(\n 'SnapInterfaceController:getInterface',\n snapId,\n interfaceId,\n );\n\n const actions = getInterfaceActions(snapId, controllerMessenger, {\n id: interfaceId,\n content,\n });\n\n return {\n content,\n ...actions,\n };\n };\n }\n\n return undefined;\n}\n"],"mappings":"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","names":[]}
@@ -1,41 +0,0 @@
1
- import {
2
- clearState,
3
- getState,
4
- setState
5
- } from "./chunk-MPZOXW6I.mjs";
6
-
7
- // src/internals/simulation/methods/hooks/state.ts
8
- import { parseJson } from "@metamask/snaps-utils";
9
- import { put, select } from "redux-saga/effects";
10
- function* getSnapStateImplementation(_snapId, encrypted = true) {
11
- const state = yield select(getState(encrypted));
12
- return parseJson(state);
13
- }
14
- function getGetSnapStateMethodImplementation(runSaga) {
15
- return (...args) => {
16
- return runSaga(getSnapStateImplementation, ...args).result();
17
- };
18
- }
19
- function* updateSnapStateImplementation(_snapId, newState, encrypted = true) {
20
- yield put(setState({ state: JSON.stringify(newState), encrypted }));
21
- }
22
- function getUpdateSnapStateMethodImplementation(runSaga) {
23
- return (...args) => {
24
- runSaga(updateSnapStateImplementation, ...args).result();
25
- };
26
- }
27
- function* clearSnapStateImplementation(_snapId, encrypted = true) {
28
- yield put(clearState({ encrypted }));
29
- }
30
- function getClearSnapStateMethodImplementation(runSaga) {
31
- return async (...args) => {
32
- runSaga(clearSnapStateImplementation, ...args).result();
33
- };
34
- }
35
-
36
- export {
37
- getGetSnapStateMethodImplementation,
38
- getUpdateSnapStateMethodImplementation,
39
- getClearSnapStateMethodImplementation
40
- };
41
- //# sourceMappingURL=chunk-5U5WB3SM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internals/simulation/methods/hooks/state.ts"],"sourcesContent":["import { parseJson } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\nimport 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 const state = yield select(getState(encrypted));\n // TODO: Use actual decryption implementation\n return parseJson(state);\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: Record<string, Json>,\n encrypted = true,\n): SagaIterator<void> {\n // TODO: Use actual encryption implementation\n yield put(setState({ state: JSON.stringify(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":";;;;;;;AAAA,SAAS,iBAAiB;AAG1B,SAAS,KAAK,cAAc;AAe5B,UAAU,2BACR,SACA,YAAY,MACU;AACtB,QAAM,QAAQ,MAAM,OAAO,SAAS,SAAS,CAAC;AAE9C,SAAO,UAAU,KAAK;AACxB;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;AAEpB,QAAM,IAAI,SAAS,EAAE,OAAO,KAAK,UAAU,QAAQ,GAAG,UAAU,CAAC,CAAC;AACpE;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":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-5ZFHFICZ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-6HHV6YFQ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,11 +0,0 @@
1
- // src/internals/simulation/constants.ts
2
- var DEFAULT_SRP = "test test test test test test test test test test test ball";
3
- var DEFAULT_LOCALE = "en";
4
- var DEFAULT_JSON_RPC_ENDPOINT = "https://cloudflare-eth.com/";
5
-
6
- export {
7
- DEFAULT_SRP,
8
- DEFAULT_LOCALE,
9
- DEFAULT_JSON_RPC_ENDPOINT
10
- };
11
- //# sourceMappingURL=chunk-6KXCBUNZ.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internals/simulation/constants.ts"],"sourcesContent":["/**\n * A secret recovery phrase that is used for testing purposes. Do not use this\n * to store any real funds!\n */\nexport const DEFAULT_SRP =\n 'test test test test test test test test test test test ball';\n\n/**\n * The default locale.\n */\nexport const DEFAULT_LOCALE = 'en';\n\n/**\n * The default JSON-RPC endpoint for Ethereum requests.\n */\nexport const DEFAULT_JSON_RPC_ENDPOINT = 'https://cloudflare-eth.com/';\n"],"mappings":";AAIO,IAAM,cACX;AAKK,IAAM,iBAAiB;AAKvB,IAAM,4BAA4B;","names":[]}
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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":[]}