@metamask/snaps-utils 6.1.0 → 7.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 (560) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/array.js +8 -0
  3. package/dist/array.js.map +1 -0
  4. package/dist/array.mjs +8 -0
  5. package/dist/array.mjs.map +1 -0
  6. package/dist/auxiliary-files.js +12 -0
  7. package/dist/auxiliary-files.js.map +1 -0
  8. package/dist/auxiliary-files.mjs +12 -0
  9. package/dist/auxiliary-files.mjs.map +1 -0
  10. package/dist/base64.js +13 -0
  11. package/dist/base64.js.map +1 -0
  12. package/dist/base64.mjs +13 -0
  13. package/dist/base64.mjs.map +1 -0
  14. package/dist/bytes.js +10 -0
  15. package/dist/bytes.js.map +1 -0
  16. package/dist/bytes.mjs +10 -0
  17. package/dist/bytes.mjs.map +1 -0
  18. package/dist/caveats.js +8 -0
  19. package/dist/caveats.js.map +1 -0
  20. package/dist/caveats.mjs +8 -0
  21. package/dist/caveats.mjs.map +1 -0
  22. package/dist/checksum.js +13 -0
  23. package/dist/checksum.js.map +1 -0
  24. package/dist/checksum.mjs +13 -0
  25. package/dist/checksum.mjs.map +1 -0
  26. package/dist/chunk-224DMTNJ.mjs +409 -0
  27. package/dist/chunk-224DMTNJ.mjs.map +1 -0
  28. package/dist/chunk-2IWSQJKQ.mjs +193 -0
  29. package/dist/chunk-2IWSQJKQ.mjs.map +1 -0
  30. package/dist/chunk-2LBN5T56.js +64 -0
  31. package/dist/chunk-2LBN5T56.js.map +1 -0
  32. package/dist/chunk-2PCPD5XY.js +169 -0
  33. package/dist/chunk-2PCPD5XY.js.map +1 -0
  34. package/dist/chunk-3SOYDY4W.js +152 -0
  35. package/dist/chunk-3SOYDY4W.js.map +1 -0
  36. package/dist/chunk-44GPX66J.mjs +70 -0
  37. package/dist/chunk-44GPX66J.mjs.map +1 -0
  38. package/dist/chunk-44VFHYJO.js +249 -0
  39. package/dist/chunk-44VFHYJO.js.map +1 -0
  40. package/dist/chunk-473MIETW.js +18 -0
  41. package/dist/chunk-473MIETW.js.map +1 -0
  42. package/dist/chunk-4BDR6KRH.js +50 -0
  43. package/dist/chunk-4BDR6KRH.js.map +1 -0
  44. package/dist/chunk-4CMD46B2.js +1 -0
  45. package/dist/chunk-4CMD46B2.js.map +1 -0
  46. package/dist/chunk-5R7UF7KM.mjs +21 -0
  47. package/dist/chunk-5R7UF7KM.mjs.map +1 -0
  48. package/dist/chunk-63OXILAY.mjs +69 -0
  49. package/dist/chunk-63OXILAY.mjs.map +1 -0
  50. package/dist/chunk-6CHO3LOX.mjs +10 -0
  51. package/dist/chunk-6CHO3LOX.mjs.map +1 -0
  52. package/dist/chunk-6LOYTBS3.js +107 -0
  53. package/dist/chunk-6LOYTBS3.js.map +1 -0
  54. package/dist/chunk-6YRUDGNL.mjs +18 -0
  55. package/dist/chunk-6YRUDGNL.mjs.map +1 -0
  56. package/dist/chunk-772OPTGX.js +70 -0
  57. package/dist/chunk-772OPTGX.js.map +1 -0
  58. package/dist/chunk-7LG4D4XA.mjs +20 -0
  59. package/dist/chunk-7LG4D4XA.mjs.map +1 -0
  60. package/dist/chunk-7LOABHVW.js +1 -0
  61. package/dist/chunk-7LOABHVW.js.map +1 -0
  62. package/dist/chunk-7MTAHOWC.mjs +1 -0
  63. package/dist/chunk-7MTAHOWC.mjs.map +1 -0
  64. package/dist/chunk-7P62OIGX.js +69 -0
  65. package/dist/chunk-7P62OIGX.js.map +1 -0
  66. package/dist/chunk-7Y3WSN44.mjs +103 -0
  67. package/dist/chunk-7Y3WSN44.mjs.map +1 -0
  68. package/dist/chunk-A3RRMELT.mjs +1 -0
  69. package/dist/chunk-A3RRMELT.mjs.map +1 -0
  70. package/dist/chunk-A6E325SZ.js +211 -0
  71. package/dist/chunk-A6E325SZ.js.map +1 -0
  72. package/dist/chunk-AFQY2CNY.js +109 -0
  73. package/dist/chunk-AFQY2CNY.js.map +1 -0
  74. package/dist/chunk-AOGVLPQZ.js +18 -0
  75. package/dist/chunk-AOGVLPQZ.js.map +1 -0
  76. package/dist/chunk-AS5P6JRP.mjs +9 -0
  77. package/dist/chunk-AS5P6JRP.mjs.map +1 -0
  78. package/dist/chunk-ASZWZ7JT.js +20 -0
  79. package/dist/chunk-ASZWZ7JT.js.map +1 -0
  80. package/dist/chunk-BGSO2GQC.mjs +41 -0
  81. package/dist/chunk-BGSO2GQC.mjs.map +1 -0
  82. package/dist/chunk-CMOSYNZR.js +95 -0
  83. package/dist/chunk-CMOSYNZR.js.map +1 -0
  84. package/dist/chunk-CNNMLOQ6.js +409 -0
  85. package/dist/chunk-CNNMLOQ6.js.map +1 -0
  86. package/dist/chunk-CQRPSEH3.js +74 -0
  87. package/dist/chunk-CQRPSEH3.js.map +1 -0
  88. package/dist/chunk-DKDGMZFU.mjs +74 -0
  89. package/dist/chunk-DKDGMZFU.mjs.map +1 -0
  90. package/dist/chunk-E3BDBG6T.js +20 -0
  91. package/dist/chunk-E3BDBG6T.js.map +1 -0
  92. package/dist/chunk-EA2FOAEG.mjs +64 -0
  93. package/dist/chunk-EA2FOAEG.mjs.map +1 -0
  94. package/dist/chunk-EFRPCO3C.js +1 -0
  95. package/dist/chunk-EFRPCO3C.js.map +1 -0
  96. package/dist/chunk-ENKAY3PI.js +281 -0
  97. package/dist/chunk-ENKAY3PI.js.map +1 -0
  98. package/dist/chunk-EXUEHPZ4.mjs +107 -0
  99. package/dist/chunk-EXUEHPZ4.mjs.map +1 -0
  100. package/dist/chunk-FOWIC2SO.mjs +38 -0
  101. package/dist/chunk-FOWIC2SO.mjs.map +1 -0
  102. package/dist/chunk-GTAYOKI4.mjs +211 -0
  103. package/dist/chunk-GTAYOKI4.mjs.map +1 -0
  104. package/dist/chunk-HF7HUZ5Z.js +10 -0
  105. package/dist/chunk-HF7HUZ5Z.js.map +1 -0
  106. package/dist/chunk-HJRCBSNA.mjs +32 -0
  107. package/dist/chunk-HJRCBSNA.mjs.map +1 -0
  108. package/dist/chunk-HJYRGKCX.js +50 -0
  109. package/dist/chunk-HJYRGKCX.js.map +1 -0
  110. package/dist/chunk-HYF7Q6VY.mjs +1 -0
  111. package/dist/chunk-HYF7Q6VY.mjs.map +1 -0
  112. package/dist/chunk-I77AVJKV.mjs +152 -0
  113. package/dist/chunk-I77AVJKV.mjs.map +1 -0
  114. package/dist/chunk-IGMAXVPP.mjs +21 -0
  115. package/dist/chunk-IGMAXVPP.mjs.map +1 -0
  116. package/dist/chunk-IHQPAJ2B.js +38 -0
  117. package/dist/chunk-IHQPAJ2B.js.map +1 -0
  118. package/dist/chunk-IJX3CXOY.js +9 -0
  119. package/dist/chunk-IJX3CXOY.js.map +1 -0
  120. package/dist/chunk-IPOE62V4.js +30 -0
  121. package/dist/chunk-IPOE62V4.js.map +1 -0
  122. package/dist/chunk-IV3FSWZ7.mjs +9 -0
  123. package/dist/chunk-IV3FSWZ7.mjs.map +1 -0
  124. package/dist/chunk-IXBJNVHK.js +22 -0
  125. package/dist/chunk-IXBJNVHK.js.map +1 -0
  126. package/dist/chunk-JI5NQ2C3.mjs +1 -0
  127. package/dist/chunk-JI5NQ2C3.mjs.map +1 -0
  128. package/dist/chunk-JMDSN227.mjs +25 -0
  129. package/dist/chunk-JMDSN227.mjs.map +1 -0
  130. package/dist/chunk-K6BCBPXF.js +151 -0
  131. package/dist/chunk-K6BCBPXF.js.map +1 -0
  132. package/dist/chunk-KMLVVVK3.mjs +22 -0
  133. package/dist/chunk-KMLVVVK3.mjs.map +1 -0
  134. package/dist/chunk-LBRWAC27.js +56 -0
  135. package/dist/chunk-LBRWAC27.js.map +1 -0
  136. package/dist/chunk-LCWDLIK5.mjs +281 -0
  137. package/dist/chunk-LCWDLIK5.mjs.map +1 -0
  138. package/dist/chunk-LEKZPKS2.js +21 -0
  139. package/dist/chunk-LEKZPKS2.js.map +1 -0
  140. package/dist/chunk-LSPOXPJJ.mjs +63 -0
  141. package/dist/chunk-LSPOXPJJ.mjs.map +1 -0
  142. package/dist/chunk-MCEKOGEG.mjs +50 -0
  143. package/dist/chunk-MCEKOGEG.mjs.map +1 -0
  144. package/dist/chunk-MLOQHUOY.js +32 -0
  145. package/dist/chunk-MLOQHUOY.js.map +1 -0
  146. package/dist/chunk-N722KRZW.js +41 -0
  147. package/dist/chunk-N722KRZW.js.map +1 -0
  148. package/dist/chunk-NUCLSR2G.js +8 -0
  149. package/dist/chunk-NUCLSR2G.js.map +1 -0
  150. package/dist/chunk-P252LKUT.mjs +9 -0
  151. package/dist/chunk-P252LKUT.mjs.map +1 -0
  152. package/dist/chunk-PHUTP7NB.js +25 -0
  153. package/dist/chunk-PHUTP7NB.js.map +1 -0
  154. package/dist/chunk-PJMEJVOB.mjs +29 -0
  155. package/dist/chunk-PJMEJVOB.mjs.map +1 -0
  156. package/dist/chunk-PLBSSUVY.js +29 -0
  157. package/dist/chunk-PLBSSUVY.js.map +1 -0
  158. package/dist/chunk-Q7RCL5IE.js +30 -0
  159. package/dist/chunk-Q7RCL5IE.js.map +1 -0
  160. package/dist/chunk-QSCKTRRU.js +21 -0
  161. package/dist/chunk-QSCKTRRU.js.map +1 -0
  162. package/dist/chunk-QX6MAFJU.mjs +169 -0
  163. package/dist/chunk-QX6MAFJU.mjs.map +1 -0
  164. package/dist/chunk-QYPLUMB7.mjs +249 -0
  165. package/dist/chunk-QYPLUMB7.mjs.map +1 -0
  166. package/dist/chunk-RAZ7XG4Z.mjs +1 -0
  167. package/dist/chunk-RAZ7XG4Z.mjs.map +1 -0
  168. package/dist/chunk-SRMDDOVO.mjs +20 -0
  169. package/dist/chunk-SRMDDOVO.mjs.map +1 -0
  170. package/dist/chunk-T3VM5YXY.js +1 -0
  171. package/dist/chunk-T3VM5YXY.js.map +1 -0
  172. package/dist/chunk-T3YY4JIJ.js +9 -0
  173. package/dist/chunk-T3YY4JIJ.js.map +1 -0
  174. package/dist/chunk-T6FWIDA6.mjs +95 -0
  175. package/dist/chunk-T6FWIDA6.mjs.map +1 -0
  176. package/dist/chunk-TFP64TMV.js +1 -0
  177. package/dist/chunk-TFP64TMV.js.map +1 -0
  178. package/dist/chunk-TG4BDSYJ.js +193 -0
  179. package/dist/chunk-TG4BDSYJ.js.map +1 -0
  180. package/dist/chunk-UMZNVWEM.mjs +30 -0
  181. package/dist/chunk-UMZNVWEM.mjs.map +1 -0
  182. package/dist/chunk-UW74NLTC.mjs +18 -0
  183. package/dist/chunk-UW74NLTC.mjs.map +1 -0
  184. package/dist/chunk-VWGXNUMD.mjs +151 -0
  185. package/dist/chunk-VWGXNUMD.mjs.map +1 -0
  186. package/dist/chunk-WEOCOYES.mjs +109 -0
  187. package/dist/chunk-WEOCOYES.mjs.map +1 -0
  188. package/dist/chunk-WF56W2AR.mjs +30 -0
  189. package/dist/chunk-WF56W2AR.mjs.map +1 -0
  190. package/dist/chunk-X44Z53IG.js +103 -0
  191. package/dist/chunk-X44Z53IG.js.map +1 -0
  192. package/dist/chunk-Z2JQNSVL.mjs +8 -0
  193. package/dist/chunk-Z2JQNSVL.mjs.map +1 -0
  194. package/dist/chunk-ZJRWU4AJ.mjs +50 -0
  195. package/dist/chunk-ZJRWU4AJ.mjs.map +1 -0
  196. package/dist/chunk-ZT3KKTS2.js +9 -0
  197. package/dist/chunk-ZT3KKTS2.js.map +1 -0
  198. package/dist/cronjob.js +20 -0
  199. package/dist/cronjob.js.map +1 -0
  200. package/dist/cronjob.mjs +20 -0
  201. package/dist/cronjob.mjs.map +1 -0
  202. package/dist/deep-clone.js +8 -0
  203. package/dist/deep-clone.js.map +1 -0
  204. package/dist/deep-clone.mjs +8 -0
  205. package/dist/deep-clone.mjs.map +1 -0
  206. package/dist/default-endowments.js +8 -0
  207. package/dist/default-endowments.js.map +1 -0
  208. package/dist/default-endowments.mjs +8 -0
  209. package/dist/default-endowments.mjs.map +1 -0
  210. package/dist/derivation-paths.js +13 -0
  211. package/dist/derivation-paths.js.map +1 -0
  212. package/dist/derivation-paths.mjs +13 -0
  213. package/dist/derivation-paths.mjs.map +1 -0
  214. package/dist/entropy.js +10 -0
  215. package/dist/entropy.js.map +1 -0
  216. package/dist/entropy.mjs +10 -0
  217. package/dist/entropy.mjs.map +1 -0
  218. package/dist/errors.js +20 -0
  219. package/dist/errors.js.map +1 -0
  220. package/dist/errors.mjs +20 -0
  221. package/dist/errors.mjs.map +1 -0
  222. package/dist/eval-worker.js +43 -0
  223. package/dist/eval-worker.js.map +1 -0
  224. package/dist/eval-worker.mjs +43 -0
  225. package/dist/eval-worker.mjs.map +1 -0
  226. package/dist/eval.js +17 -0
  227. package/dist/eval.js.map +1 -0
  228. package/dist/eval.mjs +17 -0
  229. package/dist/eval.mjs.map +1 -0
  230. package/dist/fs.js +28 -0
  231. package/dist/fs.js.map +1 -0
  232. package/dist/fs.mjs +28 -0
  233. package/dist/fs.mjs.map +1 -0
  234. package/dist/handler-types.js +10 -0
  235. package/dist/handler-types.js.map +1 -0
  236. package/dist/handler-types.mjs +10 -0
  237. package/dist/handler-types.mjs.map +1 -0
  238. package/dist/handlers.js +35 -0
  239. package/dist/handlers.js.map +1 -0
  240. package/dist/handlers.mjs +35 -0
  241. package/dist/handlers.mjs.map +1 -0
  242. package/dist/icon.js +14 -0
  243. package/dist/icon.js.map +1 -0
  244. package/dist/icon.mjs +14 -0
  245. package/dist/icon.mjs.map +1 -0
  246. package/dist/iframe.js +8 -0
  247. package/dist/iframe.js.map +1 -0
  248. package/dist/iframe.mjs +8 -0
  249. package/dist/iframe.mjs.map +1 -0
  250. package/dist/index.executionenv.js +134 -0
  251. package/dist/index.executionenv.js.map +1 -0
  252. package/dist/index.executionenv.mjs +134 -0
  253. package/dist/index.executionenv.mjs.map +1 -0
  254. package/dist/index.js +378 -0
  255. package/dist/index.js.map +1 -0
  256. package/dist/index.mjs +378 -0
  257. package/dist/index.mjs.map +1 -0
  258. package/dist/json-rpc.js +18 -0
  259. package/dist/json-rpc.js.map +1 -0
  260. package/dist/json-rpc.mjs +18 -0
  261. package/dist/json-rpc.mjs.map +1 -0
  262. package/dist/json.js +8 -0
  263. package/dist/json.js.map +1 -0
  264. package/dist/json.mjs +8 -0
  265. package/dist/json.mjs.map +1 -0
  266. package/dist/localization.js +23 -0
  267. package/dist/localization.js.map +1 -0
  268. package/dist/localization.mjs +23 -0
  269. package/dist/localization.mjs.map +1 -0
  270. package/dist/logging.js +14 -0
  271. package/dist/logging.js.map +1 -0
  272. package/dist/logging.mjs +14 -0
  273. package/dist/logging.mjs.map +1 -0
  274. package/dist/manifest/index.js +59 -0
  275. package/dist/manifest/index.js.map +1 -0
  276. package/dist/manifest/index.mjs +59 -0
  277. package/dist/manifest/index.mjs.map +1 -0
  278. package/dist/manifest/manifest.js +42 -0
  279. package/dist/manifest/manifest.js.map +1 -0
  280. package/dist/manifest/manifest.mjs +42 -0
  281. package/dist/manifest/manifest.mjs.map +1 -0
  282. package/dist/manifest/node.js +85 -0
  283. package/dist/manifest/node.js.map +1 -0
  284. package/dist/manifest/node.mjs +85 -0
  285. package/dist/manifest/node.mjs.map +1 -0
  286. package/dist/manifest/validation.js +58 -0
  287. package/dist/manifest/validation.js.map +1 -0
  288. package/dist/manifest/validation.mjs +58 -0
  289. package/dist/manifest/validation.mjs.map +1 -0
  290. package/dist/mock.js +13 -0
  291. package/dist/mock.js.map +1 -0
  292. package/dist/mock.mjs +13 -0
  293. package/dist/mock.mjs.map +1 -0
  294. package/dist/namespace.js +44 -0
  295. package/dist/namespace.js.map +1 -0
  296. package/dist/namespace.mjs +44 -0
  297. package/dist/namespace.mjs.map +1 -0
  298. package/dist/node.js +448 -0
  299. package/dist/node.js.map +1 -0
  300. package/dist/node.mjs +448 -0
  301. package/dist/node.mjs.map +1 -0
  302. package/dist/npm.js +32 -0
  303. package/dist/npm.js.map +1 -0
  304. package/dist/npm.mjs +32 -0
  305. package/dist/npm.mjs.map +1 -0
  306. package/dist/path.js +8 -0
  307. package/dist/path.js.map +1 -0
  308. package/dist/path.mjs +8 -0
  309. package/dist/path.mjs.map +1 -0
  310. package/dist/post-process.js +10 -0
  311. package/dist/post-process.js.map +1 -0
  312. package/dist/post-process.mjs +10 -0
  313. package/dist/post-process.mjs.map +1 -0
  314. package/dist/snaps.js +48 -0
  315. package/dist/snaps.js.map +1 -0
  316. package/dist/snaps.mjs +48 -0
  317. package/dist/snaps.mjs.map +1 -0
  318. package/dist/strings.js +8 -0
  319. package/dist/strings.js.map +1 -0
  320. package/dist/strings.mjs +8 -0
  321. package/dist/strings.mjs.map +1 -0
  322. package/dist/structs.js +31 -0
  323. package/dist/structs.js.map +1 -0
  324. package/dist/structs.mjs +31 -0
  325. package/dist/structs.mjs.map +1 -0
  326. package/dist/tsconfig.build.tsbuildinfo +1 -0
  327. package/dist/types/bytes.d.ts +1 -1
  328. package/dist/types/checksum.d.ts +1 -1
  329. package/dist/types/index.d.ts +1 -6
  330. package/dist/types/json-rpc.d.ts +1 -1
  331. package/dist/types/localization.d.ts +1 -1
  332. package/dist/types/manifest/index.d.ts +0 -1
  333. package/dist/types/manifest/manifest.d.ts +1 -1
  334. package/dist/types/manifest/node.d.ts +2 -0
  335. package/dist/types/manifest/validation.d.ts +5 -5
  336. package/dist/types/node.d.ts +8 -0
  337. package/dist/types/structs.d.ts +0 -20
  338. package/dist/types/ui.d.ts +7 -0
  339. package/dist/types/virtual-file/index.d.ts +0 -1
  340. package/dist/types/virtual-file/node.d.ts +2 -0
  341. package/dist/types.js +28 -0
  342. package/dist/types.js.map +1 -0
  343. package/dist/types.mjs +28 -0
  344. package/dist/types.mjs.map +1 -0
  345. package/dist/ui.js +12 -0
  346. package/dist/ui.js.map +1 -0
  347. package/dist/ui.mjs +12 -0
  348. package/dist/ui.mjs.map +1 -0
  349. package/dist/validation.js +24 -0
  350. package/dist/validation.js.map +1 -0
  351. package/dist/validation.mjs +24 -0
  352. package/dist/validation.mjs.map +1 -0
  353. package/dist/versions.js +12 -0
  354. package/dist/versions.js.map +1 -0
  355. package/dist/versions.mjs +12 -0
  356. package/dist/versions.mjs.map +1 -0
  357. package/dist/virtual-file/VirtualFile.js +9 -0
  358. package/dist/virtual-file/VirtualFile.js.map +1 -0
  359. package/dist/virtual-file/VirtualFile.mjs +9 -0
  360. package/dist/virtual-file/VirtualFile.mjs.map +1 -0
  361. package/dist/virtual-file/index.js +10 -0
  362. package/dist/virtual-file/index.js.map +1 -0
  363. package/dist/virtual-file/index.mjs +10 -0
  364. package/dist/virtual-file/index.mjs.map +1 -0
  365. package/dist/virtual-file/node.js +17 -0
  366. package/dist/virtual-file/node.js.map +1 -0
  367. package/dist/virtual-file/node.mjs +17 -0
  368. package/dist/virtual-file/node.mjs.map +1 -0
  369. package/dist/virtual-file/toVirtualFile.js +12 -0
  370. package/dist/virtual-file/toVirtualFile.js.map +1 -0
  371. package/dist/virtual-file/toVirtualFile.mjs +12 -0
  372. package/dist/virtual-file/toVirtualFile.mjs.map +1 -0
  373. package/package.json +23 -38
  374. package/dist/cjs/array.js +0 -23
  375. package/dist/cjs/array.js.map +0 -1
  376. package/dist/cjs/auxiliary-files.js +0 -27
  377. package/dist/cjs/auxiliary-files.js.map +0 -1
  378. package/dist/cjs/base64.js +0 -44
  379. package/dist/cjs/base64.js.map +0 -1
  380. package/dist/cjs/bytes.js +0 -23
  381. package/dist/cjs/bytes.js.map +0 -1
  382. package/dist/cjs/caveats.js +0 -48
  383. package/dist/cjs/caveats.js.map +0 -1
  384. package/dist/cjs/checksum.js +0 -43
  385. package/dist/cjs/checksum.js.map +0 -1
  386. package/dist/cjs/cronjob.js +0 -77
  387. package/dist/cjs/cronjob.js.map +0 -1
  388. package/dist/cjs/deep-clone.js +0 -22
  389. package/dist/cjs/deep-clone.js.map +0 -1
  390. package/dist/cjs/default-endowments.js +0 -49
  391. package/dist/cjs/default-endowments.js.map +0 -1
  392. package/dist/cjs/derivation-paths.js +0 -300
  393. package/dist/cjs/derivation-paths.js.map +0 -1
  394. package/dist/cjs/entropy.js +0 -23
  395. package/dist/cjs/entropy.js.map +0 -1
  396. package/dist/cjs/errors.js +0 -221
  397. package/dist/cjs/errors.js.map +0 -1
  398. package/dist/cjs/eval-worker.js +0 -44
  399. package/dist/cjs/eval-worker.js.map +0 -1
  400. package/dist/cjs/eval.js +0 -77
  401. package/dist/cjs/eval.js.map +0 -1
  402. package/dist/cjs/fs.js +0 -126
  403. package/dist/cjs/fs.js.map +0 -1
  404. package/dist/cjs/handler-types.js +0 -34
  405. package/dist/cjs/handler-types.js.map +0 -1
  406. package/dist/cjs/handlers.js +0 -173
  407. package/dist/cjs/handlers.js.map +0 -1
  408. package/dist/cjs/icon.js +0 -66
  409. package/dist/cjs/icon.js.map +0 -1
  410. package/dist/cjs/iframe.js +0 -59
  411. package/dist/cjs/iframe.js.map +0 -1
  412. package/dist/cjs/index.browser.js +0 -49
  413. package/dist/cjs/index.browser.js.map +0 -1
  414. package/dist/cjs/index.executionenv.js +0 -27
  415. package/dist/cjs/index.executionenv.js.map +0 -1
  416. package/dist/cjs/index.js +0 -54
  417. package/dist/cjs/index.js.map +0 -1
  418. package/dist/cjs/json-rpc.js +0 -81
  419. package/dist/cjs/json-rpc.js.map +0 -1
  420. package/dist/cjs/json.js +0 -16
  421. package/dist/cjs/json.js.map +0 -1
  422. package/dist/cjs/localization.js +0 -113
  423. package/dist/cjs/localization.js.map +0 -1
  424. package/dist/cjs/logging.js +0 -40
  425. package/dist/cjs/logging.js.map +0 -1
  426. package/dist/cjs/manifest/index.browser.js +0 -20
  427. package/dist/cjs/manifest/index.browser.js.map +0 -1
  428. package/dist/cjs/manifest/index.js +0 -21
  429. package/dist/cjs/manifest/index.js.map +0 -1
  430. package/dist/cjs/manifest/manifest.js +0 -283
  431. package/dist/cjs/manifest/manifest.js.map +0 -1
  432. package/dist/cjs/manifest/validation.js +0 -244
  433. package/dist/cjs/manifest/validation.js.map +0 -1
  434. package/dist/cjs/mock.js +0 -128
  435. package/dist/cjs/mock.js.map +0 -1
  436. package/dist/cjs/namespace.js +0 -136
  437. package/dist/cjs/namespace.js.map +0 -1
  438. package/dist/cjs/npm.js +0 -96
  439. package/dist/cjs/npm.js.map +0 -1
  440. package/dist/cjs/path.js +0 -21
  441. package/dist/cjs/path.js.map +0 -1
  442. package/dist/cjs/post-process.js +0 -328
  443. package/dist/cjs/post-process.js.map +0 -1
  444. package/dist/cjs/snaps.js +0 -232
  445. package/dist/cjs/snaps.js.map +0 -1
  446. package/dist/cjs/strings.js +0 -21
  447. package/dist/cjs/strings.js.map +0 -1
  448. package/dist/cjs/structs.js +0 -210
  449. package/dist/cjs/structs.js.map +0 -1
  450. package/dist/cjs/types.js +0 -104
  451. package/dist/cjs/types.js.map +0 -1
  452. package/dist/cjs/ui.js +0 -53
  453. package/dist/cjs/ui.js.map +0 -1
  454. package/dist/cjs/validation.js +0 -24
  455. package/dist/cjs/validation.js.map +0 -1
  456. package/dist/cjs/versions.js +0 -47
  457. package/dist/cjs/versions.js.map +0 -1
  458. package/dist/cjs/virtual-file/VirtualFile.js +0 -92
  459. package/dist/cjs/virtual-file/VirtualFile.js.map +0 -1
  460. package/dist/cjs/virtual-file/index.browser.js +0 -20
  461. package/dist/cjs/virtual-file/index.browser.js.map +0 -1
  462. package/dist/cjs/virtual-file/index.js +0 -21
  463. package/dist/cjs/virtual-file/index.js.map +0 -1
  464. package/dist/cjs/virtual-file/toVirtualFile.js +0 -33
  465. package/dist/cjs/virtual-file/toVirtualFile.js.map +0 -1
  466. package/dist/esm/array.js +0 -13
  467. package/dist/esm/array.js.map +0 -1
  468. package/dist/esm/auxiliary-files.js +0 -23
  469. package/dist/esm/auxiliary-files.js.map +0 -1
  470. package/dist/esm/base64.js +0 -36
  471. package/dist/esm/base64.js.map +0 -1
  472. package/dist/esm/bytes.js +0 -18
  473. package/dist/esm/bytes.js.map +0 -1
  474. package/dist/esm/caveats.js +0 -38
  475. package/dist/esm/caveats.js.map +0 -1
  476. package/dist/esm/checksum.js +0 -41
  477. package/dist/esm/checksum.js.map +0 -1
  478. package/dist/esm/cronjob.js +0 -59
  479. package/dist/esm/cronjob.js.map +0 -1
  480. package/dist/esm/deep-clone.js +0 -7
  481. package/dist/esm/deep-clone.js.map +0 -1
  482. package/dist/esm/default-endowments.js +0 -39
  483. package/dist/esm/default-endowments.js.map +0 -1
  484. package/dist/esm/derivation-paths.js +0 -287
  485. package/dist/esm/derivation-paths.js.map +0 -1
  486. package/dist/esm/entropy.js +0 -6
  487. package/dist/esm/entropy.js.map +0 -1
  488. package/dist/esm/errors.js +0 -211
  489. package/dist/esm/errors.js.map +0 -1
  490. package/dist/esm/eval-worker.js +0 -40
  491. package/dist/esm/eval-worker.js.map +0 -1
  492. package/dist/esm/eval.js +0 -65
  493. package/dist/esm/eval.js.map +0 -1
  494. package/dist/esm/fs.js +0 -136
  495. package/dist/esm/fs.js.map +0 -1
  496. package/dist/esm/handler-types.js +0 -16
  497. package/dist/esm/handler-types.js.map +0 -1
  498. package/dist/esm/handlers.js +0 -119
  499. package/dist/esm/handlers.js.map +0 -1
  500. package/dist/esm/icon.js +0 -51
  501. package/dist/esm/icon.js.map +0 -1
  502. package/dist/esm/iframe.js +0 -49
  503. package/dist/esm/iframe.js.map +0 -1
  504. package/dist/esm/index.browser.js +0 -32
  505. package/dist/esm/index.browser.js.map +0 -1
  506. package/dist/esm/index.executionenv.js +0 -10
  507. package/dist/esm/index.executionenv.js.map +0 -1
  508. package/dist/esm/index.js +0 -37
  509. package/dist/esm/index.js.map +0 -1
  510. package/dist/esm/json-rpc.js +0 -79
  511. package/dist/esm/json-rpc.js.map +0 -1
  512. package/dist/esm/json.js +0 -17
  513. package/dist/esm/json.js.map +0 -1
  514. package/dist/esm/localization.js +0 -115
  515. package/dist/esm/localization.js.map +0 -1
  516. package/dist/esm/logging.js +0 -59
  517. package/dist/esm/logging.js.map +0 -1
  518. package/dist/esm/manifest/index.browser.js +0 -3
  519. package/dist/esm/manifest/index.browser.js.map +0 -1
  520. package/dist/esm/manifest/index.js +0 -4
  521. package/dist/esm/manifest/index.js.map +0 -1
  522. package/dist/esm/manifest/manifest.js +0 -307
  523. package/dist/esm/manifest/manifest.js.map +0 -1
  524. package/dist/esm/manifest/validation.js +0 -190
  525. package/dist/esm/manifest/validation.js.map +0 -1
  526. package/dist/esm/mock.js +0 -111
  527. package/dist/esm/mock.js.map +0 -1
  528. package/dist/esm/namespace.js +0 -113
  529. package/dist/esm/namespace.js.map +0 -1
  530. package/dist/esm/npm.js +0 -85
  531. package/dist/esm/npm.js.map +0 -1
  532. package/dist/esm/path.js +0 -17
  533. package/dist/esm/path.js.map +0 -1
  534. package/dist/esm/post-process.js +0 -333
  535. package/dist/esm/post-process.js.map +0 -1
  536. package/dist/esm/snaps.js +0 -217
  537. package/dist/esm/snaps.js.map +0 -1
  538. package/dist/esm/strings.js +0 -11
  539. package/dist/esm/strings.js.map +0 -1
  540. package/dist/esm/structs.js +0 -295
  541. package/dist/esm/structs.js.map +0 -1
  542. package/dist/esm/types.js +0 -78
  543. package/dist/esm/types.js.map +0 -1
  544. package/dist/esm/ui.js +0 -50
  545. package/dist/esm/ui.js.map +0 -1
  546. package/dist/esm/validation.js +0 -19
  547. package/dist/esm/validation.js.map +0 -1
  548. package/dist/esm/versions.js +0 -41
  549. package/dist/esm/versions.js.map +0 -1
  550. package/dist/esm/virtual-file/VirtualFile.js +0 -82
  551. package/dist/esm/virtual-file/VirtualFile.js.map +0 -1
  552. package/dist/esm/virtual-file/index.browser.js +0 -3
  553. package/dist/esm/virtual-file/index.browser.js.map +0 -1
  554. package/dist/esm/virtual-file/index.js +0 -4
  555. package/dist/esm/virtual-file/index.js.map +0 -1
  556. package/dist/esm/virtual-file/toVirtualFile.js +0 -26
  557. package/dist/esm/virtual-file/toVirtualFile.js.map +0 -1
  558. package/dist/types/index.browser.d.ts +0 -30
  559. package/dist/types/manifest/index.browser.d.ts +0 -1
  560. package/dist/types/virtual-file/index.browser.d.ts +0 -1
