@metamask/snaps-execution-environments 6.6.2 → 6.7.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 (526) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/dist/common/BaseSnapExecutor.cjs +436 -0
  3. package/dist/common/BaseSnapExecutor.cjs.map +1 -0
  4. package/dist/{types/common/BaseSnapExecutor.d.ts → common/BaseSnapExecutor.d.cts} +8 -6
  5. package/dist/common/BaseSnapExecutor.d.cts.map +1 -0
  6. package/dist/common/BaseSnapExecutor.d.mts +70 -0
  7. package/dist/common/BaseSnapExecutor.d.mts.map +1 -0
  8. package/dist/common/BaseSnapExecutor.mjs +430 -24
  9. package/dist/common/BaseSnapExecutor.mjs.map +1 -1
  10. package/dist/common/commands.cjs +95 -0
  11. package/dist/common/commands.cjs.map +1 -0
  12. package/dist/{types/common/commands.d.ts → common/commands.d.cts} +5 -4
  13. package/dist/common/commands.d.cts.map +1 -0
  14. package/dist/common/commands.d.mts +31 -0
  15. package/dist/common/commands.d.mts.map +1 -0
  16. package/dist/common/commands.mjs +89 -10
  17. package/dist/common/commands.mjs.map +1 -1
  18. package/dist/common/endowments/commonEndowmentFactory.cjs +76 -0
  19. package/dist/common/endowments/commonEndowmentFactory.cjs.map +1 -0
  20. package/dist/{types/common/endowments/commonEndowmentFactory.d.ts → common/endowments/commonEndowmentFactory.d.cts} +5 -4
  21. package/dist/common/endowments/commonEndowmentFactory.d.cts.map +1 -0
  22. package/dist/common/endowments/commonEndowmentFactory.d.mts +26 -0
  23. package/dist/common/endowments/commonEndowmentFactory.d.mts.map +1 -0
  24. package/dist/common/endowments/commonEndowmentFactory.mjs +69 -18
  25. package/dist/common/endowments/commonEndowmentFactory.mjs.map +1 -1
  26. package/dist/common/endowments/console.cjs +103 -0
  27. package/dist/common/endowments/console.cjs.map +1 -0
  28. package/dist/{types/common/endowments/console.d.ts → common/endowments/console.d.cts} +2 -1
  29. package/dist/common/endowments/console.d.cts.map +1 -0
  30. package/dist/common/endowments/console.d.mts +46 -0
  31. package/dist/common/endowments/console.d.mts.map +1 -0
  32. package/dist/common/endowments/console.mjs +98 -11
  33. package/dist/common/endowments/console.mjs.map +1 -1
  34. package/dist/common/endowments/crypto.cjs +30 -0
  35. package/dist/common/endowments/crypto.cjs.map +1 -0
  36. package/dist/{types/common/endowments/crypto.d.ts → common/endowments/crypto.d.cts} +1 -0
  37. package/dist/common/endowments/crypto.d.cts.map +1 -0
  38. package/dist/common/endowments/crypto.d.mts +13 -0
  39. package/dist/common/endowments/crypto.d.mts.map +1 -0
  40. package/dist/common/endowments/crypto.mjs +26 -9
  41. package/dist/common/endowments/crypto.mjs.map +1 -1
  42. package/dist/common/endowments/date.cjs +39 -0
  43. package/dist/common/endowments/date.cjs.map +1 -0
  44. package/dist/{types/common/endowments/date.d.ts → common/endowments/date.d.cts} +1 -0
  45. package/dist/common/endowments/date.d.cts.map +1 -0
  46. package/dist/common/endowments/date.d.mts +16 -0
  47. package/dist/common/endowments/date.d.mts.map +1 -0
  48. package/dist/common/endowments/date.mjs +35 -7
  49. package/dist/common/endowments/date.mjs.map +1 -1
  50. package/dist/common/endowments/index.cjs +93 -0
  51. package/dist/common/endowments/index.cjs.map +1 -0
  52. package/dist/{types/common/endowments/index.d.ts → common/endowments/index.d.cts} +4 -3
  53. package/dist/common/endowments/index.d.cts.map +1 -0
  54. package/dist/common/endowments/index.d.mts +29 -0
  55. package/dist/common/endowments/index.d.mts.map +1 -0
  56. package/dist/common/endowments/index.mjs +85 -20
  57. package/dist/common/endowments/index.mjs.map +1 -1
  58. package/dist/common/endowments/interval.cjs +51 -0
  59. package/dist/common/endowments/interval.cjs.map +1 -0
  60. package/dist/{types/common/endowments/interval.d.ts → common/endowments/interval.d.cts} +1 -0
  61. package/dist/common/endowments/interval.d.cts.map +1 -0
  62. package/dist/common/endowments/interval.d.mts +10 -0
  63. package/dist/common/endowments/interval.d.mts.map +1 -0
  64. package/dist/common/endowments/interval.mjs +47 -6
  65. package/dist/common/endowments/interval.mjs.map +1 -1
  66. package/dist/common/endowments/math.cjs +54 -0
  67. package/dist/common/endowments/math.cjs.map +1 -0
  68. package/dist/{types/common/endowments/math.d.ts → common/endowments/math.d.cts} +1 -0
  69. package/dist/common/endowments/math.d.cts.map +1 -0
  70. package/dist/common/endowments/math.d.mts +61 -0
  71. package/dist/common/endowments/math.d.mts.map +1 -0
  72. package/dist/common/endowments/math.mjs +50 -8
  73. package/dist/common/endowments/math.mjs.map +1 -1
  74. package/dist/common/endowments/network.cjs +255 -0
  75. package/dist/common/endowments/network.cjs.map +1 -0
  76. package/dist/{types/common/endowments/network.d.ts → common/endowments/network.d.cts} +4 -2
  77. package/dist/common/endowments/network.d.cts.map +1 -0
  78. package/dist/common/endowments/network.d.mts +25 -0
  79. package/dist/common/endowments/network.d.mts.map +1 -0
  80. package/dist/common/endowments/network.mjs +251 -8
  81. package/dist/common/endowments/network.mjs.map +1 -1
  82. package/dist/common/endowments/textDecoder.cjs +18 -0
  83. package/dist/common/endowments/textDecoder.cjs.map +1 -0
  84. package/dist/{types/common/endowments/textDecoder.d.ts → common/endowments/textDecoder.d.cts} +1 -0
  85. package/dist/common/endowments/textDecoder.d.cts.map +1 -0
  86. package/dist/common/endowments/textDecoder.d.mts +11 -0
  87. package/dist/common/endowments/textDecoder.d.mts.map +1 -0
  88. package/dist/common/endowments/textDecoder.mjs +14 -6
  89. package/dist/common/endowments/textDecoder.mjs.map +1 -1
  90. package/dist/common/endowments/textEncoder.cjs +18 -0
  91. package/dist/common/endowments/textEncoder.cjs.map +1 -0
  92. package/dist/{types/common/endowments/textEncoder.d.ts → common/endowments/textEncoder.d.cts} +1 -0
  93. package/dist/common/endowments/textEncoder.d.cts.map +1 -0
  94. package/dist/common/endowments/textEncoder.d.mts +11 -0
  95. package/dist/common/endowments/textEncoder.d.mts.map +1 -0
  96. package/dist/common/endowments/textEncoder.mjs +14 -6
  97. package/dist/common/endowments/textEncoder.mjs.map +1 -1
  98. package/dist/common/endowments/timeout.cjs +53 -0
  99. package/dist/common/endowments/timeout.cjs.map +1 -0
  100. package/dist/{types/common/endowments/timeout.d.ts → common/endowments/timeout.d.cts} +1 -0
  101. package/dist/common/endowments/timeout.d.cts.map +1 -0
  102. package/dist/common/endowments/timeout.d.mts +10 -0
  103. package/dist/common/endowments/timeout.d.mts.map +1 -0
  104. package/dist/common/endowments/timeout.mjs +49 -6
  105. package/dist/common/endowments/timeout.mjs.map +1 -1
  106. package/dist/common/globalEvents.cjs +48 -0
  107. package/dist/common/globalEvents.cjs.map +1 -0
  108. package/dist/{types/common/globalEvents.d.ts → common/globalEvents.d.cts} +1 -0
  109. package/dist/common/globalEvents.d.cts.map +1 -0
  110. package/dist/common/globalEvents.d.mts +21 -0
  111. package/dist/common/globalEvents.d.mts.map +1 -0
  112. package/dist/common/globalEvents.mjs +42 -10
  113. package/dist/common/globalEvents.mjs.map +1 -1
  114. package/dist/common/globalObject.cjs +50 -0
  115. package/dist/common/globalObject.cjs.map +1 -0
  116. package/dist/{types/common/globalObject.d.ts → common/globalObject.d.cts} +1 -0
  117. package/dist/common/globalObject.d.cts.map +1 -0
  118. package/dist/common/globalObject.d.mts +10 -0
  119. package/dist/common/globalObject.d.mts.map +1 -0
  120. package/dist/common/globalObject.mjs +45 -9
  121. package/dist/common/globalObject.mjs.map +1 -1
  122. package/dist/common/lockdown/lockdown-events.cjs +60 -0
  123. package/dist/common/lockdown/lockdown-events.cjs.map +1 -0
  124. package/dist/{types/common/lockdown/lockdown-events.d.ts → common/lockdown/lockdown-events.d.cts} +1 -0
  125. package/dist/common/lockdown/lockdown-events.d.cts.map +1 -0
  126. package/dist/common/lockdown/lockdown-events.d.mts +5 -0
  127. package/dist/common/lockdown/lockdown-events.d.mts.map +1 -0
  128. package/dist/common/lockdown/lockdown-events.mjs +55 -7
  129. package/dist/common/lockdown/lockdown-events.mjs.map +1 -1
  130. package/dist/common/lockdown/lockdown-more.cjs +89 -0
  131. package/dist/common/lockdown/lockdown-more.cjs.map +1 -0
  132. package/dist/{types/common/lockdown/lockdown-more.d.ts → common/lockdown/lockdown-more.d.cts} +1 -0
  133. package/dist/common/lockdown/lockdown-more.d.cts.map +1 -0
  134. package/dist/common/lockdown/lockdown-more.d.mts +23 -0
  135. package/dist/common/lockdown/lockdown-more.d.mts.map +1 -0
  136. package/dist/common/lockdown/lockdown-more.mjs +84 -7
  137. package/dist/common/lockdown/lockdown-more.mjs.map +1 -1
  138. package/dist/common/lockdown/lockdown.cjs +29 -0
  139. package/dist/common/lockdown/lockdown.cjs.map +1 -0
  140. package/dist/{types/common/lockdown/lockdown.d.ts → common/lockdown/lockdown.d.cts} +1 -0
  141. package/dist/common/lockdown/lockdown.d.cts.map +1 -0
  142. package/dist/common/lockdown/lockdown.d.mts +8 -0
  143. package/dist/common/lockdown/lockdown.d.mts.map +1 -0
  144. package/dist/common/lockdown/lockdown.mjs +22 -19
  145. package/dist/common/lockdown/lockdown.mjs.map +1 -1
  146. package/dist/common/sortParams.cjs +35 -0
  147. package/dist/common/sortParams.cjs.map +1 -0
  148. package/dist/{types/common/sortParams.d.ts → common/sortParams.d.cts} +2 -1
  149. package/dist/common/sortParams.d.cts.map +1 -0
  150. package/dist/common/sortParams.d.mts +17 -0
  151. package/dist/common/sortParams.d.mts.map +1 -0
  152. package/dist/common/sortParams.mjs +29 -6
  153. package/dist/common/sortParams.mjs.map +1 -1
  154. package/dist/common/utils.cjs +156 -0
  155. package/dist/common/utils.cjs.map +1 -0
  156. package/dist/{types/common/utils.d.ts → common/utils.d.cts} +2 -1
  157. package/dist/common/utils.d.cts.map +1 -0
  158. package/dist/common/utils.d.mts +50 -0
  159. package/dist/common/utils.d.mts.map +1 -0
  160. package/dist/common/utils.mjs +146 -20
  161. package/dist/common/utils.mjs.map +1 -1
  162. package/dist/common/validation.cjs +137 -0
  163. package/dist/common/validation.cjs.map +1 -0
  164. package/dist/{types/common/validation.d.ts → common/validation.d.cts} +37 -36
  165. package/dist/common/validation.d.cts.map +1 -0
  166. package/dist/common/validation.d.mts +199 -0
  167. package/dist/common/validation.d.mts.map +1 -0
  168. package/dist/common/validation.mjs +127 -37
  169. package/dist/common/validation.mjs.map +1 -1
  170. package/dist/iframe/IFrameSnapExecutor.cjs +42 -0
  171. package/dist/iframe/IFrameSnapExecutor.cjs.map +1 -0
  172. package/dist/{types/iframe/IFrameSnapExecutor.d.ts → iframe/IFrameSnapExecutor.d.cts} +3 -2
  173. package/dist/iframe/IFrameSnapExecutor.d.cts.map +1 -0
  174. package/dist/iframe/IFrameSnapExecutor.d.mts +14 -0
  175. package/dist/iframe/IFrameSnapExecutor.d.mts.map +1 -0
  176. package/dist/iframe/IFrameSnapExecutor.mjs +42 -26
  177. package/dist/iframe/IFrameSnapExecutor.mjs.map +1 -1
  178. package/dist/iframe/index.cjs +10 -0
  179. package/dist/iframe/index.cjs.map +1 -0
  180. package/dist/iframe/index.d.cts +2 -0
  181. package/dist/iframe/index.d.cts.map +1 -0
  182. package/dist/iframe/index.d.mts +2 -0
  183. package/dist/iframe/index.d.mts.map +1 -0
  184. package/dist/iframe/index.mjs +4 -31
  185. package/dist/iframe/index.mjs.map +1 -1
  186. package/dist/index.cjs +18 -0
  187. package/dist/index.cjs.map +1 -0
  188. package/dist/index.d.cts +2 -0
  189. package/dist/index.d.cts.map +1 -0
  190. package/dist/index.d.mts +2 -0
  191. package/dist/index.d.mts.map +1 -0
  192. package/dist/index.mjs +1 -8
  193. package/dist/index.mjs.map +1 -1
  194. package/dist/logging.cjs +13 -0
  195. package/dist/logging.cjs.map +1 -0
  196. package/dist/{types/logging.d.ts → logging.d.cts} +1 -0
  197. package/dist/logging.d.cts.map +1 -0
  198. package/dist/logging.d.mts +9 -0
  199. package/dist/logging.d.mts.map +1 -0
  200. package/dist/logging.mjs +9 -7
  201. package/dist/logging.mjs.map +1 -1
  202. package/dist/node-process/ChildProcessSnapExecutor.cjs +30 -0
  203. package/dist/node-process/ChildProcessSnapExecutor.cjs.map +1 -0
  204. package/dist/{types/node-process/ChildProcessSnapExecutor.d.ts → node-process/ChildProcessSnapExecutor.d.cts} +2 -1
  205. package/dist/node-process/ChildProcessSnapExecutor.d.cts.map +1 -0
  206. package/dist/node-process/ChildProcessSnapExecutor.d.mts +5 -0
  207. package/dist/node-process/ChildProcessSnapExecutor.d.mts.map +1 -0
  208. package/dist/node-process/ChildProcessSnapExecutor.mjs +30 -26
  209. package/dist/node-process/ChildProcessSnapExecutor.mjs.map +1 -1
  210. package/dist/node-process/index.cjs +8 -0
  211. package/dist/node-process/index.cjs.map +1 -0
  212. package/dist/node-process/index.d.cts +2 -0
  213. package/dist/node-process/index.d.cts.map +1 -0
  214. package/dist/node-process/index.d.mts +2 -0
  215. package/dist/node-process/index.d.mts.map +1 -0
  216. package/dist/node-process/index.mjs +3 -28
  217. package/dist/node-process/index.mjs.map +1 -1
  218. package/dist/node-thread/ThreadSnapExecutor.cjs +30 -0
  219. package/dist/node-thread/ThreadSnapExecutor.cjs.map +1 -0
  220. package/dist/node-thread/ThreadSnapExecutor.d.cts +5 -0
  221. package/dist/node-thread/ThreadSnapExecutor.d.cts.map +1 -0
  222. package/dist/node-thread/ThreadSnapExecutor.d.mts +5 -0
  223. package/dist/node-thread/ThreadSnapExecutor.d.mts.map +1 -0
  224. package/dist/node-thread/ThreadSnapExecutor.mjs +30 -26
  225. package/dist/node-thread/ThreadSnapExecutor.mjs.map +1 -1
  226. package/dist/node-thread/index.cjs +8 -0
  227. package/dist/node-thread/index.cjs.map +1 -0
  228. package/dist/node-thread/index.d.cts +2 -0
  229. package/dist/node-thread/index.d.cts.map +1 -0
  230. package/dist/node-thread/index.d.mts +2 -0
  231. package/dist/node-thread/index.d.mts.map +1 -0
  232. package/dist/node-thread/index.mjs +3 -28
  233. package/dist/node-thread/index.mjs.map +1 -1
  234. package/dist/proxy/ProxySnapExecutor.cjs +112 -0
  235. package/dist/proxy/ProxySnapExecutor.cjs.map +1 -0
  236. package/dist/{types/proxy/ProxySnapExecutor.d.ts → proxy/ProxySnapExecutor.d.cts} +4 -3
  237. package/dist/proxy/ProxySnapExecutor.d.cts.map +1 -0
  238. package/dist/proxy/ProxySnapExecutor.d.mts +36 -0
  239. package/dist/proxy/ProxySnapExecutor.d.mts.map +1 -0
  240. package/dist/proxy/ProxySnapExecutor.mjs +104 -6
  241. package/dist/proxy/ProxySnapExecutor.mjs.map +1 -1
  242. package/dist/proxy/index.cjs +18 -0
  243. package/dist/proxy/index.cjs.map +1 -0
  244. package/dist/proxy/index.d.cts +2 -0
  245. package/dist/proxy/index.d.cts.map +1 -0
  246. package/dist/proxy/index.d.mts +2 -0
  247. package/dist/proxy/index.d.mts.map +1 -0
  248. package/dist/proxy/index.mjs +1 -8
  249. package/dist/proxy/index.mjs.map +1 -1
  250. package/dist/webview/WebViewExecutorStream.cjs +79 -0
  251. package/dist/webview/WebViewExecutorStream.cjs.map +1 -0
  252. package/dist/{types/webview/WebViewExecutorStream.d.ts → webview/WebViewExecutorStream.d.cts} +3 -2
  253. package/dist/webview/WebViewExecutorStream.d.cts.map +1 -0
  254. package/dist/webview/WebViewExecutorStream.d.mts +33 -0
  255. package/dist/webview/WebViewExecutorStream.d.mts.map +1 -0
  256. package/dist/webview/WebViewExecutorStream.mjs +74 -6
  257. package/dist/webview/WebViewExecutorStream.mjs.map +1 -1
  258. package/dist/webview/index.cjs +16 -0
  259. package/dist/webview/index.cjs.map +1 -0
  260. package/dist/webview/index.d.cts +2 -0
  261. package/dist/webview/index.d.cts.map +1 -0
  262. package/dist/webview/index.d.mts +2 -0
  263. package/dist/webview/index.d.mts.map +1 -0
  264. package/dist/webview/index.mjs +9 -21
  265. package/dist/webview/index.mjs.map +1 -1
  266. package/dist/webworker/executor/WebWorkerSnapExecutor.cjs +37 -0
  267. package/dist/webworker/executor/WebWorkerSnapExecutor.cjs.map +1 -0
  268. package/dist/{types/webworker/executor/WebWorkerSnapExecutor.d.ts → webworker/executor/WebWorkerSnapExecutor.d.cts} +3 -2
  269. package/dist/webworker/executor/WebWorkerSnapExecutor.d.cts.map +1 -0
  270. package/dist/webworker/executor/WebWorkerSnapExecutor.d.mts +14 -0
  271. package/dist/webworker/executor/WebWorkerSnapExecutor.d.mts.map +1 -0
  272. package/dist/webworker/executor/WebWorkerSnapExecutor.mjs +37 -26
  273. package/dist/webworker/executor/WebWorkerSnapExecutor.mjs.map +1 -1
  274. package/dist/webworker/executor/index.cjs +10 -0
  275. package/dist/webworker/executor/index.cjs.map +1 -0
  276. package/dist/webworker/executor/index.d.cts +2 -0
  277. package/dist/webworker/executor/index.d.cts.map +1 -0
  278. package/dist/webworker/executor/index.d.mts +2 -0
  279. package/dist/webworker/executor/index.d.mts.map +1 -0
  280. package/dist/webworker/executor/index.mjs +4 -31
  281. package/dist/webworker/executor/index.mjs.map +1 -1
  282. package/dist/webworker/pool/WebWorkerPool.cjs +168 -0
  283. package/dist/webworker/pool/WebWorkerPool.cjs.map +1 -0
  284. package/dist/{types/webworker/pool/WebWorkerPool.d.ts → webworker/pool/WebWorkerPool.d.cts} +4 -3
  285. package/dist/webworker/pool/WebWorkerPool.d.cts.map +1 -0
  286. package/dist/webworker/pool/WebWorkerPool.d.mts +24 -0
  287. package/dist/webworker/pool/WebWorkerPool.d.mts.map +1 -0
  288. package/dist/webworker/pool/WebWorkerPool.mjs +163 -6
  289. package/dist/webworker/pool/WebWorkerPool.mjs.map +1 -1
  290. package/dist/webworker/pool/index.cjs +10 -0
  291. package/dist/webworker/pool/index.cjs.map +1 -0
  292. package/dist/webworker/pool/index.d.cts +2 -0
  293. package/dist/webworker/pool/index.d.cts.map +1 -0
  294. package/dist/webworker/pool/index.d.mts +2 -0
  295. package/dist/webworker/pool/index.d.mts.map +1 -0
  296. package/dist/webworker/pool/index.mjs +4 -12
  297. package/dist/webworker/pool/index.mjs.map +1 -1
  298. package/package.json +21 -18
  299. package/dist/browserify/iframe/bundle.js +0 -9
  300. package/dist/browserify/iframe/index.html +0 -13394
  301. package/dist/browserify/node-process/bundle.js +0 -13390
  302. package/dist/browserify/node-thread/bundle.js +0 -13390
  303. package/dist/browserify/webview/index.html +0 -13402
  304. package/dist/browserify/worker-executor/bundle.js +0 -13392
  305. package/dist/browserify/worker-pool/bundle.js +0 -9
  306. package/dist/browserify/worker-pool/index.html +0 -13394
  307. package/dist/chunk-2VA6RAEE.js +0 -30
  308. package/dist/chunk-2VA6RAEE.js.map +0 -1
  309. package/dist/chunk-3JCT4MWT.js +0 -108
  310. package/dist/chunk-3JCT4MWT.js.map +0 -1
  311. package/dist/chunk-46LW37FK.js +0 -144
  312. package/dist/chunk-46LW37FK.js.map +0 -1
  313. package/dist/chunk-4COIRXF5.js +0 -86
  314. package/dist/chunk-4COIRXF5.js.map +0 -1
  315. package/dist/chunk-4XRZLEKU.js +0 -49
  316. package/dist/chunk-4XRZLEKU.js.map +0 -1
  317. package/dist/chunk-53ZULHPK.mjs +0 -16
  318. package/dist/chunk-53ZULHPK.mjs.map +0 -1
  319. package/dist/chunk-5DEV3QQU.mjs +0 -12
  320. package/dist/chunk-5DEV3QQU.mjs.map +0 -1
  321. package/dist/chunk-5LGIS4VY.js +0 -33
  322. package/dist/chunk-5LGIS4VY.js.map +0 -1
  323. package/dist/chunk-5STN3QCA.js +0 -183
  324. package/dist/chunk-5STN3QCA.js.map +0 -1
  325. package/dist/chunk-75RCH4ZX.mjs +0 -151
  326. package/dist/chunk-75RCH4ZX.mjs.map +0 -1
  327. package/dist/chunk-7AJWXSDQ.mjs +0 -73
  328. package/dist/chunk-7AJWXSDQ.mjs.map +0 -1
  329. package/dist/chunk-7MMUJJQ2.js +0 -151
  330. package/dist/chunk-7MMUJJQ2.js.map +0 -1
  331. package/dist/chunk-BCBKEUCG.mjs +0 -38
  332. package/dist/chunk-BCBKEUCG.mjs.map +0 -1
  333. package/dist/chunk-BTEAZZKP.mjs +0 -24
  334. package/dist/chunk-BTEAZZKP.mjs.map +0 -1
  335. package/dist/chunk-BVRVUIJB.mjs +0 -67
  336. package/dist/chunk-BVRVUIJB.mjs.map +0 -1
  337. package/dist/chunk-CV5LC4PP.js +0 -24
  338. package/dist/chunk-CV5LC4PP.js.map +0 -1
  339. package/dist/chunk-DAG7NWEU.mjs +0 -33
  340. package/dist/chunk-DAG7NWEU.mjs.map +0 -1
  341. package/dist/chunk-DKDTGAFK.js +0 -67
  342. package/dist/chunk-DKDTGAFK.js.map +0 -1
  343. package/dist/chunk-DLLLH5HN.js +0 -26
  344. package/dist/chunk-DLLLH5HN.js.map +0 -1
  345. package/dist/chunk-EXN2TFDJ.js +0 -38
  346. package/dist/chunk-EXN2TFDJ.js.map +0 -1
  347. package/dist/chunk-FJT65CXB.js +0 -472
  348. package/dist/chunk-FJT65CXB.js.map +0 -1
  349. package/dist/chunk-FOEAIF5U.js +0 -16
  350. package/dist/chunk-FOEAIF5U.js.map +0 -1
  351. package/dist/chunk-FUPEJT7B.js +0 -82
  352. package/dist/chunk-FUPEJT7B.js.map +0 -1
  353. package/dist/chunk-HCJZG6W7.mjs +0 -45
  354. package/dist/chunk-HCJZG6W7.mjs.map +0 -1
  355. package/dist/chunk-HGLRZZ56.js +0 -32
  356. package/dist/chunk-HGLRZZ56.js.map +0 -1
  357. package/dist/chunk-HL2TTKF3.mjs +0 -144
  358. package/dist/chunk-HL2TTKF3.mjs.map +0 -1
  359. package/dist/chunk-HWS4QSOC.mjs +0 -16
  360. package/dist/chunk-HWS4QSOC.mjs.map +0 -1
  361. package/dist/chunk-HXKBUIYS.js +0 -262
  362. package/dist/chunk-HXKBUIYS.js.map +0 -1
  363. package/dist/chunk-I5G4YFHM.js +0 -73
  364. package/dist/chunk-I5G4YFHM.js.map +0 -1
  365. package/dist/chunk-IX5S3V47.mjs +0 -26
  366. package/dist/chunk-IX5S3V47.mjs.map +0 -1
  367. package/dist/chunk-JOT5JH42.js +0 -52
  368. package/dist/chunk-JOT5JH42.js.map +0 -1
  369. package/dist/chunk-KEAB7ZVV.js +0 -50
  370. package/dist/chunk-KEAB7ZVV.js.map +0 -1
  371. package/dist/chunk-LAKWJYBO.js +0 -33
  372. package/dist/chunk-LAKWJYBO.js.map +0 -1
  373. package/dist/chunk-LO5ORVRC.js +0 -16
  374. package/dist/chunk-LO5ORVRC.js.map +0 -1
  375. package/dist/chunk-MCXWFCGV.js +0 -1
  376. package/dist/chunk-MCXWFCGV.js.map +0 -1
  377. package/dist/chunk-MIWGLICQ.mjs +0 -108
  378. package/dist/chunk-MIWGLICQ.mjs.map +0 -1
  379. package/dist/chunk-MMYM63NH.mjs +0 -82
  380. package/dist/chunk-MMYM63NH.mjs.map +0 -1
  381. package/dist/chunk-MS2LQQYH.js +0 -38
  382. package/dist/chunk-MS2LQQYH.js.map +0 -1
  383. package/dist/chunk-MXNMMTJW.mjs +0 -51
  384. package/dist/chunk-MXNMMTJW.mjs.map +0 -1
  385. package/dist/chunk-OBT45IWW.js +0 -92
  386. package/dist/chunk-OBT45IWW.js.map +0 -1
  387. package/dist/chunk-OCNPLHS2.js +0 -51
  388. package/dist/chunk-OCNPLHS2.js.map +0 -1
  389. package/dist/chunk-ODICKSGZ.mjs +0 -86
  390. package/dist/chunk-ODICKSGZ.mjs.map +0 -1
  391. package/dist/chunk-OIN7VU4G.mjs +0 -33
  392. package/dist/chunk-OIN7VU4G.mjs.map +0 -1
  393. package/dist/chunk-Q42NNJFY.mjs +0 -32
  394. package/dist/chunk-Q42NNJFY.mjs.map +0 -1
  395. package/dist/chunk-Q42WB3ZO.js +0 -40
  396. package/dist/chunk-Q42WB3ZO.js.map +0 -1
  397. package/dist/chunk-QZC2X6NG.js +0 -44
  398. package/dist/chunk-QZC2X6NG.js.map +0 -1
  399. package/dist/chunk-S5NWI5Z7.mjs +0 -50
  400. package/dist/chunk-S5NWI5Z7.mjs.map +0 -1
  401. package/dist/chunk-S7257EN3.mjs +0 -49
  402. package/dist/chunk-S7257EN3.mjs.map +0 -1
  403. package/dist/chunk-TSEAPB7L.mjs +0 -1
  404. package/dist/chunk-TSEAPB7L.mjs.map +0 -1
  405. package/dist/chunk-TZAPZE45.mjs +0 -472
  406. package/dist/chunk-TZAPZE45.mjs.map +0 -1
  407. package/dist/chunk-UOPIRTJX.mjs +0 -44
  408. package/dist/chunk-UOPIRTJX.mjs.map +0 -1
  409. package/dist/chunk-V76DI2XM.mjs +0 -183
  410. package/dist/chunk-V76DI2XM.mjs.map +0 -1
  411. package/dist/chunk-VFQ5CRZS.mjs +0 -40
  412. package/dist/chunk-VFQ5CRZS.mjs.map +0 -1
  413. package/dist/chunk-W7EDURT5.mjs +0 -92
  414. package/dist/chunk-W7EDURT5.mjs.map +0 -1
  415. package/dist/chunk-WZDVTU5C.js +0 -45
  416. package/dist/chunk-WZDVTU5C.js.map +0 -1
  417. package/dist/chunk-XPCW7TKM.mjs +0 -262
  418. package/dist/chunk-XPCW7TKM.mjs.map +0 -1
  419. package/dist/chunk-Y7AK2VVC.mjs +0 -52
  420. package/dist/chunk-Y7AK2VVC.mjs.map +0 -1
  421. package/dist/chunk-YRZVIDCF.mjs +0 -38
  422. package/dist/chunk-YRZVIDCF.mjs.map +0 -1
  423. package/dist/chunk-Z7BOREC4.js +0 -12
  424. package/dist/chunk-Z7BOREC4.js.map +0 -1
  425. package/dist/chunk-ZNTCZK7J.mjs +0 -30
  426. package/dist/chunk-ZNTCZK7J.mjs.map +0 -1
  427. package/dist/common/BaseSnapExecutor.js +0 -26
  428. package/dist/common/BaseSnapExecutor.js.map +0 -1
  429. package/dist/common/commands.js +0 -11
  430. package/dist/common/commands.js.map +0 -1
  431. package/dist/common/endowments/commonEndowmentFactory.js +0 -20
  432. package/dist/common/endowments/commonEndowmentFactory.js.map +0 -1
  433. package/dist/common/endowments/console.js +0 -13
  434. package/dist/common/endowments/console.js.map +0 -1
  435. package/dist/common/endowments/crypto.js +0 -11
  436. package/dist/common/endowments/crypto.js.map +0 -1
  437. package/dist/common/endowments/date.js +0 -9
  438. package/dist/common/endowments/date.js.map +0 -1
  439. package/dist/common/endowments/index.js +0 -21
  440. package/dist/common/endowments/index.js.map +0 -1
  441. package/dist/common/endowments/interval.js +0 -8
  442. package/dist/common/endowments/interval.js.map +0 -1
  443. package/dist/common/endowments/math.js +0 -10
  444. package/dist/common/endowments/math.js.map +0 -1
  445. package/dist/common/endowments/network.js +0 -10
  446. package/dist/common/endowments/network.js.map +0 -1
  447. package/dist/common/endowments/textDecoder.js +0 -8
  448. package/dist/common/endowments/textDecoder.js.map +0 -1
  449. package/dist/common/endowments/textEncoder.js +0 -8
  450. package/dist/common/endowments/textEncoder.js.map +0 -1
  451. package/dist/common/endowments/timeout.js +0 -8
  452. package/dist/common/endowments/timeout.js.map +0 -1
  453. package/dist/common/globalEvents.js +0 -11
  454. package/dist/common/globalEvents.js.map +0 -1
  455. package/dist/common/globalObject.js +0 -10
  456. package/dist/common/globalObject.js.map +0 -1
  457. package/dist/common/lockdown/lockdown-events.js +0 -8
  458. package/dist/common/lockdown/lockdown-events.js.map +0 -1
  459. package/dist/common/lockdown/lockdown-more.js +0 -8
  460. package/dist/common/lockdown/lockdown-more.js.map +0 -1
  461. package/dist/common/lockdown/lockdown.js +0 -22
  462. package/dist/common/lockdown/lockdown.js.map +0 -1
  463. package/dist/common/sortParams.js +0 -8
  464. package/dist/common/sortParams.js.map +0 -1
  465. package/dist/common/utils.js +0 -21
  466. package/dist/common/utils.js.map +0 -1
  467. package/dist/common/validation.js +0 -38
  468. package/dist/common/validation.js.map +0 -1
  469. package/dist/globals.d.js +0 -1
  470. package/dist/globals.d.js.map +0 -1
  471. package/dist/globals.d.mjs +0 -1
  472. package/dist/globals.d.mjs.map +0 -1
  473. package/dist/iframe/IFrameSnapExecutor.js +0 -27
  474. package/dist/iframe/IFrameSnapExecutor.js.map +0 -1
  475. package/dist/iframe/index.js +0 -35
  476. package/dist/iframe/index.js.map +0 -1
  477. package/dist/index.js +0 -9
  478. package/dist/index.js.map +0 -1
  479. package/dist/logging.js +0 -8
  480. package/dist/logging.js.map +0 -1
  481. package/dist/node-process/ChildProcessSnapExecutor.js +0 -27
  482. package/dist/node-process/ChildProcessSnapExecutor.js.map +0 -1
  483. package/dist/node-process/index.js +0 -31
  484. package/dist/node-process/index.js.map +0 -1
  485. package/dist/node-thread/ThreadSnapExecutor.js +0 -27
  486. package/dist/node-thread/ThreadSnapExecutor.js.map +0 -1
  487. package/dist/node-thread/index.js +0 -31
  488. package/dist/node-thread/index.js.map +0 -1
  489. package/dist/proxy/ProxySnapExecutor.js +0 -8
  490. package/dist/proxy/ProxySnapExecutor.js.map +0 -1
  491. package/dist/proxy/index.js +0 -9
  492. package/dist/proxy/index.js.map +0 -1
  493. package/dist/tsconfig.build.tsbuildinfo +0 -1
  494. package/dist/types/iframe/index.d.ts +0 -1
  495. package/dist/types/index.d.ts +0 -1
  496. package/dist/types/node-process/index.d.ts +0 -1
  497. package/dist/types/node-thread/ThreadSnapExecutor.d.ts +0 -4
  498. package/dist/types/node-thread/index.d.ts +0 -1
  499. package/dist/types/proxy/index.d.ts +0 -1
  500. package/dist/types/vendor/global.d.js +0 -1
  501. package/dist/types/vendor/global.d.js.map +0 -1
  502. package/dist/types/vendor/global.d.mjs +0 -1
  503. package/dist/types/vendor/global.d.mjs.map +0 -1
  504. package/dist/types/vendor/providers.d.js +0 -1
  505. package/dist/types/vendor/providers.d.js.map +0 -1
  506. package/dist/types/vendor/providers.d.mjs +0 -1
  507. package/dist/types/vendor/providers.d.mjs.map +0 -1
  508. package/dist/types/vendor/readable-stream.d.js +0 -1
  509. package/dist/types/vendor/readable-stream.d.js.map +0 -1
  510. package/dist/types/vendor/readable-stream.d.mjs +0 -1
  511. package/dist/types/vendor/readable-stream.d.mjs.map +0 -1
  512. package/dist/types/webview/index.d.ts +0 -1
  513. package/dist/types/webworker/executor/index.d.ts +0 -1
  514. package/dist/types/webworker/pool/index.d.ts +0 -1
  515. package/dist/webview/WebViewExecutorStream.js +0 -8
  516. package/dist/webview/WebViewExecutorStream.js.map +0 -1
  517. package/dist/webview/index.js +0 -26
  518. package/dist/webview/index.js.map +0 -1
  519. package/dist/webworker/executor/WebWorkerSnapExecutor.js +0 -27
  520. package/dist/webworker/executor/WebWorkerSnapExecutor.js.map +0 -1
  521. package/dist/webworker/executor/index.js +0 -35
  522. package/dist/webworker/executor/index.js.map +0 -1
  523. package/dist/webworker/pool/WebWorkerPool.js +0 -8
  524. package/dist/webworker/pool/WebWorkerPool.js.map +0 -1
  525. package/dist/webworker/pool/index.js +0 -16
  526. package/dist/webworker/pool/index.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { HandlerType } from '@metamask/snaps-utils';
