@metamask/snaps-execution-environments 4.0.1 → 5.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 (438) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/dist/browserify/iframe/bundle.js +4 -4
  3. package/dist/browserify/node-process/bundle.js +3 -3
  4. package/dist/browserify/node-thread/bundle.js +3 -3
  5. package/dist/browserify/webview/bundle.js +4 -4
  6. package/dist/browserify/worker-executor/bundle.js +4 -4
  7. package/dist/browserify/worker-pool/bundle.js +4 -4
  8. package/dist/chunk-2VA6RAEE.js +30 -0
  9. package/dist/chunk-2VA6RAEE.js.map +1 -0
  10. package/dist/chunk-3JCT4MWT.js +108 -0
  11. package/dist/chunk-3JCT4MWT.js.map +1 -0
  12. package/dist/chunk-3Y4ZRKNE.js +33 -0
  13. package/dist/chunk-3Y4ZRKNE.js.map +1 -0
  14. package/dist/chunk-44XYIN4N.js +86 -0
  15. package/dist/chunk-44XYIN4N.js.map +1 -0
  16. package/dist/chunk-4CGJF3BT.mjs +262 -0
  17. package/dist/chunk-4CGJF3BT.mjs.map +1 -0
  18. package/dist/chunk-4XRZLEKU.js +49 -0
  19. package/dist/chunk-4XRZLEKU.js.map +1 -0
  20. package/dist/chunk-53ZULHPK.mjs +16 -0
  21. package/dist/chunk-53ZULHPK.mjs.map +1 -0
  22. package/dist/chunk-5DEV3QQU.mjs +12 -0
  23. package/dist/chunk-5DEV3QQU.mjs.map +1 -0
  24. package/dist/chunk-5FG5IBYT.mjs +33 -0
  25. package/dist/chunk-5FG5IBYT.mjs.map +1 -0
  26. package/dist/chunk-5STN3QCA.js +183 -0
  27. package/dist/chunk-5STN3QCA.js.map +1 -0
  28. package/dist/chunk-7AJWXSDQ.mjs +73 -0
  29. package/dist/chunk-7AJWXSDQ.mjs.map +1 -0
  30. package/dist/chunk-ACK2JBSO.mjs +49 -0
  31. package/dist/chunk-ACK2JBSO.mjs.map +1 -0
  32. package/dist/chunk-B3JZNNZD.js +48 -0
  33. package/dist/chunk-B3JZNNZD.js.map +1 -0
  34. package/dist/chunk-BCBKEUCG.mjs +38 -0
  35. package/dist/chunk-BCBKEUCG.mjs.map +1 -0
  36. package/dist/chunk-BTEAZZKP.mjs +24 -0
  37. package/dist/chunk-BTEAZZKP.mjs.map +1 -0
  38. package/dist/chunk-CV5LC4PP.js +24 -0
  39. package/dist/chunk-CV5LC4PP.js.map +1 -0
  40. package/dist/chunk-CWCVTRNZ.mjs +48 -0
  41. package/dist/chunk-CWCVTRNZ.mjs.map +1 -0
  42. package/dist/chunk-CWIFVPLR.js +262 -0
  43. package/dist/chunk-CWIFVPLR.js.map +1 -0
  44. package/dist/chunk-DFPM46ZF.js +147 -0
  45. package/dist/chunk-DFPM46ZF.js.map +1 -0
  46. package/dist/chunk-DLLLH5HN.js +26 -0
  47. package/dist/chunk-DLLLH5HN.js.map +1 -0
  48. package/dist/chunk-DTF6YTIS.js +484 -0
  49. package/dist/chunk-DTF6YTIS.js.map +1 -0
  50. package/dist/chunk-ERB7OLAB.mjs +86 -0
  51. package/dist/chunk-ERB7OLAB.mjs.map +1 -0
  52. package/dist/chunk-EXN2TFDJ.js +38 -0
  53. package/dist/chunk-EXN2TFDJ.js.map +1 -0
  54. package/dist/chunk-F37LPBJS.js +33 -0
  55. package/dist/chunk-F37LPBJS.js.map +1 -0
  56. package/dist/chunk-FOEAIF5U.js +16 -0
  57. package/dist/chunk-FOEAIF5U.js.map +1 -0
  58. package/dist/chunk-HGLRZZ56.js +32 -0
  59. package/dist/chunk-HGLRZZ56.js.map +1 -0
  60. package/dist/chunk-HKHW6TTX.js +49 -0
  61. package/dist/chunk-HKHW6TTX.js.map +1 -0
  62. package/dist/chunk-HWS4QSOC.mjs +16 -0
  63. package/dist/chunk-HWS4QSOC.mjs.map +1 -0
  64. package/dist/chunk-I5G4YFHM.js +73 -0
  65. package/dist/chunk-I5G4YFHM.js.map +1 -0
  66. package/dist/chunk-IX5S3V47.mjs +26 -0
  67. package/dist/chunk-IX5S3V47.mjs.map +1 -0
  68. package/dist/chunk-JW3JHJ7S.js +45 -0
  69. package/dist/chunk-JW3JHJ7S.js.map +1 -0
  70. package/dist/chunk-LO5ORVRC.js +16 -0
  71. package/dist/chunk-LO5ORVRC.js.map +1 -0
  72. package/dist/chunk-MCXWFCGV.js +1 -0
  73. package/dist/chunk-MCXWFCGV.js.map +1 -0
  74. package/dist/chunk-MIWGLICQ.mjs +108 -0
  75. package/dist/chunk-MIWGLICQ.mjs.map +1 -0
  76. package/dist/chunk-MM6ZSW4E.mjs +81 -0
  77. package/dist/chunk-MM6ZSW4E.mjs.map +1 -0
  78. package/dist/chunk-MOXNHXPG.js +67 -0
  79. package/dist/chunk-MOXNHXPG.js.map +1 -0
  80. package/dist/chunk-MS2LQQYH.js +38 -0
  81. package/dist/chunk-MS2LQQYH.js.map +1 -0
  82. package/dist/chunk-MXNMMTJW.mjs +51 -0
  83. package/dist/chunk-MXNMMTJW.mjs.map +1 -0
  84. package/dist/chunk-OBT45IWW.js +92 -0
  85. package/dist/chunk-OBT45IWW.js.map +1 -0
  86. package/dist/chunk-OCNPLHS2.js +51 -0
  87. package/dist/chunk-OCNPLHS2.js.map +1 -0
  88. package/dist/chunk-OLASO3O4.js +81 -0
  89. package/dist/chunk-OLASO3O4.js.map +1 -0
  90. package/dist/chunk-PTCQ2I47.mjs +147 -0
  91. package/dist/chunk-PTCQ2I47.mjs.map +1 -0
  92. package/dist/chunk-Q42NNJFY.mjs +32 -0
  93. package/dist/chunk-Q42NNJFY.mjs.map +1 -0
  94. package/dist/chunk-QJB4J7WL.mjs +67 -0
  95. package/dist/chunk-QJB4J7WL.mjs.map +1 -0
  96. package/dist/chunk-QVIHE3WB.mjs +484 -0
  97. package/dist/chunk-QVIHE3WB.mjs.map +1 -0
  98. package/dist/chunk-QZC2X6NG.js +44 -0
  99. package/dist/chunk-QZC2X6NG.js.map +1 -0
  100. package/dist/chunk-RZNKZRAD.js +40 -0
  101. package/dist/chunk-RZNKZRAD.js.map +1 -0
  102. package/dist/chunk-S7257EN3.mjs +49 -0
  103. package/dist/chunk-S7257EN3.mjs.map +1 -0
  104. package/dist/chunk-TSEAPB7L.mjs +1 -0
  105. package/dist/chunk-TSEAPB7L.mjs.map +1 -0
  106. package/dist/chunk-UOPIRTJX.mjs +44 -0
  107. package/dist/chunk-UOPIRTJX.mjs.map +1 -0
  108. package/dist/chunk-USHNZDGV.mjs +33 -0
  109. package/dist/chunk-USHNZDGV.mjs.map +1 -0
  110. package/dist/chunk-V76DI2XM.mjs +183 -0
  111. package/dist/chunk-V76DI2XM.mjs.map +1 -0
  112. package/dist/chunk-VKFZ4EB5.mjs +40 -0
  113. package/dist/chunk-VKFZ4EB5.mjs.map +1 -0
  114. package/dist/chunk-W7EDURT5.mjs +92 -0
  115. package/dist/chunk-W7EDURT5.mjs.map +1 -0
  116. package/dist/chunk-WV3CXIKN.mjs +147 -0
  117. package/dist/chunk-WV3CXIKN.mjs.map +1 -0
  118. package/dist/chunk-Y7MVNOPY.mjs +45 -0
  119. package/dist/chunk-Y7MVNOPY.mjs.map +1 -0
  120. package/dist/chunk-YRZVIDCF.mjs +38 -0
  121. package/dist/chunk-YRZVIDCF.mjs.map +1 -0
  122. package/dist/chunk-Z4WSS7YZ.js +147 -0
  123. package/dist/chunk-Z4WSS7YZ.js.map +1 -0
  124. package/dist/chunk-Z7BOREC4.js +12 -0
  125. package/dist/chunk-Z7BOREC4.js.map +1 -0
  126. package/dist/chunk-ZNTCZK7J.mjs +30 -0
  127. package/dist/chunk-ZNTCZK7J.mjs.map +1 -0
  128. package/dist/common/BaseSnapExecutor.js +26 -0
  129. package/dist/common/BaseSnapExecutor.js.map +1 -0
  130. package/dist/common/BaseSnapExecutor.mjs +26 -0
  131. package/dist/common/BaseSnapExecutor.mjs.map +1 -0
  132. package/dist/common/commands.js +11 -0
  133. package/dist/common/commands.js.map +1 -0
  134. package/dist/common/commands.mjs +11 -0
  135. package/dist/common/commands.mjs.map +1 -0
  136. package/dist/common/endowments/commonEndowmentFactory.js +20 -0
  137. package/dist/common/endowments/commonEndowmentFactory.js.map +1 -0
  138. package/dist/common/endowments/commonEndowmentFactory.mjs +20 -0
  139. package/dist/common/endowments/commonEndowmentFactory.mjs.map +1 -0
  140. package/dist/common/endowments/console.js +13 -0
  141. package/dist/common/endowments/console.js.map +1 -0
  142. package/dist/common/endowments/console.mjs +13 -0
  143. package/dist/common/endowments/console.mjs.map +1 -0
  144. package/dist/common/endowments/crypto.js +11 -0
  145. package/dist/common/endowments/crypto.js.map +1 -0
  146. package/dist/common/endowments/crypto.mjs +11 -0
  147. package/dist/common/endowments/crypto.mjs.map +1 -0
  148. package/dist/common/endowments/date.js +9 -0
  149. package/dist/common/endowments/date.js.map +1 -0
  150. package/dist/common/endowments/date.mjs +9 -0
  151. package/dist/common/endowments/date.mjs.map +1 -0
  152. package/dist/common/endowments/index.js +21 -0
  153. package/dist/common/endowments/index.js.map +1 -0
  154. package/dist/common/endowments/index.mjs +21 -0
  155. package/dist/common/endowments/index.mjs.map +1 -0
  156. package/dist/common/endowments/interval.js +8 -0
  157. package/dist/common/endowments/interval.js.map +1 -0
  158. package/dist/common/endowments/interval.mjs +8 -0
  159. package/dist/common/endowments/interval.mjs.map +1 -0
  160. package/dist/common/endowments/math.js +10 -0
  161. package/dist/common/endowments/math.js.map +1 -0
  162. package/dist/common/endowments/math.mjs +10 -0
  163. package/dist/common/endowments/math.mjs.map +1 -0
  164. package/dist/common/endowments/network.js +10 -0
  165. package/dist/common/endowments/network.js.map +1 -0
  166. package/dist/common/endowments/network.mjs +10 -0
  167. package/dist/common/endowments/network.mjs.map +1 -0
  168. package/dist/common/endowments/textDecoder.js +8 -0
  169. package/dist/common/endowments/textDecoder.js.map +1 -0
  170. package/dist/common/endowments/textDecoder.mjs +8 -0
  171. package/dist/common/endowments/textDecoder.mjs.map +1 -0
  172. package/dist/common/endowments/textEncoder.js +8 -0
  173. package/dist/common/endowments/textEncoder.js.map +1 -0
  174. package/dist/common/endowments/textEncoder.mjs +8 -0
  175. package/dist/common/endowments/textEncoder.mjs.map +1 -0
  176. package/dist/common/endowments/timeout.js +8 -0
  177. package/dist/common/endowments/timeout.js.map +1 -0
  178. package/dist/common/endowments/timeout.mjs +8 -0
  179. package/dist/common/endowments/timeout.mjs.map +1 -0
  180. package/dist/common/globalEvents.js +11 -0
  181. package/dist/common/globalEvents.js.map +1 -0
  182. package/dist/common/globalEvents.mjs +11 -0
  183. package/dist/common/globalEvents.mjs.map +1 -0
  184. package/dist/common/globalObject.js +10 -0
  185. package/dist/common/globalObject.js.map +1 -0
  186. package/dist/common/globalObject.mjs +10 -0
  187. package/dist/common/globalObject.mjs.map +1 -0
  188. package/dist/common/lockdown/lockdown-events.js +8 -0
  189. package/dist/common/lockdown/lockdown-events.js.map +1 -0
  190. package/dist/common/lockdown/lockdown-events.mjs +8 -0
  191. package/dist/common/lockdown/lockdown-events.mjs.map +1 -0
  192. package/dist/common/lockdown/lockdown-more.js +8 -0
  193. package/dist/common/lockdown/lockdown-more.js.map +1 -0
  194. package/dist/common/lockdown/lockdown-more.mjs +8 -0
  195. package/dist/common/lockdown/lockdown-more.mjs.map +1 -0
  196. package/dist/common/lockdown/lockdown.js +22 -0
  197. package/dist/common/lockdown/lockdown.js.map +1 -0
  198. package/dist/common/lockdown/lockdown.mjs +22 -0
  199. package/dist/common/lockdown/lockdown.mjs.map +1 -0
  200. package/dist/common/sortParams.js +8 -0
  201. package/dist/common/sortParams.js.map +1 -0
  202. package/dist/common/sortParams.mjs +8 -0
  203. package/dist/common/sortParams.mjs.map +1 -0
  204. package/dist/common/utils.js +21 -0
  205. package/dist/common/utils.js.map +1 -0
  206. package/dist/common/utils.mjs +21 -0
  207. package/dist/common/utils.mjs.map +1 -0
  208. package/dist/common/validation.js +38 -0
  209. package/dist/common/validation.js.map +1 -0
  210. package/dist/common/validation.mjs +38 -0
  211. package/dist/common/validation.mjs.map +1 -0
  212. package/dist/globals.d.js +1 -0
  213. package/dist/globals.d.js.map +1 -0
  214. package/dist/globals.d.mjs +1 -0
  215. package/dist/globals.d.mjs.map +1 -0
  216. package/dist/iframe/IFrameSnapExecutor.js +27 -0
  217. package/dist/iframe/IFrameSnapExecutor.js.map +1 -0
  218. package/dist/iframe/IFrameSnapExecutor.mjs +27 -0
  219. package/dist/iframe/IFrameSnapExecutor.mjs.map +1 -0
  220. package/dist/iframe/index.js +35 -0
  221. package/dist/iframe/index.js.map +1 -0
  222. package/dist/iframe/index.mjs +35 -0
  223. package/dist/iframe/index.mjs.map +1 -0
  224. package/dist/index.js +9 -0
  225. package/dist/index.js.map +1 -0
  226. package/dist/index.mjs +9 -0
  227. package/dist/index.mjs.map +1 -0
  228. package/dist/logging.js +8 -0
  229. package/dist/logging.js.map +1 -0
  230. package/dist/logging.mjs +8 -0
  231. package/dist/logging.mjs.map +1 -0
  232. package/dist/node-process/ChildProcessSnapExecutor.js +27 -0
  233. package/dist/node-process/ChildProcessSnapExecutor.js.map +1 -0
  234. package/dist/node-process/ChildProcessSnapExecutor.mjs +27 -0
  235. package/dist/node-process/ChildProcessSnapExecutor.mjs.map +1 -0
  236. package/dist/node-process/index.js +31 -0
  237. package/dist/node-process/index.js.map +1 -0
  238. package/dist/node-process/index.mjs +31 -0
  239. package/dist/node-process/index.mjs.map +1 -0
  240. package/dist/node-thread/ThreadSnapExecutor.js +27 -0
  241. package/dist/node-thread/ThreadSnapExecutor.js.map +1 -0
  242. package/dist/node-thread/ThreadSnapExecutor.mjs +27 -0
  243. package/dist/node-thread/ThreadSnapExecutor.mjs.map +1 -0
  244. package/dist/node-thread/index.js +31 -0
  245. package/dist/node-thread/index.js.map +1 -0
  246. package/dist/node-thread/index.mjs +31 -0
  247. package/dist/node-thread/index.mjs.map +1 -0
  248. package/dist/proxy/ProxySnapExecutor.js +8 -0
  249. package/dist/proxy/ProxySnapExecutor.js.map +1 -0
  250. package/dist/proxy/ProxySnapExecutor.mjs +8 -0
  251. package/dist/proxy/ProxySnapExecutor.mjs.map +1 -0
  252. package/dist/proxy/index.js +9 -0
  253. package/dist/proxy/index.js.map +1 -0
  254. package/dist/proxy/index.mjs +9 -0
  255. package/dist/proxy/index.mjs.map +1 -0
  256. package/dist/tsconfig.build.tsbuildinfo +1 -0
  257. package/dist/types/common/utils.d.ts +7 -0
  258. package/dist/types/vendor/global.d.js +1 -0
  259. package/dist/types/vendor/global.d.js.map +1 -0
  260. package/dist/types/vendor/global.d.mjs +1 -0
  261. package/dist/types/vendor/global.d.mjs.map +1 -0
  262. package/dist/types/vendor/readable-stream.d.js +1 -0
  263. package/dist/types/vendor/readable-stream.d.js.map +1 -0
  264. package/dist/types/vendor/readable-stream.d.mjs +1 -0
  265. package/dist/types/vendor/readable-stream.d.mjs.map +1 -0
  266. package/dist/webview/WebViewExecutorStream.js +8 -0
  267. package/dist/webview/WebViewExecutorStream.js.map +1 -0
  268. package/dist/webview/WebViewExecutorStream.mjs +8 -0
  269. package/dist/webview/WebViewExecutorStream.mjs.map +1 -0
  270. package/dist/webview/index.js +26 -0
  271. package/dist/webview/index.js.map +1 -0
  272. package/dist/webview/index.mjs +26 -0
  273. package/dist/webview/index.mjs.map +1 -0
  274. package/dist/webworker/executor/WebWorkerSnapExecutor.js +27 -0
  275. package/dist/webworker/executor/WebWorkerSnapExecutor.js.map +1 -0
  276. package/dist/webworker/executor/WebWorkerSnapExecutor.mjs +27 -0
  277. package/dist/webworker/executor/WebWorkerSnapExecutor.mjs.map +1 -0
  278. package/dist/webworker/executor/index.js +35 -0
  279. package/dist/webworker/executor/index.js.map +1 -0
  280. package/dist/webworker/executor/index.mjs +35 -0
  281. package/dist/webworker/executor/index.mjs.map +1 -0
  282. package/dist/webworker/pool/WebWorkerPool.js +8 -0
  283. package/dist/webworker/pool/WebWorkerPool.js.map +1 -0
  284. package/dist/webworker/pool/WebWorkerPool.mjs +8 -0
  285. package/dist/webworker/pool/WebWorkerPool.mjs.map +1 -0
  286. package/dist/webworker/pool/index.js +16 -0
  287. package/dist/webworker/pool/index.js.map +1 -0
  288. package/dist/webworker/pool/index.mjs +16 -0
  289. package/dist/webworker/pool/index.mjs.map +1 -0
  290. package/package.json +25 -18
  291. package/dist/cjs/common/BaseSnapExecutor.js +0 -496
  292. package/dist/cjs/common/BaseSnapExecutor.js.map +0 -1
  293. package/dist/cjs/common/commands.js +0 -102
  294. package/dist/cjs/common/commands.js.map +0 -1
  295. package/dist/cjs/common/endowments/commonEndowmentFactory.js +0 -147
  296. package/dist/cjs/common/endowments/commonEndowmentFactory.js.map +0 -1
  297. package/dist/cjs/common/endowments/console.js +0 -134
  298. package/dist/cjs/common/endowments/console.js.map +0 -1
  299. package/dist/cjs/common/endowments/crypto.js +0 -44
  300. package/dist/cjs/common/endowments/crypto.js.map +0 -1
  301. package/dist/cjs/common/endowments/date.js +0 -53
  302. package/dist/cjs/common/endowments/date.js.map +0 -1
  303. package/dist/cjs/common/endowments/index.js +0 -93
  304. package/dist/cjs/common/endowments/index.js.map +0 -1
  305. package/dist/cjs/common/endowments/interval.js +0 -62
  306. package/dist/cjs/common/endowments/interval.js.map +0 -1
  307. package/dist/cjs/common/endowments/math.js +0 -67
  308. package/dist/cjs/common/endowments/math.js.map +0 -1
  309. package/dist/cjs/common/endowments/network.js +0 -303
  310. package/dist/cjs/common/endowments/network.js.map +0 -1
  311. package/dist/cjs/common/endowments/textDecoder.js +0 -28
  312. package/dist/cjs/common/endowments/textDecoder.js.map +0 -1
  313. package/dist/cjs/common/endowments/textEncoder.js +0 -28
  314. package/dist/cjs/common/endowments/textEncoder.js.map +0 -1
  315. package/dist/cjs/common/endowments/timeout.js +0 -64
  316. package/dist/cjs/common/endowments/timeout.js.map +0 -1
  317. package/dist/cjs/common/globalEvents.js +0 -40
  318. package/dist/cjs/common/globalEvents.js.map +0 -1
  319. package/dist/cjs/common/globalObject.js +0 -53
  320. package/dist/cjs/common/globalObject.js.map +0 -1
  321. package/dist/cjs/common/lockdown/lockdown-events.js +0 -74
  322. package/dist/cjs/common/lockdown/lockdown-events.js.map +0 -1
  323. package/dist/cjs/common/lockdown/lockdown-more.js +0 -73
  324. package/dist/cjs/common/lockdown/lockdown-more.js.map +0 -1
  325. package/dist/cjs/common/lockdown/lockdown.js +0 -30
  326. package/dist/cjs/common/lockdown/lockdown.js.map +0 -1
  327. package/dist/cjs/common/sortParams.js +0 -26
  328. package/dist/cjs/common/sortParams.js.map +0 -1
  329. package/dist/cjs/common/utils.js +0 -128
  330. package/dist/cjs/common/utils.js.map +0 -1
  331. package/dist/cjs/common/validation.js +0 -149
  332. package/dist/cjs/common/validation.js.map +0 -1
  333. package/dist/cjs/iframe/IFrameSnapExecutor.js +0 -50
  334. package/dist/cjs/iframe/IFrameSnapExecutor.js.map +0 -1
  335. package/dist/cjs/iframe/index.js +0 -13
  336. package/dist/cjs/iframe/index.js.map +0 -1
  337. package/dist/cjs/index.js +0 -20
  338. package/dist/cjs/index.js.map +0 -1
  339. package/dist/cjs/logging.js +0 -15
  340. package/dist/cjs/logging.js.map +0 -1
  341. package/dist/cjs/node-process/ChildProcessSnapExecutor.js +0 -39
  342. package/dist/cjs/node-process/ChildProcessSnapExecutor.js.map +0 -1
  343. package/dist/cjs/node-process/index.js +0 -11
  344. package/dist/cjs/node-process/index.js.map +0 -1
  345. package/dist/cjs/node-thread/ThreadSnapExecutor.js +0 -39
  346. package/dist/cjs/node-thread/ThreadSnapExecutor.js.map +0 -1
  347. package/dist/cjs/node-thread/index.js +0 -11
  348. package/dist/cjs/node-thread/index.js.map +0 -1
  349. package/dist/cjs/proxy/ProxySnapExecutor.js +0 -183
  350. package/dist/cjs/proxy/ProxySnapExecutor.js.map +0 -1
  351. package/dist/cjs/proxy/index.js +0 -20
  352. package/dist/cjs/proxy/index.js.map +0 -1
  353. package/dist/cjs/webview/WebViewExecutorStream.js +0 -121
  354. package/dist/cjs/webview/WebViewExecutorStream.js.map +0 -1
  355. package/dist/cjs/webview/index.js +0 -19
  356. package/dist/cjs/webview/index.js.map +0 -1
  357. package/dist/cjs/webworker/executor/WebWorkerSnapExecutor.js +0 -45
  358. package/dist/cjs/webworker/executor/WebWorkerSnapExecutor.js.map +0 -1
  359. package/dist/cjs/webworker/executor/index.js +0 -13
  360. package/dist/cjs/webworker/executor/index.js.map +0 -1
  361. package/dist/cjs/webworker/pool/WebWorkerPool.js +0 -248
  362. package/dist/cjs/webworker/pool/WebWorkerPool.js.map +0 -1
  363. package/dist/cjs/webworker/pool/index.js +0 -13
  364. package/dist/cjs/webworker/pool/index.js.map +0 -1
  365. package/dist/esm/common/BaseSnapExecutor.js +0 -486
  366. package/dist/esm/common/BaseSnapExecutor.js.map +0 -1
  367. package/dist/esm/common/commands.js +0 -101
  368. package/dist/esm/common/commands.js.map +0 -1
  369. package/dist/esm/common/endowments/commonEndowmentFactory.js +0 -132
  370. package/dist/esm/common/endowments/commonEndowmentFactory.js.map +0 -1
  371. package/dist/esm/common/endowments/console.js +0 -116
  372. package/dist/esm/common/endowments/console.js.map +0 -1
  373. package/dist/esm/common/endowments/crypto.js +0 -26
  374. package/dist/esm/common/endowments/crypto.js.map +0 -1
  375. package/dist/esm/common/endowments/date.js +0 -43
  376. package/dist/esm/common/endowments/date.js.map +0 -1
  377. package/dist/esm/common/endowments/index.js +0 -92
  378. package/dist/esm/common/endowments/index.js.map +0 -1
  379. package/dist/esm/common/endowments/interval.js +0 -52
  380. package/dist/esm/common/endowments/interval.js.map +0 -1
  381. package/dist/esm/common/endowments/math.js +0 -57
  382. package/dist/esm/common/endowments/math.js.map +0 -1
  383. package/dist/esm/common/endowments/network.js +0 -293
  384. package/dist/esm/common/endowments/network.js.map +0 -1
  385. package/dist/esm/common/endowments/textDecoder.js +0 -18
  386. package/dist/esm/common/endowments/textDecoder.js.map +0 -1
  387. package/dist/esm/common/endowments/textEncoder.js +0 -18
  388. package/dist/esm/common/endowments/textEncoder.js.map +0 -1
  389. package/dist/esm/common/endowments/timeout.js +0 -54
  390. package/dist/esm/common/endowments/timeout.js.map +0 -1
  391. package/dist/esm/common/globalEvents.js +0 -36
  392. package/dist/esm/common/globalEvents.js.map +0 -1
  393. package/dist/esm/common/globalObject.js +0 -36
  394. package/dist/esm/common/globalObject.js.map +0 -1
  395. package/dist/esm/common/lockdown/lockdown-events.js +0 -66
  396. package/dist/esm/common/lockdown/lockdown-events.js.map +0 -1
  397. package/dist/esm/common/lockdown/lockdown-more.js +0 -82
  398. package/dist/esm/common/lockdown/lockdown-more.js.map +0 -1
  399. package/dist/esm/common/lockdown/lockdown.js +0 -24
  400. package/dist/esm/common/lockdown/lockdown.js.map +0 -1
  401. package/dist/esm/common/sortParams.js +0 -29
  402. package/dist/esm/common/sortParams.js.map +0 -1
  403. package/dist/esm/common/utils.js +0 -128
  404. package/dist/esm/common/utils.js.map +0 -1
  405. package/dist/esm/common/validation.js +0 -127
  406. package/dist/esm/common/validation.js.map +0 -1
  407. package/dist/esm/iframe/IFrameSnapExecutor.js +0 -35
  408. package/dist/esm/iframe/IFrameSnapExecutor.js.map +0 -1
  409. package/dist/esm/iframe/index.js +0 -9
  410. package/dist/esm/iframe/index.js.map +0 -1
  411. package/dist/esm/index.js +0 -3
  412. package/dist/esm/index.js.map +0 -1
  413. package/dist/esm/logging.js +0 -10
  414. package/dist/esm/logging.js.map +0 -1
  415. package/dist/esm/node-process/ChildProcessSnapExecutor.js +0 -24
  416. package/dist/esm/node-process/ChildProcessSnapExecutor.js.map +0 -1
  417. package/dist/esm/node-process/index.js +0 -7
  418. package/dist/esm/node-process/index.js.map +0 -1
  419. package/dist/esm/node-thread/ThreadSnapExecutor.js +0 -24
  420. package/dist/esm/node-thread/ThreadSnapExecutor.js.map +0 -1
  421. package/dist/esm/node-thread/index.js +0 -7
  422. package/dist/esm/node-thread/index.js.map +0 -1
  423. package/dist/esm/proxy/ProxySnapExecutor.js +0 -181
  424. package/dist/esm/proxy/ProxySnapExecutor.js.map +0 -1
  425. package/dist/esm/proxy/index.js +0 -3
  426. package/dist/esm/proxy/index.js.map +0 -1
  427. package/dist/esm/webview/WebViewExecutorStream.js +0 -111
  428. package/dist/esm/webview/WebViewExecutorStream.js.map +0 -1
  429. package/dist/esm/webview/index.js +0 -15
  430. package/dist/esm/webview/index.js.map +0 -1
  431. package/dist/esm/webworker/executor/WebWorkerSnapExecutor.js +0 -30
  432. package/dist/esm/webworker/executor/WebWorkerSnapExecutor.js.map +0 -1
  433. package/dist/esm/webworker/executor/index.js +0 -9
  434. package/dist/esm/webworker/executor/index.js.map +0 -1
  435. package/dist/esm/webworker/pool/WebWorkerPool.js +0 -245
  436. package/dist/esm/webworker/pool/WebWorkerPool.js.map +0 -1
  437. package/dist/esm/webworker/pool/index.js +0 -9
  438. package/dist/esm/webworker/pool/index.js.map +0 -1