@@ -0,0 +1,30 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/versions.ts
2
+ var _utils = require('@metamask/utils');
3
+ var _semver = require('semver');
4
+ var _superstruct = require('superstruct');
5
+ var DEFAULT_REQUESTED_SNAP_VERSION = "*";
6
+ function getTargetVersion(versions, versionRange) {
7
+ const maxSatisfyingNonPreRelease = _semver.maxSatisfying.call(void 0,
8
+ versions,
9
+ versionRange
10
+ );
11
+ if (maxSatisfyingNonPreRelease) {
12
+ return maxSatisfyingNonPreRelease;
13
+ }
14
+ return _semver.maxSatisfying.call(void 0, versions, versionRange, {
15
+ includePrerelease: true
16
+ });
17
+ }
18
+ function resolveVersionRange(version) {
19
+ if (version === void 0 || version === "latest") {
20
+ return [void 0, DEFAULT_REQUESTED_SNAP_VERSION];
21
+ }
22
+ return _superstruct.validate.call(void 0, version, _utils.VersionRangeStruct);
23
+ }
24
+
25
+
26
+
27
+
28
+
29
+ exports.DEFAULT_REQUESTED_SNAP_VERSION = DEFAULT_REQUESTED_SNAP_VERSION; exports.getTargetVersion = getTargetVersion; exports.resolveVersionRange = resolveVersionRange;
30
+ //# sourceMappingURL=chunk-IPOE62V4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/versions.ts"],"names":[],"mappings":";AACA,SAAS,0BAA0B;AACnC,SAAS,iBAAiB,2BAA2B;AACrD,SAAS,gBAAgB;AAElB,IAAM,iCAAiC;AAYvC,SAAS,iBACd,UACA,cACsB;AACtB,QAAM,6BAA6B;AAAA,IACjC;AAAA,IACA;AAAA,EACF;AAGA,MAAI,4BAA4B;AAC9B,WAAO;AAAA,EACT;AAGA,SAAO,oBAAoB,UAAU,cAAc;AAAA,IACjD,mBAAmB;AAAA,EACrB,CAAC;AACH;AASO,SAAS,oBACd,SAC2E;AAC3E,MAAI,YAAY,UAAa,YAAY,UAAU;AACjD,WAAO,CAAC,QAAW,8BAA8B;AAAA,EACnD;AACA,SAAO,SAAS,SAAS,kBAAkB;AAC7C","sourcesContent":["import type { Json, SemVerVersion, SemVerRange } from '@metamask/utils';\nimport { VersionRangeStruct } from '@metamask/utils';\nimport { maxSatisfying as maxSatisfyingSemver } from 'semver';\nimport { validate } from 'superstruct';\n\nexport const DEFAULT_REQUESTED_SNAP_VERSION = '*' as SemVerRange;\n\n/**\n * Return the highest version in the list that satisfies the range, or `null` if\n * none of them do. For the satisfaction check, pre-release versions will only\n * be checked if no satisfactory non-prerelease version is found first.\n *\n * @param versions - The list of version to check.\n * @param versionRange - The SemVer version range to check against.\n * @returns The highest version in the list that satisfies the range,\n * or `null` if none of them do.\n */\nexport function getTargetVersion(\n versions: SemVerVersion[],\n versionRange: SemVerRange,\n): SemVerVersion | null {\n const maxSatisfyingNonPreRelease = maxSatisfyingSemver(\n versions,\n versionRange,\n );\n\n // By default don't use pre-release versions\n if (maxSatisfyingNonPreRelease) {\n return maxSatisfyingNonPreRelease;\n }\n\n // If no satisfying release version is found by default, try pre-release versions\n return maxSatisfyingSemver(versions, versionRange, {\n includePrerelease: true,\n });\n}\n\n/**\n * Parse a version received by some subject attempting to access a snap.\n *\n * @param version - The received version value.\n * @returns `*` if the version is `undefined` or `latest\", otherwise returns\n * the specified version.\n */\nexport function resolveVersionRange(\n version?: Json,\n): [error: undefined, range: SemVerRange] | [error: Error, range: undefined] {\n if (version === undefined || version === 'latest') {\n return [undefined, DEFAULT_REQUESTED_SNAP_VERSION];\n }\n return validate(version, VersionRangeStruct);\n}\n"]}
@@ -0,0 +1,9 @@
1
+ // src/strings.ts
2
+ function indent(message, spaces = 2) {
3
+ return message.replace(/^/gmu, " ".repeat(spaces));
4
+ }
5
+
6
+ export {
7
+ indent
8
+ };
9
+ //# sourceMappingURL=chunk-IV3FSWZ7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/strings.ts"],"sourcesContent":["/**\n * Indent a message by adding a number of spaces to the beginning of each line.\n *\n * @param message - The message to indent.\n * @param spaces - The number of spaces to indent by. Defaults to 2.\n * @returns The indented message.\n */\nexport function indent(message: string, spaces = 2) {\n return message.replace(/^/gmu, ' '.repeat(spaces));\n}\n"],"mappings":";AAOO,SAAS,OAAO,SAAiB,SAAS,GAAG;AAClD,SAAO,QAAQ,QAAQ,QAAQ,IAAI,OAAO,MAAM,CAAC;AACnD;","names":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkIHQPAJ2Bjs = require('./chunk-IHQPAJ2B.js');
4
+
5
+ // src/auxiliary-files.ts
6
+ var _snapssdk = require('@metamask/snaps-sdk');
7
+ var _utils = require('@metamask/utils');
8
+ async function encodeAuxiliaryFile(value, encoding) {
9
+ if (encoding === _snapssdk.AuxiliaryFileEncoding.Base64) {
10
+ return value;
11
+ }
12
+ const decoded = await _chunkIHQPAJ2Bjs.decodeBase64.call(void 0, value);
13
+ if (encoding === _snapssdk.AuxiliaryFileEncoding.Utf8) {
14
+ return _utils.bytesToString.call(void 0, decoded);
15
+ }
16
+ return _utils.bytesToHex.call(void 0, decoded);
17
+ }
18
+
19
+
20
+
21
+ exports.encodeAuxiliaryFile = encodeAuxiliaryFile;
22
+ //# sourceMappingURL=chunk-IXBJNVHK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/auxiliary-files.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,6BAA6B;AACtC,SAAS,YAAY,qBAAqB;AAW1C,eAAsB,oBACpB,OACA,UACA;AAEA,MAAI,aAAa,sBAAsB,QAAQ;AAC7C,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,MAAM,aAAa,KAAK;AACxC,MAAI,aAAa,sBAAsB,MAAM;AAC3C,WAAO,cAAc,OAAO;AAAA,EAC9B;AAEA,SAAO,WAAW,OAAO;AAC3B","sourcesContent":["import { AuxiliaryFileEncoding } from '@metamask/snaps-sdk';\nimport { bytesToHex, bytesToString } from '@metamask/utils';\n\nimport { decodeBase64 } from './base64';\n\n/**\n * Re-encodes an auxiliary file if needed depending on the requested file encoding.\n *\n * @param value - The base64 value stored for the auxiliary file.\n * @param encoding - The chosen encoding.\n * @returns The file encoded in the requested encoding.\n */\nexport async function encodeAuxiliaryFile(\n value: string,\n encoding: AuxiliaryFileEncoding,\n) {\n // Input is assumed to be the stored file in base64.\n if (encoding === AuxiliaryFileEncoding.Base64) {\n return value;\n }\n\n // TODO: Use @metamask/utils for this\n const decoded = await decodeBase64(value);\n if (encoding === AuxiliaryFileEncoding.Utf8) {\n return bytesToString(decoded);\n }\n\n return bytesToHex(decoded);\n}\n"]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-JI5NQ2C3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,25 @@
1
+ var __accessCheck = (obj, member, msg) => {
2
+ if (!member.has(obj))
3
+ throw TypeError("Cannot " + msg);
4
+ };
5
+ var __privateGet = (obj, member, getter) => {
6
+ __accessCheck(obj, member, "read from private field");
7
+ return getter ? getter.call(obj) : member.get(obj);
8
+ };
9
+ var __privateAdd = (obj, member, value) => {
10
+ if (member.has(obj))
11
+ throw TypeError("Cannot add the same private member more than once");
12
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
13
+ };
14
+ var __privateSet = (obj, member, value, setter) => {
15
+ __accessCheck(obj, member, "write to private field");
16
+ setter ? setter.call(obj, value) : member.set(obj, value);
17
+ return value;
18
+ };
19
+
20
+ export {
21
+ __privateGet,
22
+ __privateAdd,
23
+ __privateSet
24
+ };
25
+ //# sourceMappingURL=chunk-JMDSN227.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,151 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+ var _chunkPHUTP7NBjs = require('./chunk-PHUTP7NB.js');
6
+
7
+ // src/errors.ts
8
+
9
+
10
+
11
+
12
+ var _rpcerrors = require('@metamask/rpc-errors');
13
+
14
+
15
+
16
+
17
+
18
+ var _snapssdk = require('@metamask/snaps-sdk');
19
+ var _utils = require('@metamask/utils');
20
+ var SNAP_ERROR_WRAPPER_CODE = -31001;
21
+ var SNAP_ERROR_WRAPPER_MESSAGE = "Wrapped Snap Error";
22
+ var _error, _message, _stack;
23
+ var WrappedSnapError = class extends Error {
24
+ /**
25
+ * Create a new `WrappedSnapError`.
26
+ *
27
+ * @param error - The error to create the `WrappedSnapError` from.
28
+ */
29
+ constructor(error) {
30
+ const message = _snapssdk.getErrorMessage.call(void 0, error);
31
+ super(message);
32
+ _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _error, void 0);
33
+ _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _message, void 0);
34
+ _chunkPHUTP7NBjs.__privateAdd.call(void 0, this, _stack, void 0);
35
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _error, error);
36
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _message, message);
37
+ _chunkPHUTP7NBjs.__privateSet.call(void 0, this, _stack, _snapssdk.getErrorStack.call(void 0, error));
38
+ }
39
+ /**
40
+ * The error name.
41
+ *
42
+ * @returns The error name.
43
+ */
44
+ get name() {
45
+ return "WrappedSnapError";
46
+ }
47
+ /**
48
+ * The error message.
49
+ *
50
+ * @returns The error message.
51
+ */
52
+ get message() {
53
+ return _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _message);
54
+ }
55
+ /**
56
+ * The error stack.
57
+ *
58
+ * @returns The error stack.
59
+ */
60
+ get stack() {
61
+ return _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _stack);
62
+ }
63
+ /**
64
+ * Convert the error to a JSON object.
65
+ *
66
+ * @returns The JSON object.
67
+ */
68
+ toJSON() {
69
+ const cause = isSnapError(_chunkPHUTP7NBjs.__privateGet.call(void 0, this, _error)) ? _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _error).serialize() : _rpcerrors.serializeCause.call(void 0, _chunkPHUTP7NBjs.__privateGet.call(void 0, this, _error));
70
+ return {
71
+ code: SNAP_ERROR_WRAPPER_CODE,
72
+ message: SNAP_ERROR_WRAPPER_MESSAGE,
73
+ data: {
74
+ cause
75
+ }
76
+ };
77
+ }
78
+ /**
79
+ * Serialize the error to a JSON object. This is called by
80
+ * `@metamask/rpc-errors` when serializing the error.
81
+ *
82
+ * @returns The JSON object.
83
+ */
84
+ serialize() {
85
+ return this.toJSON();
86
+ }
87
+ };
88
+ _error = new WeakMap();
89
+ _message = new WeakMap();
90
+ _stack = new WeakMap();
91
+ function isSnapError(error) {
92
+ if (_utils.isObject.call(void 0, error) && "serialize" in error && typeof error.serialize === "function") {
93
+ const serialized = error.serialize();
94
+ return _utils.isJsonRpcError.call(void 0, serialized) && isSerializedSnapError(serialized);
95
+ }
96
+ return false;
97
+ }
98
+ function isSerializedSnapError(error) {
99
+ return error.code === _snapssdk.SNAP_ERROR_CODE && error.message === _snapssdk.SNAP_ERROR_MESSAGE;
100
+ }
101
+ function isWrappedSnapError(error) {
102
+ return _utils.isJsonRpcError.call(void 0, error) && error.code === SNAP_ERROR_WRAPPER_CODE && error.message === SNAP_ERROR_WRAPPER_MESSAGE;
103
+ }
104
+ function getJsonRpcError(code, message, stack, data) {
105
+ const error = new (0, _rpcerrors.JsonRpcError)(code, message, data);
106
+ error.stack = stack;
107
+ return error;
108
+ }
109
+ function unwrapError(error) {
110
+ if (isWrappedSnapError(error)) {
111
+ if (_utils.isJsonRpcError.call(void 0, error.data.cause)) {
112
+ if (isSerializedSnapError(error.data.cause)) {
113
+ const { code: code2, message: message2, stack: stack2, data: data2 } = error.data.cause.data.cause;
114
+ return [getJsonRpcError(code2, message2, stack2, data2), true];
115
+ }
116
+ const { code, message, stack, data } = error.data.cause;
117
+ return [getJsonRpcError(code, message, stack, data), false];
118
+ }
119
+ return [
120
+ getJsonRpcError(
121
+ _rpcerrors.errorCodes.rpc.internal,
122
+ _snapssdk.getErrorMessage.call(void 0, error.data.cause),
123
+ _snapssdk.getErrorStack.call(void 0, error.data.cause)
124
+ ),
125
+ false
126
+ ];
127
+ }
128
+ if (_utils.isJsonRpcError.call(void 0, error)) {
129
+ const { code, message, stack, data } = error;
130
+ return [getJsonRpcError(code, message, stack, data), false];
131
+ }
132
+ return [
133
+ getJsonRpcError(
134
+ _rpcerrors.errorCodes.rpc.internal,
135
+ _snapssdk.getErrorMessage.call(void 0, error),
136
+ _snapssdk.getErrorStack.call(void 0, error)
137
+ ),
138
+ false
139
+ ];
140
+ }
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+ exports.SNAP_ERROR_WRAPPER_CODE = SNAP_ERROR_WRAPPER_CODE; exports.SNAP_ERROR_WRAPPER_MESSAGE = SNAP_ERROR_WRAPPER_MESSAGE; exports.WrappedSnapError = WrappedSnapError; exports.isSnapError = isSnapError; exports.isSerializedSnapError = isSerializedSnapError; exports.isWrappedSnapError = isWrappedSnapError; exports.unwrapError = unwrapError;
151
+ //# sourceMappingURL=chunk-K6BCBPXF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/errors.ts"],"names":["code","message","stack","data"],"mappings":";;;;;;;AAAA;AAAA,EACE;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,OACK;AAGP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,UAAU,sBAAsB;AAElC,IAAM,0BAA0B;AAChC,IAAM,6BAA6B;AAjB1C;AA2BO,IAAM,mBAAN,cAA+B,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAY1C,YAAY,OAAgB;AAC1B,UAAM,UAAU,gBAAgB,KAAK;AACrC,UAAM,OAAO;AAbf,uBAAS,QAAT;AAEA,uBAAS,UAAT;AAEA,uBAAS,QAAT;AAWE,uBAAK,QAAS;AACd,uBAAK,UAAW;AAChB,uBAAK,QAAS,cAAc,KAAK;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,OAAO;AACT,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,UAAU;AACZ,WAAO,mBAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,QAAQ;AACV,WAAO,mBAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAqC;AACnC,UAAM,QAAQ,YAAY,mBAAK,OAAM,IACjC,mBAAK,QAAO,UAAU,IACtB,eAAe,mBAAK,OAAM;AAE9B,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY;AACV,WAAO,KAAK,OAAO;AAAA,EACrB;AACF;AA3EW;AAEA;AAEA;AA+EJ,SAAS,YAAY,OAAoC;AAC9D,MACE,SAAS,KAAK,KACd,eAAe,SACf,OAAO,MAAM,cAAc,YAC3B;AACA,UAAM,aAAa,MAAM,UAAU;AACnC,WAAO,eAAe,UAAU,KAAK,sBAAsB,UAAU;AAAA,EACvE;AAEA,SAAO;AACT;AAQO,SAAS,sBACd,OAC8B;AAC9B,SAAO,MAAM,SAAS,mBAAmB,MAAM,YAAY;AAC7D;AAQO,SAAS,mBACd,OACqC;AACrC,SACE,eAAe,KAAK,KACpB,MAAM,SAAS,2BACf,MAAM,YAAY;AAEtB;AAWA,SAAS,gBACP,MACA,SACA,OACA,MACA;AACA,QAAM,QAAQ,IAAI,SAAS,MAAM,SAAS,IAAI;AAC9C,QAAM,QAAQ;AAEd,SAAO;AACT;AAWO,SAAS,YACd,OAC8D;AAK9D,MAAI,mBAAmB,KAAK,GAAG;AAG7B,QAAI,eAAe,MAAM,KAAK,KAAK,GAAG;AAEpC,UAAI,sBAAsB,MAAM,KAAK,KAAK,GAAG;AAC3C,cAAM,EAAE,MAAAA,OAAM,SAAAC,UAAS,OAAAC,QAAO,MAAAC,MAAK,IAAI,MAAM,KAAK,MAAM,KAAK;AAC7D,eAAO,CAAC,gBAAgBH,OAAMC,UAASC,QAAOC,KAAI,GAAG,IAAI;AAAA,MAC3D;AAGA,YAAM,EAAE,MAAM,SAAS,OAAO,KAAK,IAAI,MAAM,KAAK;AAClD,aAAO,CAAC,gBAAgB,MAAM,SAAS,OAAO,IAAI,GAAG,KAAK;AAAA,IAC5D;AAIA,WAAO;AAAA,MACL;AAAA,QACE,WAAW,IAAI;AAAA,QACf,gBAAgB,MAAM,KAAK,KAAK;AAAA,QAChC,cAAc,MAAM,KAAK,KAAK;AAAA,MAChC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAIA,MAAI,eAAe,KAAK,GAAG;AACzB,UAAM,EAAE,MAAM,SAAS,OAAO,KAAK,IAAI;AACvC,WAAO,CAAC,gBAAgB,MAAM,SAAS,OAAO,IAAI,GAAG,KAAK;AAAA,EAC5D;AAIA,SAAO;AAAA,IACL;AAAA,MACE,WAAW,IAAI;AAAA,MACf,gBAAgB,KAAK;AAAA,MACrB,cAAc,KAAK;AAAA,IACrB;AAAA,IACA;AAAA,EACF;AACF","sourcesContent":["import {\n errorCodes,\n JsonRpcError as RpcError,\n serializeCause,\n} from '@metamask/rpc-errors';\nimport type { DataWithOptionalCause } from '@metamask/rpc-errors';\nimport type { SerializedSnapError, SnapError } from '@metamask/snaps-sdk';\nimport {\n getErrorMessage,\n getErrorStack,\n SNAP_ERROR_CODE,\n SNAP_ERROR_MESSAGE,\n} from '@metamask/snaps-sdk';\nimport type { Json, JsonRpcError } from '@metamask/utils';\nimport { isObject, isJsonRpcError } from '@metamask/utils';\n\nexport const SNAP_ERROR_WRAPPER_CODE = -31001;\nexport const SNAP_ERROR_WRAPPER_MESSAGE = 'Wrapped Snap Error';\n\nexport type SerializedSnapErrorWrapper = {\n code: typeof SNAP_ERROR_WRAPPER_CODE;\n message: typeof SNAP_ERROR_WRAPPER_MESSAGE;\n data: {\n cause: Json;\n };\n};\n\nexport class WrappedSnapError extends Error {\n readonly #error: unknown;\n\n readonly #message: string;\n\n readonly #stack?: string;\n\n /**\n * Create a new `WrappedSnapError`.\n *\n * @param error - The error to create the `WrappedSnapError` from.\n */\n constructor(error: unknown) {\n const message = getErrorMessage(error);\n super(message);\n\n this.#error = error;\n this.#message = message;\n this.#stack = getErrorStack(error);\n }\n\n /**\n * The error name.\n *\n * @returns The error name.\n */\n get name() {\n return 'WrappedSnapError';\n }\n\n /**\n * The error message.\n *\n * @returns The error message.\n */\n get message() {\n return this.#message;\n }\n\n /**\n * The error stack.\n *\n * @returns The error stack.\n */\n get stack() {\n return this.#stack;\n }\n\n /**\n * Convert the error to a JSON object.\n *\n * @returns The JSON object.\n */\n toJSON(): SerializedSnapErrorWrapper {\n const cause = isSnapError(this.#error)\n ? this.#error.serialize()\n : serializeCause(this.#error);\n\n return {\n code: SNAP_ERROR_WRAPPER_CODE,\n message: SNAP_ERROR_WRAPPER_MESSAGE,\n data: {\n cause,\n },\n };\n }\n\n /**\n * Serialize the error to a JSON object. This is called by\n * `@metamask/rpc-errors` when serializing the error.\n *\n * @returns The JSON object.\n */\n serialize() {\n return this.toJSON();\n }\n}\n\n/**\n * Check if an object is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSnapError(error: unknown): error is SnapError {\n if (\n isObject(error) &&\n 'serialize' in error &&\n typeof error.serialize === 'function'\n ) {\n const serialized = error.serialize();\n return isJsonRpcError(serialized) && isSerializedSnapError(serialized);\n }\n\n return false;\n}\n\n/**\n * Check if a JSON-RPC error is a `SnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `SnapError`.\n */\nexport function isSerializedSnapError(\n error: JsonRpcError,\n): error is SerializedSnapError {\n return error.code === SNAP_ERROR_CODE && error.message === SNAP_ERROR_MESSAGE;\n}\n\n/**\n * Check if a JSON-RPC error is a `WrappedSnapError`.\n *\n * @param error - The object to check.\n * @returns Whether the object is a `WrappedSnapError`.\n */\nexport function isWrappedSnapError(\n error: unknown,\n): error is SerializedSnapErrorWrapper {\n return (\n isJsonRpcError(error) &&\n error.code === SNAP_ERROR_WRAPPER_CODE &&\n error.message === SNAP_ERROR_WRAPPER_MESSAGE\n );\n}\n\n/**\n * Get a JSON-RPC error with the given code, message, stack, and data.\n *\n * @param code - The error code.\n * @param message - The error message.\n * @param stack - The error stack.\n * @param data - Additional data for the error.\n * @returns The JSON-RPC error.\n */\nfunction getJsonRpcError(\n code: number,\n message: string,\n stack?: string,\n data?: Json,\n) {\n const error = new RpcError(code, message, data);\n error.stack = stack;\n\n return error;\n}\n\n/**\n * Attempt to unwrap an unknown error to a `JsonRpcError`. This function will\n * try to get the error code, message, and data from the error, and return a\n * `JsonRpcError` with those properties.\n *\n * @param error - The error to unwrap.\n * @returns A tuple containing the unwrapped error and a boolean indicating\n * whether the error was handled.\n */\nexport function unwrapError(\n error: unknown,\n): [error: RpcError<DataWithOptionalCause>, isHandled: boolean] {\n // This logic is a bit complicated, but it's necessary to handle all the\n // different types of errors that can be thrown by a Snap.\n\n // If the error is a wrapped Snap error, unwrap it.\n if (isWrappedSnapError(error)) {\n // The wrapped error can be a JSON-RPC error, or an unknown error. If it's\n // a JSON-RPC error, we can unwrap it further.\n if (isJsonRpcError(error.data.cause)) {\n // If the JSON-RPC error is a wrapped Snap error, unwrap it further.\n if (isSerializedSnapError(error.data.cause)) {\n const { code, message, stack, data } = error.data.cause.data.cause;\n return [getJsonRpcError(code, message, stack, data), true];\n }\n\n // Otherwise, we use the original JSON-RPC error.\n const { code, message, stack, data } = error.data.cause;\n return [getJsonRpcError(code, message, stack, data), false];\n }\n\n // Otherwise, we throw an internal error with the wrapped error as the\n // message.\n return [\n getJsonRpcError(\n errorCodes.rpc.internal,\n getErrorMessage(error.data.cause),\n getErrorStack(error.data.cause),\n ),\n false,\n ];\n }\n\n // The error can be a non-wrapped JSON-RPC error, in which case we can just\n // re-throw it with the same code, message, and data.\n if (isJsonRpcError(error)) {\n const { code, message, stack, data } = error;\n return [getJsonRpcError(code, message, stack, data), false];\n }\n\n // If the error is not a wrapped error, we don't know how to handle it, so we\n // throw an internal error with the error as the message.\n return [\n getJsonRpcError(\n errorCodes.rpc.internal,\n getErrorMessage(error),\n getErrorStack(error),\n ),\n false,\n ];\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import {
2
+ decodeBase64
3
+ } from "./chunk-FOWIC2SO.mjs";
4
+
5
+ // src/auxiliary-files.ts
6
+ import { AuxiliaryFileEncoding } from "@metamask/snaps-sdk";
7
+ import { bytesToHex, bytesToString } from "@metamask/utils";
8
+ async function encodeAuxiliaryFile(value, encoding) {
9
+ if (encoding === AuxiliaryFileEncoding.Base64) {
10
+ return value;
11
+ }
12
+ const decoded = await decodeBase64(value);
13
+ if (encoding === AuxiliaryFileEncoding.Utf8) {
14
+ return bytesToString(decoded);
15
+ }
16
+ return bytesToHex(decoded);
17
+ }
18
+
19
+ export {
20
+ encodeAuxiliaryFile
21
+ };
22
+ //# sourceMappingURL=chunk-KMLVVVK3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/auxiliary-files.ts"],"sourcesContent":["import { AuxiliaryFileEncoding } from '@metamask/snaps-sdk';\nimport { bytesToHex, bytesToString } from '@metamask/utils';\n\nimport { decodeBase64 } from './base64';\n\n/**\n * Re-encodes an auxiliary file if needed depending on the requested file encoding.\n *\n * @param value - The base64 value stored for the auxiliary file.\n * @param encoding - The chosen encoding.\n * @returns The file encoded in the requested encoding.\n */\nexport async function encodeAuxiliaryFile(\n value: string,\n encoding: AuxiliaryFileEncoding,\n) {\n // Input is assumed to be the stored file in base64.\n if (encoding === AuxiliaryFileEncoding.Base64) {\n return value;\n }\n\n // TODO: Use @metamask/utils for this\n const decoded = await decodeBase64(value);\n if (encoding === AuxiliaryFileEncoding.Utf8) {\n return bytesToString(decoded);\n }\n\n return bytesToHex(decoded);\n}\n"],"mappings":";;;;;AAAA,SAAS,6BAA6B;AACtC,SAAS,YAAY,qBAAqB;AAW1C,eAAsB,oBACpB,OACA,UACA;AAEA,MAAI,aAAa,sBAAsB,QAAQ;AAC7C,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,MAAM,aAAa,KAAK;AACxC,MAAI,aAAa,sBAAsB,MAAM;AAC3C,WAAO,cAAc,OAAO;AAAA,EAC9B;AAEA,SAAO,WAAW,OAAO;AAC3B;","names":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkX44Z53IGjs = require('./chunk-X44Z53IG.js');
4
+
5
+ // src/eval.ts
6
+ var _utils = require('@metamask/utils');
7
+ var _child_process = require('child_process');
8
+ var _path = require('path');
9
+ var SnapEvalError = class extends Error {
10
+ constructor(message, output) {
11
+ super(message);
12
+ this.name = "SnapEvalError";
13
+ this.output = output;
14
+ }
15
+ };
16
+ async function evalBundle(bundlePath) {
17
+ await _chunkX44Z53IGjs.validateFilePath.call(void 0, bundlePath);
18
+ return new Promise((resolve, reject) => {
19
+ const worker = _child_process.fork.call(void 0, _path.join.call(void 0, __dirname, "eval-worker.js"), [bundlePath], {
20
+ // To avoid printing the output of the worker to the console, we set
21
+ // `stdio` to `pipe` and handle the output ourselves.
22
+ stdio: "pipe"
23
+ });
24
+ let stdout = "";
25
+ let stderr = "";
26
+ _utils.assert.call(void 0, worker.stdout, "`stdout` should be defined.");
27
+ _utils.assert.call(void 0, worker.stderr, "`stderr` should be defined.");
28
+ worker.stdout.on("data", (data) => {
29
+ stdout += data.toString();
30
+ });
31
+ worker.stderr.on("data", (data) => {
32
+ stderr += data.toString();
33
+ });
34
+ worker.on("exit", (exitCode) => {
35
+ const output = {
36
+ stdout,
37
+ stderr
38
+ };
39
+ if (exitCode === 0) {
40
+ return resolve(output);
41
+ }
42
+ return reject(
43
+ new SnapEvalError(
44
+ `Process exited with non-zero exit code: ${exitCode}.`,
45
+ output
46
+ )
47
+ );
48
+ });
49
+ });
50
+ }
51
+
52
+
53
+
54
+
55
+ exports.SnapEvalError = SnapEvalError; exports.evalBundle = evalBundle;
56
+ //# sourceMappingURL=chunk-LBRWAC27.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/eval.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,YAAY;AASd,IAAM,gBAAN,cAA4B,MAAM;AAAA,EAGvC,YAAY,SAAiB,QAAoB;AAC/C,UAAM,OAAO;AAEb,SAAK,OAAO;AACZ,SAAK,SAAS;AAAA,EAChB;AACF;AASA,eAAsB,WAAW,YAAyC;AACxE,QAAM,iBAAiB,UAAU;AAEjC,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,UAAM,SAAS,KAAK,KAAK,WAAW,gBAAgB,GAAG,CAAC,UAAU,GAAG;AAAA;AAAA;AAAA,MAGnE,OAAO;AAAA,IACT,CAAC;AAED,QAAI,SAAS;AACb,QAAI,SAAS;AAEb,WAAO,OAAO,QAAQ,6BAA6B;AACnD,WAAO,OAAO,QAAQ,6BAA6B;AAEnD,WAAO,OAAO,GAAG,QAAQ,CAAC,SAAiB;AACzC,gBAAU,KAAK,SAAS;AAAA,IAC1B,CAAC;AAED,WAAO,OAAO,GAAG,QAAQ,CAAC,SAAiB;AACzC,gBAAU,KAAK,SAAS;AAAA,IAC1B,CAAC;AAED,WAAO,GAAG,QAAQ,CAAC,aAAqB;AACtC,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,MACF;AAEA,UAAI,aAAa,GAAG;AAClB,eAAO,QAAQ,MAAM;AAAA,MACvB;AAEA,aAAO;AAAA,QACL,IAAI;AAAA,UACF,2CAA2C,QAAQ;AAAA,UACnD;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH","sourcesContent":["import { assert } from '@metamask/utils';\nimport { fork } from 'child_process';\nimport { join } from 'path';\n\nimport { validateFilePath } from './fs';\n\nexport type EvalOutput = {\n stdout: string;\n stderr: string;\n};\n\nexport class SnapEvalError extends Error {\n readonly output: EvalOutput;\n\n constructor(message: string, output: EvalOutput) {\n super(message);\n\n this.name = 'SnapEvalError';\n this.output = output;\n }\n}\n\n/**\n * Spawn a new process to run the provided bundle in.\n *\n * @param bundlePath - The path to the bundle to run.\n * @returns `null` if the worker ran successfully.\n * @throws If the worker failed to run successfully.\n */\nexport async function evalBundle(bundlePath: string): Promise<EvalOutput> {\n await validateFilePath(bundlePath);\n\n return new Promise((resolve, reject) => {\n const worker = fork(join(__dirname, 'eval-worker.js'), [bundlePath], {\n // To avoid printing the output of the worker to the console, we set\n // `stdio` to `pipe` and handle the output ourselves.\n stdio: 'pipe',\n });\n\n let stdout = '';\n let stderr = '';\n\n assert(worker.stdout, '`stdout` should be defined.');\n assert(worker.stderr, '`stderr` should be defined.');\n\n worker.stdout.on('data', (data: Buffer) => {\n stdout += data.toString();\n });\n\n worker.stderr.on('data', (data: Buffer) => {\n stderr += data.toString();\n });\n\n worker.on('exit', (exitCode: number) => {\n const output = {\n stdout,\n stderr,\n };\n\n if (exitCode === 0) {\n return resolve(output);\n }\n\n return reject(\n new SnapEvalError(\n `Process exited with non-zero exit code: ${exitCode}.`,\n output,\n ),\n );\n });\n });\n}\n"]}
@@ -0,0 +1,281 @@
1
+ import {
2
+ SnapIdStruct
3
+ } from "./chunk-2IWSQJKQ.mjs";
4
+ import {
5
+ ChainIdStruct
6
+ } from "./chunk-EXUEHPZ4.mjs";
7
+ import {
8
+ NameStruct,
9
+ uri
10
+ } from "./chunk-T6FWIDA6.mjs";
11
+ import {
12
+ KeyringOriginsStruct,
13
+ RpcOriginsStruct
14
+ } from "./chunk-DKDGMZFU.mjs";
15
+ import {
16
+ SIP_6_MAGIC_VALUE,
17
+ STATE_ENCRYPTION_MAGIC_VALUE
18
+ } from "./chunk-AS5P6JRP.mjs";
19
+ import {
20
+ isEqual
21
+ } from "./chunk-P252LKUT.mjs";
22
+ import {
23
+ CronjobSpecificationArrayStruct
24
+ } from "./chunk-EA2FOAEG.mjs";
25
+
26
+ // src/manifest/validation.ts
27
+ import { isValidBIP32PathSegment } from "@metamask/key-tree";
28
+ import {
29
+ assertStruct,
30
+ ChecksumStruct,
31
+ VersionStruct,
32
+ isValidSemVerRange,
33
+ inMilliseconds,
34
+ Duration
35
+ } from "@metamask/utils";
36
+ import {
37
+ array,
38
+ boolean,
39
+ create,
40
+ enums,
41
+ integer,
42
+ is,
43
+ literal,
44
+ object,
45
+ optional,
46
+ refine,
47
+ record,
48
+ size,
49
+ string,
50
+ type,
51
+ union,
52
+ intersection,
53
+ assign
54
+ } from "superstruct";
55
+ var FORBIDDEN_PURPOSES = [
56
+ SIP_6_MAGIC_VALUE,
57
+ STATE_ENCRYPTION_MAGIC_VALUE
58
+ ];
59
+ var FORBIDDEN_COIN_TYPES = [60];
60
+ var FORBIDDEN_PATHS = FORBIDDEN_COIN_TYPES.map((coinType) => [
61
+ "m",
62
+ "44'",
63
+ `${coinType}'`
64
+ ]);
65
+ var Bip32PathStruct = refine(
66
+ array(string()),
67
+ "BIP-32 path",
68
+ (path) => {
69
+ if (path.length === 0) {
70
+ return "Path must be a non-empty BIP-32 derivation path array";
71
+ }
72
+ if (path[0] !== "m") {
73
+ return 'Path must start with "m".';
74
+ }
75
+ if (path.length < 3) {
76
+ return "Paths must have a length of at least three.";
77
+ }
78
+ if (path.slice(1).some((part) => !isValidBIP32PathSegment(part))) {
79
+ return "Path must be a valid BIP-32 derivation path array.";
80
+ }
81
+ if (FORBIDDEN_PURPOSES.includes(path[1])) {
82
+ return `The purpose "${path[1]}" is not allowed for entropy derivation.`;
83
+ }
84
+ if (FORBIDDEN_PATHS.some(
85
+ (forbiddenPath) => isEqual(path.slice(0, forbiddenPath.length), forbiddenPath)
86
+ )) {
87
+ return `The path "${path.join(
88
+ "/"
89
+ )}" is not allowed for entropy derivation.`;
90
+ }
91
+ return true;
92
+ }
93
+ );
94
+ var bip32entropy = (struct) => refine(struct, "BIP-32 entropy", (value) => {
95
+ if (value.curve === "ed25519" && value.path.slice(1).some((part) => !part.endsWith("'"))) {
96
+ return "Ed25519 does not support unhardened paths.";
97
+ }
98
+ return true;
99
+ });
100
+ var Bip32EntropyStruct = bip32entropy(
101
+ type({
102
+ path: Bip32PathStruct,
103
+ curve: enums(["ed25519", "secp256k1"])
104
+ })
105
+ );
106
+ var SnapGetBip32EntropyPermissionsStruct = size(
107
+ array(Bip32EntropyStruct),
108
+ 1,
109
+ Infinity
110
+ );
111
+ var SemVerRangeStruct = refine(string(), "SemVer range", (value) => {
112
+ if (isValidSemVerRange(value)) {
113
+ return true;
114
+ }
115
+ return "Expected a valid SemVer range.";
116
+ });
117
+ var SnapIdsStruct = refine(
118
+ record(SnapIdStruct, object({ version: optional(SemVerRangeStruct) })),
119
+ "SnapIds",
120
+ (value) => {
121
+ if (Object.keys(value).length === 0) {
122
+ return false;
123
+ }
124
+ return true;
125
+ }
126
+ );
127
+ var ChainIdsStruct = size(array(ChainIdStruct), 1, Infinity);
128
+ var LookupMatchersStruct = union([
129
+ object({
130
+ tlds: size(array(string()), 1, Infinity)
131
+ }),
132
+ object({
133
+ schemes: size(array(string()), 1, Infinity)
134
+ }),
135
+ object({
136
+ tlds: size(array(string()), 1, Infinity),
137
+ schemes: size(array(string()), 1, Infinity)
138
+ })
139
+ ]);
140
+ var MINIMUM_REQUEST_TIMEOUT = inMilliseconds(5, Duration.Second);
141
+ var MAXIMUM_REQUEST_TIMEOUT = inMilliseconds(3, Duration.Minute);
142
+ var MaxRequestTimeStruct = size(
143
+ integer(),
144
+ MINIMUM_REQUEST_TIMEOUT,
145
+ MAXIMUM_REQUEST_TIMEOUT
146
+ );
147
+ var HandlerCaveatsStruct = object({
148
+ maxRequestTime: optional(MaxRequestTimeStruct)
149
+ });
150
+ var PermissionsStruct = type({
151
+ "endowment:cronjob": optional(
152
+ assign(
153
+ HandlerCaveatsStruct,
154
+ object({ jobs: CronjobSpecificationArrayStruct })
155
+ )
156
+ ),
157
+ "endowment:ethereum-provider": optional(object({})),
158
+ "endowment:keyring": optional(
159
+ assign(HandlerCaveatsStruct, KeyringOriginsStruct)
160
+ ),
161
+ "endowment:lifecycle-hooks": optional(HandlerCaveatsStruct),
162
+ "endowment:name-lookup": optional(
163
+ assign(
164
+ HandlerCaveatsStruct,
165
+ object({
166
+ chains: optional(ChainIdsStruct),
167
+ matchers: optional(LookupMatchersStruct)
168
+ })
169
+ )
170
+ ),
171
+ "endowment:network-access": optional(object({})),
172
+ "endowment:page-home": optional(HandlerCaveatsStruct),
173
+ "endowment:rpc": optional(RpcOriginsStruct),
174
+ "endowment:signature-insight": optional(
175
+ assign(
176
+ HandlerCaveatsStruct,
177
+ object({
178
+ allowSignatureOrigin: optional(boolean())
179
+ })
180
+ )
181
+ ),
182
+ "endowment:transaction-insight": optional(
183
+ assign(
184
+ HandlerCaveatsStruct,
185
+ object({
186
+ allowTransactionOrigin: optional(boolean())
187
+ })
188
+ )
189
+ ),
190
+ "endowment:webassembly": optional(object({})),
191
+ snap_dialog: optional(object({})),
192
+ snap_manageState: optional(object({})),
193
+ snap_manageAccounts: optional(object({})),
194
+ snap_notify: optional(object({})),
195
+ snap_getBip32Entropy: optional(SnapGetBip32EntropyPermissionsStruct),
196
+ snap_getBip32PublicKey: optional(SnapGetBip32EntropyPermissionsStruct),
197
+ snap_getBip44Entropy: optional(
198
+ size(
199
+ array(object({ coinType: size(integer(), 0, 2 ** 32 - 1) })),
200
+ 1,
201
+ Infinity
202
+ )
203
+ ),
204
+ snap_getEntropy: optional(object({})),
205
+ snap_getLocale: optional(object({})),
206
+ wallet_snap: optional(SnapIdsStruct)
207
+ });
208
+ var SnapAuxilaryFilesStruct = array(string());
209
+ var InitialConnectionsStruct = record(
210
+ intersection([string(), uri()]),
211
+ object({})
212
+ );
213
+ var SnapManifestStruct = object({
214
+ version: VersionStruct,
215
+ description: size(string(), 1, 280),
216
+ proposedName: size(string(), 1, 214),
217
+ repository: optional(
218
+ object({
219
+ type: size(string(), 1, Infinity),
220
+ url: size(string(), 1, Infinity)
221
+ })
222
+ ),
223
+ source: object({
224
+ shasum: ChecksumStruct,
225
+ location: object({
226
+ npm: object({
227
+ filePath: size(string(), 1, Infinity),
228
+ iconPath: optional(size(string(), 1, Infinity)),
229
+ packageName: NameStruct,
230
+ registry: union([
231
+ literal("https://registry.npmjs.org"),
232
+ literal("https://registry.npmjs.org/")
233
+ ])
234
+ })
235
+ }),
236
+ files: optional(SnapAuxilaryFilesStruct),
237
+ locales: optional(SnapAuxilaryFilesStruct)
238
+ }),
239
+ initialConnections: optional(InitialConnectionsStruct),
240
+ initialPermissions: PermissionsStruct,
241
+ manifestVersion: literal("0.1"),
242
+ $schema: optional(string())
243
+ // enables JSON-Schema linting in VSC and other IDEs
244
+ });
245
+ function isSnapManifest(value) {
246
+ return is(value, SnapManifestStruct);
247
+ }
248
+ function assertIsSnapManifest(value) {
249
+ assertStruct(
250
+ value,
251
+ SnapManifestStruct,
252
+ `"${"snap.manifest.json" /* Manifest */}" is invalid`
253
+ );
254
+ }
255
+ function createSnapManifest(value) {
256
+ return create(value, SnapManifestStruct);
257
+ }
258
+
259
+ export {
260
+ FORBIDDEN_COIN_TYPES,
261
+ Bip32PathStruct,
262
+ bip32entropy,
263
+ Bip32EntropyStruct,
264
+ SnapGetBip32EntropyPermissionsStruct,
265
+ SemVerRangeStruct,
266
+ SnapIdsStruct,
267
+ ChainIdsStruct,
268
+ LookupMatchersStruct,
269
+ MINIMUM_REQUEST_TIMEOUT,
270
+ MAXIMUM_REQUEST_TIMEOUT,
271
+ MaxRequestTimeStruct,
272
+ HandlerCaveatsStruct,
273
+ PermissionsStruct,
274
+ SnapAuxilaryFilesStruct,
275
+ InitialConnectionsStruct,
276
+ SnapManifestStruct,
277
+ isSnapManifest,
278
+ assertIsSnapManifest,
279
+ createSnapManifest
280
+ };
281
+ //# sourceMappingURL=chunk-LCWDLIK5.mjs.map