2
- import type { Infer } from '@metamask/superstruct';
3
- import type { Json, JsonRpcSuccess } from '@metamask/utils';
1
+ import { HandlerType } from "@metamask/snaps-utils";
2
+ import type { Infer } from "@metamask/superstruct";
3
+ import type { Json, JsonRpcSuccess } from "@metamask/utils";
4
4
  export declare const JsonRpcRequestWithoutIdStruct: import("@metamask/superstruct").Struct<{
5
5
  method: string;
6
6
  id?: string | number | null | undefined;
@@ -12,9 +12,9 @@ export declare const JsonRpcRequestWithoutIdStruct: import("@metamask/superstruc
12
12
  method: import("@metamask/superstruct").Struct<string, null>;
13
13
  params: import("@metamask/superstruct").Struct<Record<string, Json> | Json[] | undefined, null>;
14
14
  }>;
15
- export declare type JsonRpcRequestWithoutId = Infer<typeof JsonRpcRequestWithoutIdStruct>;
15
+ export type JsonRpcRequestWithoutId = Infer<typeof JsonRpcRequestWithoutIdStruct>;
16
16
  export declare const EndowmentStruct: import("@metamask/superstruct").Struct<string, null>;
17
- export declare type Endowment = Infer<typeof EndowmentStruct>;
17
+ export type Endowment = Infer<typeof EndowmentStruct>;
18
18
  /**
19
19
  * Check if the given value is an endowment.
20
20
  *
@@ -38,21 +38,21 @@ export declare const SnapRpcRequestArgumentsStruct: import("@metamask/superstruc
38
38
  jsonrpc?: "2.0" | undefined;
39
39
  params?: Record<string, Json> | undefined;
40
40
  }], null>;
41
- export declare type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;
42
- export declare type TerminateRequestArguments = Infer<typeof TerminateRequestArgumentsStruct>;
43
- export declare type ExecuteSnapRequestArguments = Infer<typeof ExecuteSnapRequestArgumentsStruct>;
44
- export declare type SnapRpcRequestArguments = Infer<typeof SnapRpcRequestArgumentsStruct>;
45
- export declare type RequestArguments = PingRequestArguments | TerminateRequestArguments | ExecuteSnapRequestArguments | SnapRpcRequestArguments;
41
+ export type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;
42
+ export type TerminateRequestArguments = Infer<typeof TerminateRequestArgumentsStruct>;
43
+ export type ExecuteSnapRequestArguments = Infer<typeof ExecuteSnapRequestArgumentsStruct>;
44
+ export type SnapRpcRequestArguments = Infer<typeof SnapRpcRequestArgumentsStruct>;
45
+ export type RequestArguments = PingRequestArguments | TerminateRequestArguments | ExecuteSnapRequestArguments | SnapRpcRequestArguments;
46
46
  export declare const OnTransactionRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
47
47
  chainId: `${string}:${string}`;
48
- transaction: Record<string, Json>;
49
48
  transactionOrigin: string | null;
49
+ transaction: Record<string, Json>;
50
50
  }, {
51
51
  transaction: import("@metamask/superstruct").Struct<Record<string, Json>, null>;
52
52
  chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
53
53
  transactionOrigin: import("@metamask/superstruct").Struct<string | null, null>;
54
54
  }>;
55
- export declare type OnTransactionRequestArguments = Infer<typeof OnTransactionRequestArgumentsStruct>;
55
+ export type OnTransactionRequestArguments = Infer<typeof OnTransactionRequestArgumentsStruct>;
56
56
  /**
57
57
  * Asserts that the given value is a valid {@link OnTransactionRequestArguments}
58
58
  * object.
@@ -63,13 +63,13 @@ export declare type OnTransactionRequestArguments = Infer<typeof OnTransactionRe
63
63
  */
64
64
  export declare function assertIsOnTransactionRequestArguments(value: unknown): asserts value is OnTransactionRequestArguments;
65
65
  export declare const OnSignatureRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
66
- signature: Record<string, Json>;
67
66
  signatureOrigin: string | null;
67
+ signature: Record<string, Json>;
68
68
  }, {
69
69
  signature: import("@metamask/superstruct").Struct<Record<string, Json>, null>;
70
70
  signatureOrigin: import("@metamask/superstruct").Struct<string | null, null>;
71
71
  }>;