@@ -0,0 +1,262 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkZ4WSS7YZjs = require('./chunk-Z4WSS7YZ.js');
4
+
5
+
6
+
7
+
8
+ var _chunkEXN2TFDJjs = require('./chunk-EXN2TFDJ.js');
9
+
10
+ // src/common/endowments/network.ts
11
+ var _utils = require('@metamask/utils');
12
+ var _teardownRef, _ogResponse, _onStart, _onFinish;
13
+ var _ResponseWrapper = class _ResponseWrapper {
14
+ constructor(ogResponse, teardownRef, onStart, onFinish) {
15
+ _chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _teardownRef, void 0);
16
+ _chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _ogResponse, void 0);
17
+ _chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _onStart, void 0);
18
+ _chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _onFinish, void 0);
19
+ _chunkEXN2TFDJjs.__privateSet.call(void 0, this, _ogResponse, ogResponse);
20
+ _chunkEXN2TFDJjs.__privateSet.call(void 0, this, _teardownRef, teardownRef);
21
+ _chunkEXN2TFDJjs.__privateSet.call(void 0, this, _onStart, onStart);
22
+ _chunkEXN2TFDJjs.__privateSet.call(void 0, this, _onFinish, onFinish);
23
+ }
24
+ get body() {
25
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).body;
26
+ }
27
+ get bodyUsed() {
28
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).bodyUsed;
29
+ }
30
+ get headers() {
31
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).headers;
32
+ }
33
+ get ok() {
34
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).ok;
35
+ }
36
+ get redirected() {
37
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).redirected;
38
+ }
39
+ get status() {
40
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).status;
41
+ }
42
+ get statusText() {
43
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).statusText;
44
+ }
45
+ get type() {
46
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).type;
47
+ }
48
+ get url() {
49
+ return _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).url;
50
+ }
51
+ async text() {
52
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
53
+ (async () => {
54
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart).call(this);
55
+ try {
56
+ return await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).text();
57
+ } finally {
58
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish).call(this);
59
+ }
60
+ })(),
61
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef)
62
+ );
63
+ }
64
+ async arrayBuffer() {
65
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
66
+ (async () => {
67
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart).call(this);
68
+ try {
69
+ return await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).arrayBuffer();
70
+ } finally {
71
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish).call(this);
72
+ }
73
+ })(),
74
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef)
75
+ );
76
+ }
77
+ async blob() {
78
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
79
+ (async () => {
80
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart).call(this);
81
+ try {
82
+ return await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).blob();
83
+ } finally {
84
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish).call(this);
85
+ }
86
+ })(),
87
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef)
88
+ );
89
+ }
90
+ clone() {
91
+ const newResponse = _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).clone();
92
+ return new _ResponseWrapper(
93
+ newResponse,
94
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef),
95
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart),
96
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish)
97
+ );
98
+ }
99
+ async formData() {
100
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
101
+ (async () => {
102
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart).call(this);
103
+ try {
104
+ return await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).formData();
105
+ } finally {
106
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish).call(this);
107
+ }
108
+ })(),
109
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef)
110
+ );
111
+ }
112
+ async json() {
113
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
114
+ (async () => {
115
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onStart).call(this);
116
+ try {
117
+ return await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _ogResponse).json();
118
+ } finally {
119
+ await _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _onFinish).call(this);
120
+ }
121
+ })(),
122
+ _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _teardownRef)
123
+ );
124
+ }
125
+ };
126
+ _teardownRef = new WeakMap();
127
+ _ogResponse = new WeakMap();
128
+ _onStart = new WeakMap();
129
+ _onFinish = new WeakMap();
130
+ var ResponseWrapper = _ResponseWrapper;
131
+ var createNetwork = ({ notify } = {}) => {
132
+ _utils.assert.call(void 0, notify, "Notify must be passed to network endowment factory");
133
+ const openConnections = /* @__PURE__ */ new Set();
134
+ const teardownRef = { lastTeardown: 0 };
135
+ const cleanup = new FinalizationRegistry(
136
+ /* istanbul ignore next: can't test garbage collection without modifying node parameters */
137
+ (callback) => callback()
138
+ );
139
+ const _fetch = async (input, init) => {
140
+ const abortController = new AbortController();
141
+ if (init?.signal !== null && init?.signal !== void 0) {
142
+ const originalSignal = init.signal;
143
+ originalSignal.addEventListener(
144
+ "abort",
145
+ () => {
146
+ abortController.abort(originalSignal.reason);
147
+ },
148
+ { once: true }
149
+ );
150
+ }
151
+ let started = false;
152
+ const onStart = async () => {
153
+ if (!started) {
154
+ started = true;
155
+ await notify({
156
+ method: "OutboundRequest",
157
+ params: { source: "fetch" }
158
+ });
159
+ }
160
+ };
161
+ let finished = false;
162
+ const onFinish = async () => {
163
+ if (!finished) {
164
+ finished = true;
165
+ await notify({
166
+ method: "OutboundResponse",
167
+ params: { source: "fetch" }
168
+ });
169
+ }
170
+ };
171
+ let res;
172
+ let openFetchConnection;
173
+ return await _chunkZ4WSS7YZjs.withTeardown.call(void 0,
174
+ (async () => {
175
+ try {
176
+ await notify({
177
+ method: "OutboundRequest",
178
+ params: { source: "fetch" }
179
+ });
180
+ const fetchPromise = fetch(input, {
181
+ ...init,
182
+ signal: abortController.signal
183
+ });
184
+ openFetchConnection = {
185
+ cancel: async () => {
186
+ abortController.abort();
187
+ try {
188
+ await fetchPromise;
189
+ } catch {
190
+ }
191
+ }
192
+ };
193
+ openConnections.add(openFetchConnection);
194
+ res = new ResponseWrapper(
195
+ await fetchPromise,
196
+ teardownRef,
197
+ onStart,
198
+ onFinish
199
+ );
200
+ } finally {
201
+ if (openFetchConnection !== void 0) {
202
+ openConnections.delete(openFetchConnection);
203
+ }
204
+ await notify({
205
+ method: "OutboundResponse",
206
+ params: { source: "fetch" }
207
+ });
208
+ }
209
+ if (res.body !== null) {
210
+ const body = new WeakRef(res.body);
211
+ const openBodyConnection = {
212
+ cancel: (
213
+ /* istanbul ignore next: see it.todo('can be torn down during body read') test */
214
+ async () => {
215
+ try {
216
+ await body.deref()?.cancel();
217
+ } catch {
218
+ }
219
+ }
220
+ )
221
+ };
222
+ openConnections.add(openBodyConnection);
223
+ cleanup.register(
224
+ res.body,
225
+ /* istanbul ignore next: can't test garbage collection without modifying node parameters */
226
+ () => openConnections.delete(openBodyConnection)
227
+ );
228
+ }
229
+ return harden(res);
230
+ })(),
231
+ teardownRef
232
+ );
233
+ };
234
+ const teardownFunction = async () => {
235
+ teardownRef.lastTeardown += 1;
236
+ const promises = [];
237
+ openConnections.forEach(({ cancel }) => promises.push(cancel()));
238
+ openConnections.clear();
239
+ await Promise.all(promises);
240
+ };
241
+ return {
242
+ fetch: harden(_fetch),
243
+ // Request, Headers and Response are the endowments injected alongside fetch
244
+ // only when 'endowment:network-access' permission is requested,
245
+ // therefore these are hardened as part of fetch dependency injection within its factory.
246
+ // These endowments are not (and should never be) available by default.
247
+ Request: harden(Request),
248
+ Headers: harden(Headers),
249
+ Response: harden(Response),
250
+ teardownFunction
251
+ };
252
+ };
253
+ var endowmentModule = {
254
+ names: ["fetch", "Request", "Headers", "Response"],
255
+ factory: createNetwork
256
+ };
257
+ var network_default = endowmentModule;
258
+
259
+
260
+
261
+ exports.network_default = network_default;
262
+ //# sourceMappingURL=chunk-CWIFVPLR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/endowments/network.ts"],"names":[],"mappings":"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","sourcesContent":["import { assert } from '@metamask/utils';\n\nimport { withTeardown } from '../utils';\nimport type { EndowmentFactoryOptions } from './commonEndowmentFactory';\n\n/**\n * This class wraps a Response object.\n * That way, a teardown process can stop any processes left.\n */\nclass ResponseWrapper implements Response {\n readonly #teardownRef: { lastTeardown: number };\n\n #ogResponse: Response;\n\n #onStart: () => Promise<void>;\n\n #onFinish: () => Promise<void>;\n\n constructor(\n ogResponse: Response,\n teardownRef: { lastTeardown: number },\n onStart: () => Promise<void>,\n onFinish: () => Promise<void>,\n ) {\n this.#ogResponse = ogResponse;\n this.#teardownRef = teardownRef;\n this.#onStart = onStart;\n this.#onFinish = onFinish;\n }\n\n get body(): ReadableStream<Uint8Array> | null {\n return this.#ogResponse.body;\n }\n\n get bodyUsed() {\n return this.#ogResponse.bodyUsed;\n }\n\n get headers() {\n return this.#ogResponse.headers;\n }\n\n get ok() {\n return this.#ogResponse.ok;\n }\n\n get redirected() {\n return this.#ogResponse.redirected;\n }\n\n get status() {\n return this.#ogResponse.status;\n }\n\n get statusText() {\n return this.#ogResponse.statusText;\n }\n\n get type() {\n return this.#ogResponse.type;\n }\n\n get url() {\n return this.#ogResponse.url;\n }\n\n async text() {\n return await withTeardown<string>(\n (async () => {\n await this.#onStart();\n try {\n return await this.#ogResponse.text();\n } finally {\n await this.#onFinish();\n }\n })(),\n this.#teardownRef,\n );\n }\n\n async arrayBuffer(): Promise<ArrayBuffer> {\n return await withTeardown<ArrayBuffer>(\n (async () => {\n await this.#onStart();\n try {\n return await this.#ogResponse.arrayBuffer();\n } finally {\n await this.#onFinish();\n }\n })(),\n this.#teardownRef,\n );\n }\n\n async blob(): Promise<Blob> {\n return await withTeardown<Blob>(\n (async () => {\n await this.#onStart();\n try {\n return await this.#ogResponse.blob();\n } finally {\n await this.#onFinish();\n }\n })(),\n this.#teardownRef,\n );\n }\n\n clone(): Response {\n const newResponse = this.#ogResponse.clone();\n return new ResponseWrapper(\n newResponse,\n this.#teardownRef,\n this.#onStart,\n this.#onFinish,\n );\n }\n\n async formData(): Promise<FormData> {\n return await withTeardown<FormData>(\n (async () => {\n await this.#onStart();\n try {\n return await this.#ogResponse.formData();\n } finally {\n await this.#onFinish();\n }\n })(),\n this.#teardownRef,\n );\n }\n\n async json(): Promise<any> {\n return await withTeardown(\n (async () => {\n await this.#onStart();\n try {\n return await this.#ogResponse.json();\n } finally {\n await this.#onFinish();\n }\n })(),\n this.#teardownRef,\n );\n }\n}\n\n/**\n * Create a network endowment, consisting of a `fetch` function.\n * This allows us to provide a teardown function, so that we can cancel\n * any pending requests, connections, streams, etc. that may be open when a snap\n * is terminated.\n *\n * This wraps the original implementation of `fetch`,\n * to ensure that a bad actor cannot get access to the original function, thus\n * potentially preventing the network requests from being torn down.\n *\n * @param options - An options bag.\n * @param options.notify - A reference to the notify function of the snap executor.\n * @returns An object containing a wrapped `fetch`\n * function, as well as a teardown function.\n */\nconst createNetwork = ({ notify }: EndowmentFactoryOptions = {}) => {\n assert(notify, 'Notify must be passed to network endowment factory');\n // Open fetch calls or open body streams\n const openConnections = new Set<{ cancel: () => Promise<void> }>();\n // Track last teardown count\n const teardownRef = { lastTeardown: 0 };\n\n // Remove items from openConnections after they were garbage collected\n const cleanup = new FinalizationRegistry<() => void>(\n /* istanbul ignore next: can't test garbage collection without modifying node parameters */\n (callback) => callback(),\n );\n\n const _fetch: typeof fetch = async (\n input: RequestInfo | URL,\n init?: RequestInit,\n ): Promise<Response> => {\n const abortController = new AbortController();\n if (init?.signal !== null && init?.signal !== undefined) {\n const originalSignal = init.signal;\n // Merge abort controllers\n originalSignal.addEventListener(\n 'abort',\n () => {\n abortController.abort((originalSignal as any).reason);\n },\n { once: true },\n );\n }\n\n let started = false;\n const onStart = async () => {\n if (!started) {\n started = true;\n await notify({\n method: 'OutboundRequest',\n params: { source: 'fetch' },\n });\n }\n };\n\n let finished = false;\n const onFinish = async () => {\n if (!finished) {\n finished = true;\n await notify({\n method: 'OutboundResponse',\n params: { source: 'fetch' },\n });\n }\n };\n\n let res: Response;\n let openFetchConnection: { cancel: () => Promise<void> } | undefined;\n return await withTeardown(\n (async () => {\n try {\n await notify({\n method: 'OutboundRequest',\n params: { source: 'fetch' },\n });\n const fetchPromise = fetch(input, {\n ...init,\n signal: abortController.signal,\n });\n\n openFetchConnection = {\n cancel: async () => {\n abortController.abort();\n try {\n await fetchPromise;\n } catch {\n /* do nothing */\n }\n },\n };\n openConnections.add(openFetchConnection);\n\n res = new ResponseWrapper(\n await fetchPromise,\n teardownRef,\n onStart,\n onFinish,\n );\n } finally {\n if (openFetchConnection !== undefined) {\n openConnections.delete(openFetchConnection);\n }\n await notify({\n method: 'OutboundResponse',\n params: { source: 'fetch' },\n });\n }\n\n if (res.body !== null) {\n const body = new WeakRef<ReadableStream>(res.body);\n\n const openBodyConnection = {\n cancel:\n /* istanbul ignore next: see it.todo('can be torn down during body read') test */\n async () => {\n try {\n await body.deref()?.cancel();\n } catch {\n /* do nothing */\n }\n },\n };\n openConnections.add(openBodyConnection);\n cleanup.register(\n res.body,\n /* istanbul ignore next: can't test garbage collection without modifying node parameters */\n () => openConnections.delete(openBodyConnection),\n );\n }\n return harden(res);\n })(),\n teardownRef,\n );\n };\n\n const teardownFunction = async () => {\n teardownRef.lastTeardown += 1;\n const promises: Promise<void>[] = [];\n openConnections.forEach(({ cancel }) => promises.push(cancel()));\n openConnections.clear();\n await Promise.all(promises);\n };\n\n return {\n fetch: harden(_fetch),\n // Request, Headers and Response are the endowments injected alongside fetch\n // only when 'endowment:network-access' permission is requested,\n // therefore these are hardened as part of fetch dependency injection within its factory.\n // These endowments are not (and should never be) available by default.\n Request: harden(Request),\n Headers: harden(Headers),\n Response: harden(Response),\n teardownFunction,\n };\n};\n\nconst endowmentModule = {\n names: ['fetch', 'Request', 'Headers', 'Response'] as const,\n factory: createNetwork,\n};\nexport default endowmentModule;\n"]}
@@ -0,0 +1,147 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/common/validation.ts
2
+ var _rpcerrors = require('@metamask/rpc-errors');
3
+ var _snapssdk = require('@metamask/snaps-sdk');
4
+ var _snapsutils = require('@metamask/snaps-utils');
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ var _utils = require('@metamask/utils');
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+ var _superstruct = require('superstruct');
27
+ var JsonRpcRequestWithoutIdStruct = _superstruct.object.call(void 0, {
28
+ jsonrpc: _superstruct.optional.call(void 0, _utils.JsonRpcVersionStruct),
29
+ id: _superstruct.optional.call(void 0, _utils.JsonRpcIdStruct),
30
+ method: _superstruct.string.call(void 0, ),
31
+ params: _superstruct.optional.call(void 0, _utils.JsonRpcParamsStruct)
32
+ });
33
+ var EndowmentStruct = _superstruct.string.call(void 0, );
34
+ function isEndowment(value) {
35
+ return _superstruct.is.call(void 0, value, EndowmentStruct);
36
+ }
37
+ function isEndowmentsArray(value) {
38
+ return Array.isArray(value) && value.every(isEndowment);
39
+ }
40
+ var OkStruct = _superstruct.literal.call(void 0, "OK");
41
+ var PingRequestArgumentsStruct = _superstruct.optional.call(void 0,
42
+ _superstruct.union.call(void 0, [_superstruct.literal.call(void 0, void 0), _superstruct.array.call(void 0, )])
43
+ );
44
+ var TerminateRequestArgumentsStruct = _superstruct.union.call(void 0, [
45
+ _superstruct.literal.call(void 0, void 0),
46
+ _superstruct.array.call(void 0, )
47
+ ]);
48
+ var ExecuteSnapRequestArgumentsStruct = _superstruct.tuple.call(void 0, [
49
+ _superstruct.string.call(void 0, ),
50
+ _superstruct.string.call(void 0, ),
51
+ _superstruct.array.call(void 0, EndowmentStruct)
52
+ ]);
53
+ var SnapRpcRequestArgumentsStruct = _superstruct.tuple.call(void 0, [
54
+ _superstruct.string.call(void 0, ),
55
+ _superstruct.enums.call(void 0, Object.values(_snapsutils.HandlerType)),
56
+ _superstruct.string.call(void 0, ),
57
+ _superstruct.assign.call(void 0,
58
+ JsonRpcRequestWithoutIdStruct,
59
+ _superstruct.object.call(void 0, {
60
+ params: _superstruct.optional.call(void 0, _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct))
61
+ })
62
+ )
63
+ ]);
64
+ var OnTransactionRequestArgumentsStruct = _superstruct.object.call(void 0, {
65
+ // TODO: Improve `transaction` type.
66
+ transaction: _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct),
67
+ chainId: _snapsutils.ChainIdStruct,
68
+ transactionOrigin: _superstruct.nullable.call(void 0, _superstruct.string.call(void 0, ))
69
+ });
70
+ function assertIsOnTransactionRequestArguments(value) {
71
+ _utils.assertStruct.call(void 0,
72
+ value,
73
+ OnTransactionRequestArgumentsStruct,
74
+ "Invalid request params",
75
+ _rpcerrors.rpcErrors.invalidParams
76
+ );
77
+ }
78
+ var OnSignatureRequestArgumentsStruct = _superstruct.object.call(void 0, {
79
+ signature: _superstruct.record.call(void 0, _superstruct.string.call(void 0, ), _utils.JsonStruct),
80
+ signatureOrigin: _superstruct.nullable.call(void 0, _superstruct.string.call(void 0, ))
81
+ });
82
+ function assertIsOnSignatureRequestArguments(value) {
83
+ _utils.assertStruct.call(void 0,
84
+ value,
85
+ OnSignatureRequestArgumentsStruct,
86
+ "Invalid request params",
87
+ _rpcerrors.rpcErrors.invalidParams
88
+ );
89
+ }
90
+ var baseNameLookupArgs = { chainId: _snapsutils.ChainIdStruct };
91
+ var domainRequestStruct = _superstruct.object.call(void 0, {
92
+ ...baseNameLookupArgs,
93
+ address: _superstruct.string.call(void 0, )
94
+ });
95
+ var addressRequestStruct = _superstruct.object.call(void 0, {
96
+ ...baseNameLookupArgs,
97
+ domain: _superstruct.string.call(void 0, )
98
+ });
99
+ var OnNameLookupRequestArgumentsStruct = _superstruct.union.call(void 0, [
100
+ domainRequestStruct,
101
+ addressRequestStruct
102
+ ]);
103
+ function assertIsOnNameLookupRequestArguments(value) {
104
+ _utils.assertStruct.call(void 0,
105
+ value,
106
+ OnNameLookupRequestArgumentsStruct,
107
+ "Invalid request params",
108
+ _rpcerrors.rpcErrors.invalidParams
109
+ );
110
+ }
111
+ var OnUserInputArgumentsStruct = _superstruct.object.call(void 0, {
112
+ id: _superstruct.string.call(void 0, ),
113
+ event: _snapssdk.UserInputEventStruct
114
+ });
115
+ function assertIsOnUserInputRequestArguments(value) {
116
+ _utils.assertStruct.call(void 0,
117
+ value,
118
+ OnUserInputArgumentsStruct,
119
+ "Invalid request params",
120
+ _rpcerrors.rpcErrors.invalidParams
121
+ );
122
+ }
123
+ var OkResponseStruct = _superstruct.object.call(void 0, {
124
+ id: _utils.JsonRpcIdStruct,
125
+ jsonrpc: _utils.JsonRpcVersionStruct,
126
+ result: OkStruct
127
+ });
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ exports.JsonRpcRequestWithoutIdStruct = JsonRpcRequestWithoutIdStruct; exports.EndowmentStruct = EndowmentStruct; exports.isEndowment = isEndowment; exports.isEndowmentsArray = isEndowmentsArray; exports.PingRequestArgumentsStruct = PingRequestArgumentsStruct; exports.TerminateRequestArgumentsStruct = TerminateRequestArgumentsStruct; exports.ExecuteSnapRequestArgumentsStruct = ExecuteSnapRequestArgumentsStruct; exports.SnapRpcRequestArgumentsStruct = SnapRpcRequestArgumentsStruct; exports.OnTransactionRequestArgumentsStruct = OnTransactionRequestArgumentsStruct; exports.assertIsOnTransactionRequestArguments = assertIsOnTransactionRequestArguments; exports.OnSignatureRequestArgumentsStruct = OnSignatureRequestArgumentsStruct; exports.assertIsOnSignatureRequestArguments = assertIsOnSignatureRequestArguments; exports.OnNameLookupRequestArgumentsStruct = OnNameLookupRequestArgumentsStruct; exports.assertIsOnNameLookupRequestArguments = assertIsOnNameLookupRequestArguments; exports.OnUserInputArgumentsStruct = OnUserInputArgumentsStruct; exports.assertIsOnUserInputRequestArguments = assertIsOnUserInputRequestArguments;
147
+ //# sourceMappingURL=chunk-DFPM46ZF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/validation.ts"],"names":[],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,4BAA4B;AACrC,SAAS,eAAe,mBAAmB;AAE3C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,IAAM,gCAAgC,OAAO;AAAA,EAClD,SAAS,SAAS,oBAAoB;AAAA,EACtC,IAAI,SAAS,eAAe;AAAA,EAC5B,QAAQ,OAAO;AAAA,EACf,QAAQ,SAAS,mBAAmB;AACtC,CAAC;AAMM,IAAM,kBAAkB,OAAO;AAS/B,SAAS,YAAY,OAAoC;AAC9D,SAAO,GAAG,OAAO,eAAe;AAClC;AAQO,SAAS,kBAAkB,OAAsC;AACtE,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,WAAW;AACxD;AAEA,IAAM,WAAW,QAAQ,IAAI;AAEtB,IAAM,6BAA6B;AAAA,EACxC,MAAM,CAAC,QAAQ,MAAS,GAAG,MAAM,CAAC,CAAC;AACrC;AAEO,IAAM,kCAAkC,MAAM;AAAA,EACnD,QAAQ,MAAS;AAAA,EACjB,MAAM;AACR,CAAC;AAEM,IAAM,oCAAoC,MAAM;AAAA,EACrD,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM,eAAe;AACvB,CAAC;AAEM,IAAM,gCAAgC,MAAM;AAAA,EACjD,OAAO;AAAA,EACP,MAAM,OAAO,OAAO,WAAW,CAAC;AAAA,EAChC,OAAO;AAAA,EACP;AAAA,IACE;AAAA,IACA,OAAO;AAAA,MACL,QAAQ,SAAS,OAAO,OAAO,GAAG,UAAU,CAAC;AAAA,IAC/C,CAAC;AAAA,EACH;AACF,CAAC;AAqBM,IAAM,sCAAsC,OAAO;AAAA;AAAA,EAExD,aAAa,OAAO,OAAO,GAAG,UAAU;AAAA,EACxC,SAAS;AAAA,EACT,mBAAmB,SAAS,OAAO,CAAC;AACtC,CAAC;AAcM,SAAS,sCACd,OACgD;AAChD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,oCAAoC,OAAO;AAAA,EACtD,WAAW,OAAO,OAAO,GAAG,UAAU;AAAA,EACtC,iBAAiB,SAAS,OAAO,CAAC;AACpC,CAAC;AAcM,SAAS,oCACd,OAC8C;AAC9C;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEA,IAAM,qBAAqB,EAAE,SAAS,cAAc;AACpD,IAAM,sBAAsB,OAAO;AAAA,EACjC,GAAG;AAAA,EACH,SAAS,OAAO;AAClB,CAAC;AACD,IAAM,uBAAuB,OAAO;AAAA,EAClC,GAAG;AAAA,EACH,QAAQ,OAAO;AACjB,CAAC;AAEM,IAAM,qCAAqC,MAAM;AAAA,EACtD;AAAA,EACA;AACF,CAAC;AAmBM,SAAS,qCACd,OAC+C;AAC/C;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,6BAA6B,OAAO;AAAA,EAC/C,IAAI,OAAO;AAAA,EACX,OAAO;AACT,CAAC;AAYM,SAAS,oCACd,OACuC;AACvC;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEA,IAAM,mBAAmB,OAAO;AAAA,EAC9B,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,QAAQ;AACV,CAAC","sourcesContent":["import { rpcErrors } from '@metamask/rpc-errors';\nimport { UserInputEventStruct } from '@metamask/snaps-sdk';\nimport { ChainIdStruct, HandlerType } from '@metamask/snaps-utils';\nimport type { Json, JsonRpcSuccess } from '@metamask/utils';\nimport {\n assertStruct,\n JsonRpcIdStruct,\n JsonRpcParamsStruct,\n JsonRpcSuccessStruct,\n JsonRpcVersionStruct,\n JsonStruct,\n} from '@metamask/utils';\nimport type { Infer } from 'superstruct';\nimport {\n array,\n assign,\n enums,\n is,\n literal,\n nullable,\n object,\n optional,\n record,\n string,\n tuple,\n union,\n} from 'superstruct';\n\nexport const JsonRpcRequestWithoutIdStruct = object({\n jsonrpc: optional(JsonRpcVersionStruct),\n id: optional(JsonRpcIdStruct),\n method: string(),\n params: optional(JsonRpcParamsStruct),\n});\n\nexport type JsonRpcRequestWithoutId = Infer<\n typeof JsonRpcRequestWithoutIdStruct\n>;\n\nexport const EndowmentStruct = string();\nexport type Endowment = Infer<typeof EndowmentStruct>;\n\n/**\n * Check if the given value is an endowment.\n *\n * @param value - The value to check.\n * @returns Whether the value is an endowment.\n */\nexport function isEndowment(value: unknown): value is Endowment {\n return is(value, EndowmentStruct);\n}\n\n/**\n * Check if the given value is an array of endowments.\n *\n * @param value - The value to check.\n * @returns Whether the value is an array of endowments.\n */\nexport function isEndowmentsArray(value: unknown): value is Endowment[] {\n return Array.isArray(value) && value.every(isEndowment);\n}\n\nconst OkStruct = literal('OK');\n\nexport const PingRequestArgumentsStruct = optional(\n union([literal(undefined), array()]),\n);\n\nexport const TerminateRequestArgumentsStruct = union([\n literal(undefined),\n array(),\n]);\n\nexport const ExecuteSnapRequestArgumentsStruct = tuple([\n string(),\n string(),\n array(EndowmentStruct),\n]);\n\nexport const SnapRpcRequestArgumentsStruct = tuple([\n string(),\n enums(Object.values(HandlerType)),\n string(),\n assign(\n JsonRpcRequestWithoutIdStruct,\n object({\n params: optional(record(string(), JsonStruct)),\n }),\n ),\n]);\n\nexport type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;\nexport type TerminateRequestArguments = Infer<\n typeof TerminateRequestArgumentsStruct\n>;\n\nexport type ExecuteSnapRequestArguments = Infer<\n typeof ExecuteSnapRequestArgumentsStruct\n>;\n\nexport type SnapRpcRequestArguments = Infer<\n typeof SnapRpcRequestArgumentsStruct\n>;\n\nexport type RequestArguments =\n | PingRequestArguments\n | TerminateRequestArguments\n | ExecuteSnapRequestArguments\n | SnapRpcRequestArguments;\n\nexport const OnTransactionRequestArgumentsStruct = object({\n // TODO: Improve `transaction` type.\n transaction: record(string(), JsonStruct),\n chainId: ChainIdStruct,\n transactionOrigin: nullable(string()),\n});\n\nexport type OnTransactionRequestArguments = Infer<\n typeof OnTransactionRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnTransactionRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnTransactionRequestArguments}\n * object.\n */\nexport function assertIsOnTransactionRequestArguments(\n value: unknown,\n): asserts value is OnTransactionRequestArguments {\n assertStruct(\n value,\n OnTransactionRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnSignatureRequestArgumentsStruct = object({\n signature: record(string(), JsonStruct),\n signatureOrigin: nullable(string()),\n});\n\nexport type OnSignatureRequestArguments = Infer<\n typeof OnSignatureRequestArgumentsStruct\n>;\n\n/**\n * Asserts that the given value is a valid {@link OnSignatureRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnSignatureRequestArguments}\n * object.\n */\nexport function assertIsOnSignatureRequestArguments(\n value: unknown,\n): asserts value is OnSignatureRequestArguments {\n assertStruct(\n value,\n OnSignatureRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst baseNameLookupArgs = { chainId: ChainIdStruct };\nconst domainRequestStruct = object({\n ...baseNameLookupArgs,\n address: string(),\n});\nconst addressRequestStruct = object({\n ...baseNameLookupArgs,\n domain: string(),\n});\n\nexport const OnNameLookupRequestArgumentsStruct = union([\n domainRequestStruct,\n addressRequestStruct,\n]);\n\nexport type OnNameLookupRequestArguments = Infer<\n typeof OnNameLookupRequestArgumentsStruct\n>;\n\nexport type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {\n address?: string;\n domain?: string;\n};\n\n/**\n * Asserts that the given value is a valid {@link OnNameLookupRequestArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnNameLookupRequestArguments}\n * object.\n */\nexport function assertIsOnNameLookupRequestArguments(\n value: unknown,\n): asserts value is OnNameLookupRequestArguments {\n assertStruct(\n value,\n OnNameLookupRequestArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nexport const OnUserInputArgumentsStruct = object({\n id: string(),\n event: UserInputEventStruct,\n});\n\nexport type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;\n\n/**\n * Asserts that the given value is a valid {@link OnUserInputArguments}\n * object.\n *\n * @param value - The value to validate.\n * @throws If the value is not a valid {@link OnUserInputArguments}\n * object.\n */\nexport function assertIsOnUserInputRequestArguments(\n value: unknown,\n): asserts value is OnUserInputArguments {\n assertStruct(\n value,\n OnUserInputArgumentsStruct,\n 'Invalid request params',\n rpcErrors.invalidParams,\n );\n}\n\nconst OkResponseStruct = object({\n id: JsonRpcIdStruct,\n jsonrpc: JsonRpcVersionStruct,\n result: OkStruct,\n});\n\nconst SnapRpcResponse = JsonRpcSuccessStruct;\n\nexport type OkResponse = Infer<typeof OkResponseStruct>;\nexport type SnapRpcResponse = Infer<typeof SnapRpcResponse>;\n\nexport type Response = OkResponse | SnapRpcResponse;\n\ntype RequestParams<Params extends unknown[] | undefined> =\n Params extends undefined ? [] : Params;\n\ntype RequestFunction<\n Args extends RequestArguments,\n ResponseType extends JsonRpcSuccess<Json>,\n> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;\n\nexport type Ping = RequestFunction<PingRequestArguments, OkResponse>;\nexport type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;\nexport type ExecuteSnap = RequestFunction<\n ExecuteSnapRequestArguments,\n OkResponse\n>;\nexport type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;\n"]}
@@ -0,0 +1,26 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/common/globalObject.ts
2
+ var _rootRealmGlobal;
3
+ var _rootRealmGlobalName;
4
+ if (typeof globalThis !== "undefined") {
5
+ _rootRealmGlobal = globalThis;
6
+ _rootRealmGlobalName = "globalThis" /* globalThis */;
7
+ } else if (typeof self !== "undefined") {
8
+ _rootRealmGlobal = self;
9
+ _rootRealmGlobalName = "self" /* self */;
10
+ } else if (typeof window !== "undefined") {
11
+ _rootRealmGlobal = window;
12
+ _rootRealmGlobalName = "window" /* window */;
13
+ } else if (typeof global !== "undefined") {
14
+ _rootRealmGlobal = global;
15
+ _rootRealmGlobalName = "global" /* global */;
16
+ } else {
17
+ throw new Error("Unknown realm type; failed to identify global object.");
18
+ }
19
+ var rootRealmGlobal = _rootRealmGlobal;
20
+ var rootRealmGlobalName = _rootRealmGlobalName;
21
+
22
+
23
+
24
+
25
+ exports.rootRealmGlobal = rootRealmGlobal; exports.rootRealmGlobalName = rootRealmGlobalName;
26
+ //# sourceMappingURL=chunk-DLLLH5HN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/common/globalObject.ts"],"names":[],"mappings":";AAYA,IAAI;AACJ,IAAI;AAIJ,IAAI,OAAO,eAAe,aAAa;AACrC,qBAAmB;AACnB,yBAAuB;AACzB,WAAW,OAAO,SAAS,aAAa;AACtC,qBAAmB;AACnB,yBAAuB;AACzB,WAAW,OAAO,WAAW,aAAa;AACxC,qBAAmB;AACnB,yBAAuB;AACzB,WAAW,OAAO,WAAW,aAAa;AACxC,qBAAmB;AACnB,yBAAuB;AACzB,OAAO;AACL,QAAM,IAAI,MAAM,uDAAuD;AACzE;AAMA,IAAM,kBAAkB;AAKxB,IAAM,sBAAsB","sourcesContent":["enum GlobalObjectNames {\n // The globalThis entry is incorrectly identified as shadowing the global\n // globalThis.\n /* eslint-disable @typescript-eslint/naming-convention */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n globalThis = 'globalThis',\n global = 'global',\n self = 'self',\n window = 'window',\n /* eslint-enable @typescript-eslint/naming-convention */\n}\n\nlet _rootRealmGlobal: typeof globalThis;\nlet _rootRealmGlobalName: string;\n\n/* istanbul ignore next */\n/* eslint-disable no-negated-condition */\nif (typeof globalThis !== 'undefined') {\n _rootRealmGlobal = globalThis;\n _rootRealmGlobalName = GlobalObjectNames.globalThis;\n} else if (typeof self !== 'undefined') {\n _rootRealmGlobal = self;\n _rootRealmGlobalName = GlobalObjectNames.self;\n} else if (typeof window !== 'undefined') {\n _rootRealmGlobal = window;\n _rootRealmGlobalName = GlobalObjectNames.window;\n} else if (typeof global !== 'undefined') {\n _rootRealmGlobal = global;\n _rootRealmGlobalName = GlobalObjectNames.global;\n} else {\n throw new Error('Unknown realm type; failed to identify global object.');\n}\n/* eslint-enable no-negated-condition */\n\n/**\n * A platform-agnostic alias for the root realm global object.\n */\nconst rootRealmGlobal = _rootRealmGlobal;\n\n/**\n * The string literal corresponding to the name of the root realm global object.\n */\nconst rootRealmGlobalName = _rootRealmGlobalName;\n\nexport { rootRealmGlobal, rootRealmGlobalName };\n"]}