72
- export declare type OnSignatureRequestArguments = Infer<typeof OnSignatureRequestArgumentsStruct>;
72
+ export type OnSignatureRequestArguments = Infer<typeof OnSignatureRequestArgumentsStruct>;
73
73
  /**
74
74
  * Asserts that the given value is a valid {@link OnSignatureRequestArguments}
75
75
  * object.
@@ -83,14 +83,14 @@ declare const baseNameLookupArgs: {
83
83
  chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
84
84
  };
85
85
  export declare const OnNameLookupRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
86
- chainId: `${string}:${string}`;
87
86
  address: string;
87
+ chainId: `${string}:${string}`;
88
88
  } | {
89
89
  chainId: `${string}:${string}`;
90
90
  domain: string;
91
91
  }, null>;
92
- export declare type OnNameLookupRequestArguments = Infer<typeof OnNameLookupRequestArgumentsStruct>;
93
- export declare type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {
92
+ export type OnNameLookupRequestArguments = Infer<typeof OnNameLookupRequestArgumentsStruct>;
93
+ export type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {
94
94
  address?: string;
95
95
  domain?: string;
96
96
  };
@@ -109,27 +109,27 @@ export declare const OnUserInputArgumentsStruct: import("@metamask/superstruct")
109
109
  type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent;
110
110
  name?: string | undefined;
111
111
  } | {
112
+ type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
113
+ name: string;
112
114
  value: Record<string, string | boolean | {
113
115
  name: string;
114
116
  size: number;
115
117
  contentType: string;
116
118
  contents: string;
117
119
  } | null>;
118
- type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
119
- name: string;
120
120
  } | {
121
- value: string | boolean;
122
121
  type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent;
123
122
  name: string;
123
+ value: string | boolean;
124
124
  } | {
125
125
  type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent;
126
- name: string;
127
126
  file: {
128
127
  name: string;
129
128
  size: number;
130
129
  contentType: string;
131
130
  contents: string;
132
131
  } | null;
132
+ name: string;
133
133
  };
134
134
  context?: Record<string, Json> | null | undefined;
135
135
  }, {
@@ -138,31 +138,31 @@ export declare const OnUserInputArgumentsStruct: import("@metamask/superstruct")
138
138
  type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent;
139
139
  name?: string | undefined;
140
140
  } | {
141
+ type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
142
+ name: string;
141
143
  value: Record<string, string | boolean | {
142
144
  name: string;
143
145
  size: number;
144
146
  contentType: string;
145
147
  contents: string;
146
148
  } | null>;
147
- type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
148
- name: string;
149
149
  } | {
150
- value: string | boolean;
151
150
  type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent;
152
151
  name: string;
152
+ value: string | boolean;
153
153
  } | {
154
154
  type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent;
155
- name: string;
156
155
  file: {
157
156
  name: string;
158
157
  size: number;
159
158
  contentType: string;
160
159
  contents: string;
161
160
  } | null;
161
+ name: string;
162
162
  }, null>;
163
163
  context: import("@metamask/superstruct").Struct<Record<string, Json> | null | undefined, null>;
164
164
  }>;
165
- export declare type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;
165
+ export type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;
166
166
  /**
167
167
  * Asserts that the given value is a valid {@link OnUserInputArguments}
168
168
  * object.
@@ -173,8 +173,8 @@ export declare type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStru
173
173
  */
174
174
  export declare function assertIsOnUserInputRequestArguments(value: unknown): asserts value is OnUserInputArguments;
175
175
  declare const OkResponseStruct: import("@metamask/superstruct").Struct<{
176
- result: "OK";
177
176
  id: string | number | null;
177
+ result: "OK";
178
178
  jsonrpc: "2.0";
179
179
  }, {
180
180
  id: import("@metamask/superstruct").Struct<string | number | null, null>;
@@ -186,13 +186,14 @@ declare const SnapRpcResponse: import("@metamask/superstruct").Struct<{
186
186
  jsonrpc: "2.0";
187
187
  result: Json;
188
188
  }, unknown>;
189
- export declare type OkResponse = Infer<typeof OkResponseStruct>;
190
- export declare type SnapRpcResponse = Infer<typeof SnapRpcResponse>;
191
- export declare type Response = OkResponse | SnapRpcResponse;
192
- declare type RequestParams<Params extends unknown[] | undefined> = Params extends undefined ? [] : Params;
193
- declare type RequestFunction<Args extends RequestArguments, ResponseType extends JsonRpcSuccess<Json>> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;
194
- export declare type Ping = RequestFunction<PingRequestArguments, OkResponse>;
195
- export declare type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;
196
- export declare type ExecuteSnap = RequestFunction<ExecuteSnapRequestArguments, OkResponse>;
197
- export declare type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;
189
+ export type OkResponse = Infer<typeof OkResponseStruct>;
190
+ export type SnapRpcResponse = Infer<typeof SnapRpcResponse>;
191
+ export type Response = OkResponse | SnapRpcResponse;
192
+ type RequestParams<Params extends unknown[] | undefined> = Params extends undefined ? [] : Params;
193
+ type RequestFunction<Args extends RequestArguments, ResponseType extends JsonRpcSuccess<Json>> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;
194
+ export type Ping = RequestFunction<PingRequestArguments, OkResponse>;
195
+ export type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;
196
+ export type ExecuteSnap = RequestFunction<ExecuteSnapRequestArguments, OkResponse>;
197
+ export type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;
198
198
  export {};
199
+ //# sourceMappingURL=validation.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.cts","sourceRoot":"","sources":["../../src/common/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { HandlerType } from "@metamask/snaps-utils";
2
+ import type { Infer } from "@metamask/superstruct";
3
+ import type { Json, JsonRpcSuccess } from "@metamask/utils";
4
+ export declare const JsonRpcRequestWithoutIdStruct: import("@metamask/superstruct").Struct<{
5
+ method: string;
6
+ id?: string | number | null | undefined;
7
+ jsonrpc?: "2.0" | undefined;
8
+ params?: Record<string, Json> | Json[] | undefined;
9
+ }, {
10
+ jsonrpc: import("@metamask/superstruct").Struct<"2.0" | undefined, "2.0">;
11
+ id: import("@metamask/superstruct").Struct<string | number | null | undefined, null>;
12
+ method: import("@metamask/superstruct").Struct<string, null>;
13
+ params: import("@metamask/superstruct").Struct<Record<string, Json> | Json[] | undefined, null>;
14
+ }>;
15
+ export type JsonRpcRequestWithoutId = Infer<typeof JsonRpcRequestWithoutIdStruct>;
16
+ export declare const EndowmentStruct: import("@metamask/superstruct").Struct<string, null>;
17
+ export type Endowment = Infer<typeof EndowmentStruct>;
18
+ /**
19
+ * Check if the given value is an endowment.
20
+ *
21
+ * @param value - The value to check.
22
+ * @returns Whether the value is an endowment.
23
+ */
24
+ export declare function isEndowment(value: unknown): value is Endowment;
25
+ /**
26
+ * Check if the given value is an array of endowments.
27
+ *
28
+ * @param value - The value to check.
29
+ * @returns Whether the value is an array of endowments.
30
+ */
31
+ export declare function isEndowmentsArray(value: unknown): value is Endowment[];
32
+ export declare const PingRequestArgumentsStruct: import("@metamask/superstruct").Struct<unknown[] | undefined, null>;
33
+ export declare const TerminateRequestArgumentsStruct: import("@metamask/superstruct").Struct<unknown[] | undefined, null>;
34
+ export declare const ExecuteSnapRequestArgumentsStruct: import("@metamask/superstruct").Struct<[string, string, string[]], null>;
35
+ export declare const SnapRpcRequestArgumentsStruct: import("@metamask/superstruct").Struct<[string, HandlerType, string, {
36
+ method: string;
37
+ id?: string | number | null | undefined;
38
+ jsonrpc?: "2.0" | undefined;
39
+ params?: Record<string, Json> | undefined;
40
+ }], null>;
41
+ export type PingRequestArguments = Infer<typeof PingRequestArgumentsStruct>;
42
+ export type TerminateRequestArguments = Infer<typeof TerminateRequestArgumentsStruct>;
43
+ export type ExecuteSnapRequestArguments = Infer<typeof ExecuteSnapRequestArgumentsStruct>;
44
+ export type SnapRpcRequestArguments = Infer<typeof SnapRpcRequestArgumentsStruct>;
45
+ export type RequestArguments = PingRequestArguments | TerminateRequestArguments | ExecuteSnapRequestArguments | SnapRpcRequestArguments;
46
+ export declare const OnTransactionRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
47
+ chainId: `${string}:${string}`;
48
+ transactionOrigin: string | null;
49
+ transaction: Record<string, Json>;
50
+ }, {
51
+ transaction: import("@metamask/superstruct").Struct<Record<string, Json>, null>;
52
+ chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
53
+ transactionOrigin: import("@metamask/superstruct").Struct<string | null, null>;
54
+ }>;
55
+ export type OnTransactionRequestArguments = Infer<typeof OnTransactionRequestArgumentsStruct>;
56
+ /**
57
+ * Asserts that the given value is a valid {@link OnTransactionRequestArguments}
58
+ * object.
59
+ *
60
+ * @param value - The value to validate.
61
+ * @throws If the value is not a valid {@link OnTransactionRequestArguments}
62
+ * object.
63
+ */
64
+ export declare function assertIsOnTransactionRequestArguments(value: unknown): asserts value is OnTransactionRequestArguments;
65
+ export declare const OnSignatureRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
66
+ signatureOrigin: string | null;
67
+ signature: Record<string, Json>;
68
+ }, {
69
+ signature: import("@metamask/superstruct").Struct<Record<string, Json>, null>;
70
+ signatureOrigin: import("@metamask/superstruct").Struct<string | null, null>;
71
+ }>;
72
+ export type OnSignatureRequestArguments = Infer<typeof OnSignatureRequestArgumentsStruct>;
73
+ /**
74
+ * Asserts that the given value is a valid {@link OnSignatureRequestArguments}
75
+ * object.
76
+ *
77
+ * @param value - The value to validate.
78
+ * @throws If the value is not a valid {@link OnSignatureRequestArguments}
79
+ * object.
80
+ */
81
+ export declare function assertIsOnSignatureRequestArguments(value: unknown): asserts value is OnSignatureRequestArguments;
82
+ declare const baseNameLookupArgs: {
83
+ chainId: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
84
+ };
85
+ export declare const OnNameLookupRequestArgumentsStruct: import("@metamask/superstruct").Struct<{
86
+ address: string;
87
+ chainId: `${string}:${string}`;
88
+ } | {
89
+ chainId: `${string}:${string}`;
90
+ domain: string;
91
+ }, null>;
92
+ export type OnNameLookupRequestArguments = Infer<typeof OnNameLookupRequestArgumentsStruct>;
93
+ export type PossibleLookupRequestArgs = typeof baseNameLookupArgs & {
94
+ address?: string;
95
+ domain?: string;
96
+ };
97
+ /**
98
+ * Asserts that the given value is a valid {@link OnNameLookupRequestArguments}
99
+ * object.
100
+ *
101
+ * @param value - The value to validate.
102
+ * @throws If the value is not a valid {@link OnNameLookupRequestArguments}
103
+ * object.
104
+ */
105
+ export declare function assertIsOnNameLookupRequestArguments(value: unknown): asserts value is OnNameLookupRequestArguments;
106
+ export declare const OnUserInputArgumentsStruct: import("@metamask/superstruct").Struct<{
107
+ id: string;
108
+ event: {
109
+ type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent;
110
+ name?: string | undefined;
111
+ } | {
112
+ type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
113
+ name: string;
114
+ value: Record<string, string | boolean | {
115
+ name: string;
116
+ size: number;
117
+ contentType: string;
118
+ contents: string;
119
+ } | null>;
120
+ } | {
121
+ type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent;
122
+ name: string;
123
+ value: string | boolean;
124
+ } | {
125
+ type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent;
126
+ file: {
127
+ name: string;
128
+ size: number;
129
+ contentType: string;
130
+ contents: string;
131
+ } | null;
132
+ name: string;
133
+ };
134
+ context?: Record<string, Json> | null | undefined;
135
+ }, {
136
+ id: import("@metamask/superstruct").Struct<string, null>;
137
+ event: import("@metamask/superstruct").Struct<{
138
+ type: import("@metamask/snaps-sdk").UserInputEventType.ButtonClickEvent;
139
+ name?: string | undefined;
140
+ } | {
141
+ type: import("@metamask/snaps-sdk").UserInputEventType.FormSubmitEvent;
142
+ name: string;
143
+ value: Record<string, string | boolean | {
144
+ name: string;
145
+ size: number;
146
+ contentType: string;
147
+ contents: string;
148
+ } | null>;
149
+ } | {
150
+ type: import("@metamask/snaps-sdk").UserInputEventType.InputChangeEvent;
151
+ name: string;
152
+ value: string | boolean;
153
+ } | {
154
+ type: import("@metamask/snaps-sdk").UserInputEventType.FileUploadEvent;
155
+ file: {
156
+ name: string;
157
+ size: number;
158
+ contentType: string;
159
+ contents: string;
160
+ } | null;
161
+ name: string;
162
+ }, null>;
163
+ context: import("@metamask/superstruct").Struct<Record<string, Json> | null | undefined, null>;
164
+ }>;
165
+ export type OnUserInputArguments = Infer<typeof OnUserInputArgumentsStruct>;
166
+ /**
167
+ * Asserts that the given value is a valid {@link OnUserInputArguments}
168
+ * object.
169
+ *
170
+ * @param value - The value to validate.
171
+ * @throws If the value is not a valid {@link OnUserInputArguments}
172
+ * object.
173
+ */
174
+ export declare function assertIsOnUserInputRequestArguments(value: unknown): asserts value is OnUserInputArguments;
175
+ declare const OkResponseStruct: import("@metamask/superstruct").Struct<{
176
+ id: string | number | null;
177
+ result: "OK";
178
+ jsonrpc: "2.0";
179
+ }, {
180
+ id: import("@metamask/superstruct").Struct<string | number | null, null>;
181
+ jsonrpc: import("@metamask/superstruct").Struct<"2.0", "2.0">;
182
+ result: import("@metamask/superstruct").Struct<"OK", "OK">;
183
+ }>;
184
+ declare const SnapRpcResponse: import("@metamask/superstruct").Struct<{
185
+ id: string | number | null;
186
+ jsonrpc: "2.0";
187
+ result: Json;
188
+ }, unknown>;
189
+ export type OkResponse = Infer<typeof OkResponseStruct>;
190
+ export type SnapRpcResponse = Infer<typeof SnapRpcResponse>;
191
+ export type Response = OkResponse | SnapRpcResponse;
192
+ type RequestParams<Params extends unknown[] | undefined> = Params extends undefined ? [] : Params;
193
+ type RequestFunction<Args extends RequestArguments, ResponseType extends JsonRpcSuccess<Json>> = (...args: RequestParams<Args>) => Promise<ResponseType['result']>;
194
+ export type Ping = RequestFunction<PingRequestArguments, OkResponse>;
195
+ export type Terminate = RequestFunction<TerminateRequestArguments, OkResponse>;
196
+ export type ExecuteSnap = RequestFunction<ExecuteSnapRequestArguments, OkResponse>;
197
+ export type SnapRpc = RequestFunction<SnapRpcRequestArguments, SnapRpcResponse>;
198
+ export {};
199
+ //# sourceMappingURL=validation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.mts","sourceRoot":"","sources":["../../src/common/validation.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,128 @@
1
- import {
2
- EndowmentStruct,
3
- ExecuteSnapRequestArgumentsStruct,
4
- JsonRpcRequestWithoutIdStruct,
5
- OnNameLookupRequestArgumentsStruct,
6
- OnSignatureRequestArgumentsStruct,
7
- OnTransactionRequestArgumentsStruct,
8
- OnUserInputArgumentsStruct,
9
- PingRequestArgumentsStruct,
10
- SnapRpcRequestArgumentsStruct,
11
- TerminateRequestArgumentsStruct,
12
- assertIsOnNameLookupRequestArguments,
13
- assertIsOnSignatureRequestArguments,
14
- assertIsOnTransactionRequestArguments,
15
- assertIsOnUserInputRequestArguments,
16
- isEndowment,
17
- isEndowmentsArray
18
- } from "../chunk-75RCH4ZX.mjs";
19
- import "../chunk-YRZVIDCF.mjs";
20
- export {
21
- EndowmentStruct,
22
- ExecuteSnapRequestArgumentsStruct,
23
- JsonRpcRequestWithoutIdStruct,
24
- OnNameLookupRequestArgumentsStruct,
25
- OnSignatureRequestArgumentsStruct,
26
- OnTransactionRequestArgumentsStruct,
27
- OnUserInputArgumentsStruct,
28
- PingRequestArgumentsStruct,
29
- SnapRpcRequestArgumentsStruct,
30
- TerminateRequestArgumentsStruct,
31
- assertIsOnNameLookupRequestArguments,
32
- assertIsOnSignatureRequestArguments,
33
- assertIsOnTransactionRequestArguments,
34
- assertIsOnUserInputRequestArguments,
35
- isEndowment,
36
- isEndowmentsArray
37
- };
1
+ import { rpcErrors } from "@metamask/rpc-errors";
2
+ import { InterfaceContextStruct, UserInputEventStruct } from "@metamask/snaps-sdk";
3
+ import { ChainIdStruct, HandlerType } from "@metamask/snaps-utils";
4
+ import { array, assign, enums, is, literal, nullable, object, optional, record, string, tuple, union } from "@metamask/superstruct";
5
+ import { assertStruct, JsonRpcIdStruct, JsonRpcParamsStruct, JsonRpcSuccessStruct, JsonRpcVersionStruct, JsonStruct } from "@metamask/utils";
6
+ export const JsonRpcRequestWithoutIdStruct = object({
7
+ jsonrpc: optional(JsonRpcVersionStruct),
8
+ id: optional(JsonRpcIdStruct),
9
+ method: string(),
10
+ params: optional(JsonRpcParamsStruct),
11
+ });
12
+ export const EndowmentStruct = string();
13
+ /**
14
+ * Check if the given value is an endowment.
15
+ *
16
+ * @param value - The value to check.
17
+ * @returns Whether the value is an endowment.
18
+ */
19
+ export function isEndowment(value) {
20
+ return is(value, EndowmentStruct);
21
+ }
22
+ /**
23
+ * Check if the given value is an array of endowments.
24
+ *
25
+ * @param value - The value to check.
26
+ * @returns Whether the value is an array of endowments.
27
+ */
28
+ export function isEndowmentsArray(value) {
29
+ return Array.isArray(value) && value.every(isEndowment);
30
+ }
31
+ const OkStruct = literal('OK');
32
+ export const PingRequestArgumentsStruct = optional(union([literal(undefined), array()]));
33
+ export const TerminateRequestArgumentsStruct = union([
34
+ literal(undefined),
35
+ array(),
36
+ ]);
37
+ export const ExecuteSnapRequestArgumentsStruct = tuple([
38
+ string(),
39
+ string(),
40
+ array(EndowmentStruct),
41
+ ]);
42
+ export const SnapRpcRequestArgumentsStruct = tuple([
43
+ string(),
44
+ enums(Object.values(HandlerType)),
45
+ string(),
46
+ assign(JsonRpcRequestWithoutIdStruct, object({
47
+ params: optional(record(string(), JsonStruct)),
48
+ })),
49
+ ]);
50
+ export const OnTransactionRequestArgumentsStruct = object({
51
+ // TODO: Improve `transaction` type.
52
+ transaction: record(string(), JsonStruct),
53
+ chainId: ChainIdStruct,
54
+ transactionOrigin: nullable(string()),
55
+ });
56
+ /**
57
+ * Asserts that the given value is a valid {@link OnTransactionRequestArguments}
58
+ * object.
59
+ *
60
+ * @param value - The value to validate.
61
+ * @throws If the value is not a valid {@link OnTransactionRequestArguments}
62
+ * object.
63
+ */
64
+ export function assertIsOnTransactionRequestArguments(value) {
65
+ assertStruct(value, OnTransactionRequestArgumentsStruct, 'Invalid request params', rpcErrors.invalidParams);
66
+ }
67
+ export const OnSignatureRequestArgumentsStruct = object({
68
+ signature: record(string(), JsonStruct),
69
+ signatureOrigin: nullable(string()),
70
+ });
71
+ /**
72
+ * Asserts that the given value is a valid {@link OnSignatureRequestArguments}
73
+ * object.
74
+ *
75
+ * @param value - The value to validate.
76
+ * @throws If the value is not a valid {@link OnSignatureRequestArguments}
77
+ * object.
78
+ */
79
+ export function assertIsOnSignatureRequestArguments(value) {
80
+ assertStruct(value, OnSignatureRequestArgumentsStruct, 'Invalid request params', rpcErrors.invalidParams);
81
+ }
82
+ const baseNameLookupArgs = { chainId: ChainIdStruct };
83
+ const domainRequestStruct = object({
84
+ ...baseNameLookupArgs,
85
+ address: string(),
86
+ });
87
+ const addressRequestStruct = object({
88
+ ...baseNameLookupArgs,
89
+ domain: string(),
90
+ });
91
+ export const OnNameLookupRequestArgumentsStruct = union([
92
+ domainRequestStruct,
93
+ addressRequestStruct,
94
+ ]);
95
+ /**
96
+ * Asserts that the given value is a valid {@link OnNameLookupRequestArguments}
97
+ * object.
98
+ *
99
+ * @param value - The value to validate.
100
+ * @throws If the value is not a valid {@link OnNameLookupRequestArguments}
101
+ * object.
102
+ */
103
+ export function assertIsOnNameLookupRequestArguments(value) {
104
+ assertStruct(value, OnNameLookupRequestArgumentsStruct, 'Invalid request params', rpcErrors.invalidParams);
105
+ }
106
+ export const OnUserInputArgumentsStruct = object({
107
+ id: string(),
108
+ event: UserInputEventStruct,
109
+ context: optional(nullable(InterfaceContextStruct)),
110
+ });
111
+ /**
112
+ * Asserts that the given value is a valid {@link OnUserInputArguments}
113
+ * object.
114
+ *
115
+ * @param value - The value to validate.
116
+ * @throws If the value is not a valid {@link OnUserInputArguments}
117
+ * object.
118
+ */
119
+ export function assertIsOnUserInputRequestArguments(value) {
120
+ assertStruct(value, OnUserInputArgumentsStruct, 'Invalid request params', rpcErrors.invalidParams);
121
+ }
122
+ const OkResponseStruct = object({
123
+ id: JsonRpcIdStruct,
124
+ jsonrpc: JsonRpcVersionStruct,
125
+ result: OkStruct,
126
+ });
127
+ const SnapRpcResponse = JsonRpcSuccessStruct;
38
128
  //# sourceMappingURL=validation.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"validation.mjs","sourceRoot":"","sources":["../../src/common/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { rpcErrors } from '@metamask/rpc-errors';\nimport {\n InterfaceContextStruct,\n UserInputEventStruct,\n} from '@metamask/snaps-sdk';\nimport { ChainIdStruct, HandlerType } from '@metamask/snaps-utils';\nimport type { Infer } from '@metamask/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 '@metamask/superstruct';\nimport type { Json, JsonRpcSuccess } from '@metamask/utils';\nimport {\n assertStruct,\n JsonRpcIdStruct,\n JsonRpcParamsStruct,\n JsonRpcSuccessStruct,\n JsonRpcVersionStruct,\n JsonStruct,\n} from '@metamask/utils';\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 context: optional(nullable(InterfaceContextStruct)),\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,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IFrameSnapExecutor = void 0;
7
+ const object_multiplex_1 = __importDefault(require("@metamask/object-multiplex"));
8
+ const post_message_stream_1 = require("@metamask/post-message-stream");
9
+ const snaps_utils_1 = require("@metamask/snaps-utils");
10
+ const readable_stream_1 = require("readable-stream");
11
+ const BaseSnapExecutor_1 = require("../common/BaseSnapExecutor.cjs");
12
+ const logging_1 = require("../logging.cjs");
13
+ class IFrameSnapExecutor extends BaseSnapExecutor_1.BaseSnapExecutor {
14
+ /**
15
+ * Initialize the IFrameSnapExecutor. This creates a post message stream from
16
+ * and to the parent window, for two-way communication with the iframe.
17
+ *
18
+ * @param stream - The stream to use for communication.
19
+ * @returns An instance of `IFrameSnapExecutor`, with the initialized post
20
+ * message streams.
21
+ */
22
+ static initialize(stream = new post_message_stream_1.WindowPostMessageStream({
23
+ name: 'child',
24
+ target: 'parent',
25
+ targetWindow: self.parent,
26
+ targetOrigin: '*',
27
+ })) {
28
+ (0, logging_1.log)('Worker: Connecting to parent.');
29
+ const mux = new object_multiplex_1.default();
30
+ (0, readable_stream_1.pipeline)(stream, mux, stream, (error) => {
31
+ if (error) {
32
+ (0, snaps_utils_1.logError)(`Parent stream failure, closing worker.`, error);
33
+ }
34
+ self.close();
35
+ });
36
+ const commandStream = mux.createStream(snaps_utils_1.SNAP_STREAM_NAMES.COMMAND);
37
+ const rpcStream = mux.createStream(snaps_utils_1.SNAP_STREAM_NAMES.JSON_RPC);
38
+ return new IFrameSnapExecutor(commandStream, rpcStream);
39
+ }
40
+ }
41
+ exports.IFrameSnapExecutor = IFrameSnapExecutor;
42
+ //# sourceMappingURL=IFrameSnapExecutor.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFrameSnapExecutor.cjs","sourceRoot":"","sources":["../../src/iframe/IFrameSnapExecutor.ts"],"names":[],"mappings":";;;;;;AAAA,kFAAyD;AAEzD,uEAAwE;AACxE,uDAAoE;AACpE,qDAA2C;AAE3C,qEAA8D;AAC9D,4CAAiC;AAEjC,MAAa,kBAAmB,SAAQ,mCAAgB;IACtD;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CACf,SAAgC,IAAI,6CAAuB,CAAC;QAC1D,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,IAAI,CAAC,MAAM;QACzB,YAAY,EAAE,GAAG;KAClB,CAAC;QAEF,IAAA,aAAG,EAAC,+BAA+B,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,IAAI,0BAAe,EAAE,CAAC;QAClC,IAAA,0BAAQ,EAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAA,sBAAQ,EAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,+BAAiB,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,+BAAiB,CAAC,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAI,kBAAkB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF;AAhCD,gDAgCC","sourcesContent":["import ObjectMultiplex from '@metamask/object-multiplex';\nimport type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { logError, SNAP_STREAM_NAMES } from '@metamask/snaps-utils';\nimport { pipeline } from 'readable-stream';\n\nimport { BaseSnapExecutor } from '../common/BaseSnapExecutor';\nimport { log } from '../logging';\n\nexport class IFrameSnapExecutor extends BaseSnapExecutor {\n /**\n * Initialize the IFrameSnapExecutor. This creates a post message stream from\n * and to the parent window, for two-way communication with the iframe.\n *\n * @param stream - The stream to use for communication.\n * @returns An instance of `IFrameSnapExecutor`, with the initialized post\n * message streams.\n */\n static initialize(\n stream: BasePostMessageStream = new WindowPostMessageStream({\n name: 'child',\n target: 'parent',\n targetWindow: self.parent,\n targetOrigin: '*',\n }),\n ) {\n log('Worker: Connecting to parent.');\n\n const mux = new ObjectMultiplex();\n pipeline(stream, mux, stream, (error) => {\n if (error) {\n logError(`Parent stream failure, closing worker.`, error);\n }\n self.close();\n });\n\n const commandStream = mux.createStream(SNAP_STREAM_NAMES.COMMAND);\n const rpcStream = mux.createStream(SNAP_STREAM_NAMES.JSON_RPC);\n\n return new IFrameSnapExecutor(commandStream, rpcStream);\n }\n}\n"]}