@metamask/snaps-utils 7.7.0 → 7.8.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 (210) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/dist/auxiliary-files.js +8 -5
  3. package/dist/auxiliary-files.mjs +9 -6
  4. package/dist/base64.js +4 -4
  5. package/dist/base64.mjs +3 -3
  6. package/dist/bytes.js +3 -3
  7. package/dist/bytes.mjs +2 -2
  8. package/dist/checksum.js +4 -4
  9. package/dist/checksum.mjs +3 -3
  10. package/dist/{chunk-7LOVOG6X.js → chunk-25ESL4NL.js} +27 -27
  11. package/dist/{chunk-6YRUDGNL.mjs → chunk-3S4INAGA.mjs} +2 -2
  12. package/dist/{chunk-I4TRH6VO.mjs → chunk-4AA3TKRJ.mjs} +2 -2
  13. package/dist/chunk-4AA3TKRJ.mjs.map +1 -0
  14. package/dist/{chunk-2LBN5T56.js → chunk-4ZJOU3LR.js} +9 -2
  15. package/dist/chunk-4ZJOU3LR.js.map +1 -0
  16. package/dist/{chunk-ZJKG5Q2C.js → chunk-5I5WPAVD.js} +20 -20
  17. package/dist/chunk-5I5WPAVD.js.map +1 -0
  18. package/dist/chunk-5WKQI22S.js +7 -0
  19. package/dist/chunk-5WKQI22S.js.map +1 -0
  20. package/dist/{chunk-J5B5YRG5.js → chunk-6ATNGN44.js} +35 -2
  21. package/dist/chunk-6ATNGN44.js.map +1 -0
  22. package/dist/{chunk-G6BVXNNZ.js → chunk-6HXIPMBN.js} +3 -3
  23. package/dist/{chunk-5ZIWKLVB.mjs → chunk-7HLSXEHK.mjs} +35 -2
  24. package/dist/chunk-7HLSXEHK.mjs.map +1 -0
  25. package/dist/{chunk-T6FWIDA6.mjs → chunk-AJNKQYKP.mjs} +3 -3
  26. package/dist/chunk-AJNKQYKP.mjs.map +1 -0
  27. package/dist/{chunk-MLOQHUOY.js → chunk-AMW2VJ3N.js} +3 -3
  28. package/dist/{chunk-K2OTEZZZ.mjs → chunk-ANYNWSCA.mjs} +11 -4
  29. package/dist/chunk-ANYNWSCA.mjs.map +1 -0
  30. package/dist/{chunk-R5DO7T2D.js → chunk-B5GNTDE2.js} +2 -2
  31. package/dist/chunk-B5GNTDE2.js.map +1 -0
  32. package/dist/{chunk-WZ457PEQ.mjs → chunk-CJK7DDV2.mjs} +2 -2
  33. package/dist/chunk-CJK7DDV2.mjs.map +1 -0
  34. package/dist/{chunk-ZJRWU4AJ.mjs → chunk-DE22V5AO.mjs} +4 -1
  35. package/dist/{chunk-ZJRWU4AJ.mjs.map → chunk-DE22V5AO.mjs.map} +1 -1
  36. package/dist/{chunk-HJYRGKCX.js → chunk-DEQUNIME.js} +4 -1
  37. package/dist/chunk-DEQUNIME.js.map +1 -0
  38. package/dist/chunk-F6G67XQ4.js +1 -0
  39. package/dist/{chunk-KSRDEGBC.js → chunk-FBZ5SU7X.js} +11 -1
  40. package/dist/chunk-FBZ5SU7X.js.map +1 -0
  41. package/dist/{chunk-NHGIT2SZ.mjs → chunk-FLSK6ISS.mjs} +6 -6
  42. package/dist/chunk-FLSK6ISS.mjs.map +1 -0
  43. package/dist/{chunk-YCIPY3UP.mjs → chunk-H35ZUVQT.mjs} +7 -7
  44. package/dist/chunk-H35ZUVQT.mjs.map +1 -0
  45. package/dist/{chunk-IPOE62V4.js → chunk-I2SWLZ34.js} +2 -2
  46. package/dist/chunk-I2SWLZ34.js.map +1 -0
  47. package/dist/{chunk-X3XJN63W.mjs → chunk-IELPPZJP.mjs} +11 -1
  48. package/dist/chunk-IELPPZJP.mjs.map +1 -0
  49. package/dist/{chunk-FOWIC2SO.mjs → chunk-JJTIVHFX.mjs} +2 -2
  50. package/dist/{chunk-NN2HXPZN.mjs → chunk-KCECQM3L.mjs} +11 -11
  51. package/dist/{chunk-EXUEHPZ4.mjs → chunk-LHQP7CUJ.mjs} +2 -2
  52. package/dist/chunk-LHQP7CUJ.mjs.map +1 -0
  53. package/dist/{chunk-6LOYTBS3.js → chunk-LOJA2ZS4.js} +2 -2
  54. package/dist/chunk-LOJA2ZS4.js.map +1 -0
  55. package/dist/{chunk-QSCKTRRU.js → chunk-MKFQAXRF.js} +3 -3
  56. package/dist/{chunk-UMZNVWEM.mjs → chunk-N5HVDE3P.mjs} +2 -2
  57. package/dist/chunk-N5HVDE3P.mjs.map +1 -0
  58. package/dist/{chunk-IHQPAJ2B.js → chunk-OBN2WDFU.js} +3 -3
  59. package/dist/chunk-OYZPBNHS.mjs +1 -0
  60. package/dist/chunk-PLNIERDY.js +34 -0
  61. package/dist/chunk-PLNIERDY.js.map +1 -0
  62. package/dist/{chunk-CMOSYNZR.js → chunk-PZNIU23I.js} +3 -3
  63. package/dist/chunk-PZNIU23I.js.map +1 -0
  64. package/dist/{chunk-K4B37F3L.js → chunk-RD6BN2TQ.js} +12 -12
  65. package/dist/chunk-RD6BN2TQ.js.map +1 -0
  66. package/dist/{chunk-F72OSQD6.js → chunk-SB43G2RI.js} +8 -8
  67. package/dist/chunk-SPCIIRSB.mjs +7 -0
  68. package/dist/chunk-SPCIIRSB.mjs.map +1 -0
  69. package/dist/{chunk-37VHIRUJ.js → chunk-T2VA4YJE.js} +11 -4
  70. package/dist/chunk-T2VA4YJE.js.map +1 -0
  71. package/dist/{chunk-473MIETW.js → chunk-UAINMOUU.js} +3 -3
  72. package/dist/chunk-VIAHMNTA.mjs +34 -0
  73. package/dist/chunk-VIAHMNTA.mjs.map +1 -0
  74. package/dist/{chunk-HEXZ4DFV.js → chunk-VOPTAKVG.js} +4 -4
  75. package/dist/chunk-VOPTAKVG.js.map +1 -0
  76. package/dist/{chunk-OJM2SKJZ.js → chunk-X2GGUOMY.js} +2 -2
  77. package/dist/chunk-X2GGUOMY.js.map +1 -0
  78. package/dist/{chunk-LBCPJOAV.mjs → chunk-X3UZCGO5.mjs} +2 -2
  79. package/dist/{chunk-HJRCBSNA.mjs → chunk-XF2AZMWG.mjs} +2 -2
  80. package/dist/{chunk-VDJTPG6F.js → chunk-XWYJQWHG.js} +3 -3
  81. package/dist/{chunk-PWLXPALG.mjs → chunk-XZ7362GQ.mjs} +2 -2
  82. package/dist/{chunk-IGMAXVPP.mjs → chunk-XZNJFDBF.mjs} +2 -2
  83. package/dist/{chunk-EA2FOAEG.mjs → chunk-YJHQZFR4.mjs} +9 -2
  84. package/dist/chunk-YJHQZFR4.mjs.map +1 -0
  85. package/dist/{chunk-BT2AEFEP.mjs → chunk-YNOZU43P.mjs} +6 -6
  86. package/dist/{chunk-EXEEDJ6N.mjs → chunk-ZXHR322P.mjs} +19 -19
  87. package/dist/chunk-ZXHR322P.mjs.map +1 -0
  88. package/dist/constants.js +8 -0
  89. package/dist/constants.js.map +1 -0
  90. package/dist/constants.mjs +8 -0
  91. package/dist/constants.mjs.map +1 -0
  92. package/dist/cronjob.js +2 -2
  93. package/dist/cronjob.mjs +1 -1
  94. package/dist/derivation-paths.js +2 -2
  95. package/dist/derivation-paths.mjs +1 -1
  96. package/dist/eval-worker.js +1 -1
  97. package/dist/eval-worker.mjs +1 -1
  98. package/dist/eval.js +5 -5
  99. package/dist/eval.mjs +4 -4
  100. package/dist/fs.js +4 -4
  101. package/dist/fs.mjs +3 -3
  102. package/dist/handlers.js +2 -2
  103. package/dist/handlers.mjs +1 -1
  104. package/dist/index.executionenv.js +4 -4
  105. package/dist/index.executionenv.mjs +15 -15
  106. package/dist/index.js +38 -30
  107. package/dist/index.mjs +75 -67
  108. package/dist/json-rpc.js +2 -2
  109. package/dist/json-rpc.mjs +1 -1
  110. package/dist/localization.js +2 -2
  111. package/dist/localization.mjs +1 -1
  112. package/dist/manifest/index.js +11 -11
  113. package/dist/manifest/index.mjs +10 -10
  114. package/dist/manifest/manifest.js +15 -15
  115. package/dist/manifest/manifest.mjs +14 -14
  116. package/dist/manifest/node.js +15 -15
  117. package/dist/manifest/node.mjs +14 -14
  118. package/dist/manifest/validation.js +11 -11
  119. package/dist/manifest/validation.mjs +10 -10
  120. package/dist/namespace.js +2 -2
  121. package/dist/namespace.mjs +1 -1
  122. package/dist/node.js +42 -34
  123. package/dist/node.mjs +79 -71
  124. package/dist/npm.js +15 -15
  125. package/dist/npm.mjs +14 -14
  126. package/dist/snaps.js +6 -6
  127. package/dist/snaps.mjs +5 -5
  128. package/dist/structs.js +2 -2
  129. package/dist/structs.mjs +1 -1
  130. package/dist/tsconfig.build.tsbuildinfo +1 -1
  131. package/dist/types/auxiliary-files.d.ts +7 -0
  132. package/dist/types/constants.d.ts +1 -0
  133. package/dist/types/cronjob.d.ts +22 -22
  134. package/dist/types/handlers.d.ts +39 -39
  135. package/dist/types/index.d.ts +1 -0
  136. package/dist/types/json-rpc.d.ts +7 -7
  137. package/dist/types/localization.d.ts +4 -4
  138. package/dist/types/manifest/validation.d.ts +1 -1
  139. package/dist/types/namespace.d.ts +18 -18
  140. package/dist/types/snaps.d.ts +1 -1
  141. package/dist/types/structs.d.ts +2 -3
  142. package/dist/types/types.d.ts +1 -1
  143. package/dist/types/ui.d.ts +10 -1
  144. package/dist/types/virtual-file/VirtualFile.d.ts +1 -0
  145. package/dist/types.js +2 -2
  146. package/dist/types.mjs +1 -1
  147. package/dist/ui.js +4 -2
  148. package/dist/ui.mjs +3 -1
  149. package/dist/validation.js +13 -13
  150. package/dist/validation.mjs +12 -12
  151. package/dist/versions.js +2 -2
  152. package/dist/versions.mjs +1 -1
  153. package/dist/virtual-file/VirtualFile.js +2 -2
  154. package/dist/virtual-file/VirtualFile.mjs +1 -1
  155. package/dist/virtual-file/index.js +2 -2
  156. package/dist/virtual-file/index.mjs +1 -1
  157. package/dist/virtual-file/node.js +3 -3
  158. package/dist/virtual-file/node.mjs +2 -2
  159. package/dist/virtual-file/toVirtualFile.js +3 -3
  160. package/dist/virtual-file/toVirtualFile.mjs +2 -2
  161. package/package.json +9 -9
  162. package/dist/chunk-2LBN5T56.js.map +0 -1
  163. package/dist/chunk-37VHIRUJ.js.map +0 -1
  164. package/dist/chunk-5ZIWKLVB.mjs.map +0 -1
  165. package/dist/chunk-6LOYTBS3.js.map +0 -1
  166. package/dist/chunk-7LOABHVW.js +0 -1
  167. package/dist/chunk-7MTAHOWC.mjs +0 -1
  168. package/dist/chunk-CMOSYNZR.js.map +0 -1
  169. package/dist/chunk-EA2FOAEG.mjs.map +0 -1
  170. package/dist/chunk-EXEEDJ6N.mjs.map +0 -1
  171. package/dist/chunk-EXUEHPZ4.mjs.map +0 -1
  172. package/dist/chunk-HEXZ4DFV.js.map +0 -1
  173. package/dist/chunk-HJYRGKCX.js.map +0 -1
  174. package/dist/chunk-I4TRH6VO.mjs.map +0 -1
  175. package/dist/chunk-IPOE62V4.js.map +0 -1
  176. package/dist/chunk-IXBJNVHK.js +0 -22
  177. package/dist/chunk-IXBJNVHK.js.map +0 -1
  178. package/dist/chunk-J5B5YRG5.js.map +0 -1
  179. package/dist/chunk-K2OTEZZZ.mjs.map +0 -1
  180. package/dist/chunk-K4B37F3L.js.map +0 -1
  181. package/dist/chunk-KMLVVVK3.mjs +0 -22
  182. package/dist/chunk-KMLVVVK3.mjs.map +0 -1
  183. package/dist/chunk-KSRDEGBC.js.map +0 -1
  184. package/dist/chunk-NHGIT2SZ.mjs.map +0 -1
  185. package/dist/chunk-OJM2SKJZ.js.map +0 -1
  186. package/dist/chunk-R5DO7T2D.js.map +0 -1
  187. package/dist/chunk-T6FWIDA6.mjs.map +0 -1
  188. package/dist/chunk-UMZNVWEM.mjs.map +0 -1
  189. package/dist/chunk-WZ457PEQ.mjs.map +0 -1
  190. package/dist/chunk-X3XJN63W.mjs.map +0 -1
  191. package/dist/chunk-YCIPY3UP.mjs.map +0 -1
  192. package/dist/chunk-ZJKG5Q2C.js.map +0 -1
  193. /package/dist/{chunk-7LOVOG6X.js.map → chunk-25ESL4NL.js.map} +0 -0
  194. /package/dist/{chunk-6YRUDGNL.mjs.map → chunk-3S4INAGA.mjs.map} +0 -0
  195. /package/dist/{chunk-G6BVXNNZ.js.map → chunk-6HXIPMBN.js.map} +0 -0
  196. /package/dist/{chunk-MLOQHUOY.js.map → chunk-AMW2VJ3N.js.map} +0 -0
  197. /package/dist/{chunk-7LOABHVW.js.map → chunk-F6G67XQ4.js.map} +0 -0
  198. /package/dist/{chunk-FOWIC2SO.mjs.map → chunk-JJTIVHFX.mjs.map} +0 -0
  199. /package/dist/{chunk-NN2HXPZN.mjs.map → chunk-KCECQM3L.mjs.map} +0 -0
  200. /package/dist/{chunk-QSCKTRRU.js.map → chunk-MKFQAXRF.js.map} +0 -0
  201. /package/dist/{chunk-IHQPAJ2B.js.map → chunk-OBN2WDFU.js.map} +0 -0
  202. /package/dist/{chunk-7MTAHOWC.mjs.map → chunk-OYZPBNHS.mjs.map} +0 -0
  203. /package/dist/{chunk-F72OSQD6.js.map → chunk-SB43G2RI.js.map} +0 -0
  204. /package/dist/{chunk-473MIETW.js.map → chunk-UAINMOUU.js.map} +0 -0
  205. /package/dist/{chunk-LBCPJOAV.mjs.map → chunk-X3UZCGO5.mjs.map} +0 -0
  206. /package/dist/{chunk-HJRCBSNA.mjs.map → chunk-XF2AZMWG.mjs.map} +0 -0
  207. /package/dist/{chunk-PWLXPALG.mjs.map → chunk-XWYJQWHG.js.map} +0 -0
  208. /package/dist/{chunk-VDJTPG6F.js.map → chunk-XZ7362GQ.mjs.map} +0 -0
  209. /package/dist/{chunk-IGMAXVPP.mjs.map → chunk-XZNJFDBF.mjs.map} +0 -0
  210. /package/dist/{chunk-BT2AEFEP.mjs.map → chunk-YNOZU43P.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [7.8.1]
10
+ ### Changed
11
+ - Bump `@metamask/base-controller` from `^6.0.1` to `^6.0.2` ([#2593](https://github.com/metamask/snaps/pull/2593))
12
+ - Bump `@metamask/permission-controller` from `^10.0.1` to `^11.0.0` ([#2593](https://github.com/metamask/snaps/pull/2593))
13
+
14
+ ## [7.8.0]
15
+ ### Added
16
+ - Move `serialiseJsx` function from `snaps-jest` to `snaps-utils` ([#2409](https://github.com/metamask/snaps/pull/2409))
17
+
18
+ ### Changed
19
+ - Bump `@metamask/base-controller` from `^6.0.0` to `^6.0.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
20
+ - Bump `@metamask/key-tree` from `^9.1.1` to `^9.1.2` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
21
+ - Bump `@metamask/permission-controller` from `^10.0.0` to `^10.0.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
22
+ - Bump `@metamask/rpc-errors` from `^6.2.1` to `^6.3.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
23
+ - Bump `@metamask/snaps-registry` from `^3.1.0` to `^3.2.1` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
24
+ - Bump `@metamask/utils` from `^8.3.0` to `^9.1.0` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
25
+
26
+ ### Fixed
27
+ - Replace `superstruct` with ESM-compatible `@metamask/superstruct` `^3.1.0` ([#2445](https://github.com/MetaMask/snaps/pull/2445))
28
+ - This fixes the issue of this package being unusable by any TypeScript project that uses `Node16` or `NodeNext` as its `moduleResolution` option.
29
+ - Fix `allowedOrigins` bypass caused by unterminated regex ([#2576](https://github.com/metamask/snaps/pull/2576))
30
+
9
31
  ## [7.7.0]
10
32
  ### Added
11
33
  - Support conditional children in most JSX components ([#2506](https://github.com/MetaMask/snaps/pull/2506))
@@ -265,7 +287,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
265
287
  - The version of the package no longer needs to match the version of all other
266
288
  MetaMask Snaps packages.
267
289
 
268
- [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.7.0...HEAD
290
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.8.1...HEAD
291
+ [7.8.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.8.0...@metamask/snaps-utils@7.8.1
292
+ [7.8.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.7.0...@metamask/snaps-utils@7.8.0
269
293
  [7.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.6.0...@metamask/snaps-utils@7.7.0
270
294
  [7.6.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.5.0...@metamask/snaps-utils@7.6.0
271
295
  [7.5.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-utils@7.4.1...@metamask/snaps-utils@7.5.0
@@ -1,12 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkIXBJNVHKjs = require('./chunk-IXBJNVHK.js');
4
- require('./chunk-IHQPAJ2B.js');
5
- require('./chunk-473MIETW.js');
6
- require('./chunk-HJYRGKCX.js');
3
+
4
+ var _chunkPLNIERDYjs = require('./chunk-PLNIERDY.js');
5
+ require('./chunk-OBN2WDFU.js');
6
+ require('./chunk-UAINMOUU.js');
7
+ require('./chunk-DEQUNIME.js');
7
8
  require('./chunk-NUCLSR2G.js');
9
+ require('./chunk-5WKQI22S.js');
8
10
  require('./chunk-PHUTP7NB.js');
9
11
 
10
12
 
11
- exports.encodeAuxiliaryFile = _chunkIXBJNVHKjs.encodeAuxiliaryFile;
13
+
14
+ exports.encodeAuxiliaryFile = _chunkPLNIERDYjs.encodeAuxiliaryFile; exports.validateAuxiliaryFiles = _chunkPLNIERDYjs.validateAuxiliaryFiles;
12
15
  //# sourceMappingURL=auxiliary-files.js.map
@@ -1,12 +1,15 @@
1
1
  import {
2
- encodeAuxiliaryFile
3
- } from "./chunk-KMLVVVK3.mjs";
4
- import "./chunk-FOWIC2SO.mjs";
5
- import "./chunk-6YRUDGNL.mjs";
6
- import "./chunk-ZJRWU4AJ.mjs";
2
+ encodeAuxiliaryFile,
3
+ validateAuxiliaryFiles
4
+ } from "./chunk-VIAHMNTA.mjs";
5
+ import "./chunk-JJTIVHFX.mjs";
6
+ import "./chunk-3S4INAGA.mjs";
7
+ import "./chunk-DE22V5AO.mjs";
7
8
  import "./chunk-Z2JQNSVL.mjs";
9
+ import "./chunk-SPCIIRSB.mjs";
8
10
  import "./chunk-JMDSN227.mjs";
9
11
  export {
10
- encodeAuxiliaryFile
12
+ encodeAuxiliaryFile,
13
+ validateAuxiliaryFiles
11
14
  };
12
15
  //# sourceMappingURL=auxiliary-files.mjs.map
package/dist/base64.js CHANGED
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkIHQPAJ2Bjs = require('./chunk-IHQPAJ2B.js');
5
- require('./chunk-473MIETW.js');
6
- require('./chunk-HJYRGKCX.js');
4
+ var _chunkOBN2WDFUjs = require('./chunk-OBN2WDFU.js');
5
+ require('./chunk-UAINMOUU.js');
6
+ require('./chunk-DEQUNIME.js');
7
7
  require('./chunk-NUCLSR2G.js');
8
8
  require('./chunk-PHUTP7NB.js');
9
9
 
10
10
 
11
11
 
12
- exports.decodeBase64 = _chunkIHQPAJ2Bjs.decodeBase64; exports.encodeBase64 = _chunkIHQPAJ2Bjs.encodeBase64;
12
+ exports.decodeBase64 = _chunkOBN2WDFUjs.decodeBase64; exports.encodeBase64 = _chunkOBN2WDFUjs.encodeBase64;
13
13
  //# sourceMappingURL=base64.js.map
package/dist/base64.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  decodeBase64,
3
3
  encodeBase64
4
- } from "./chunk-FOWIC2SO.mjs";
5
- import "./chunk-6YRUDGNL.mjs";
6
- import "./chunk-ZJRWU4AJ.mjs";
4
+ } from "./chunk-JJTIVHFX.mjs";
5
+ import "./chunk-3S4INAGA.mjs";
6
+ import "./chunk-DE22V5AO.mjs";
7
7
  import "./chunk-Z2JQNSVL.mjs";
8
8
  import "./chunk-JMDSN227.mjs";
9
9
  export {
package/dist/bytes.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk473MIETWjs = require('./chunk-473MIETW.js');
4
- require('./chunk-HJYRGKCX.js');
3
+ var _chunkUAINMOUUjs = require('./chunk-UAINMOUU.js');
4
+ require('./chunk-DEQUNIME.js');
5
5
  require('./chunk-NUCLSR2G.js');
6
6
  require('./chunk-PHUTP7NB.js');
7
7
 
8
8
 
9
- exports.getBytes = _chunk473MIETWjs.getBytes;
9
+ exports.getBytes = _chunkUAINMOUUjs.getBytes;
10
10
  //# sourceMappingURL=bytes.js.map
package/dist/bytes.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getBytes
3
- } from "./chunk-6YRUDGNL.mjs";
4
- import "./chunk-ZJRWU4AJ.mjs";
3
+ } from "./chunk-3S4INAGA.mjs";
4
+ import "./chunk-DE22V5AO.mjs";
5
5
  import "./chunk-Z2JQNSVL.mjs";
6
6
  import "./chunk-JMDSN227.mjs";
7
7
  export {
package/dist/checksum.js CHANGED
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkMLOQHUOYjs = require('./chunk-MLOQHUOY.js');
5
- require('./chunk-473MIETW.js');
6
- require('./chunk-HJYRGKCX.js');
4
+ var _chunkAMW2VJ3Njs = require('./chunk-AMW2VJ3N.js');
5
+ require('./chunk-UAINMOUU.js');
6
+ require('./chunk-DEQUNIME.js');
7
7
  require('./chunk-NUCLSR2G.js');
8
8
  require('./chunk-PHUTP7NB.js');
9
9
 
10
10
 
11
11
 
12
- exports.checksum = _chunkMLOQHUOYjs.checksum; exports.checksumFiles = _chunkMLOQHUOYjs.checksumFiles;
12
+ exports.checksum = _chunkAMW2VJ3Njs.checksum; exports.checksumFiles = _chunkAMW2VJ3Njs.checksumFiles;
13
13
  //# sourceMappingURL=checksum.js.map
package/dist/checksum.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  checksum,
3
3
  checksumFiles
4
- } from "./chunk-HJRCBSNA.mjs";
5
- import "./chunk-6YRUDGNL.mjs";
6
- import "./chunk-ZJRWU4AJ.mjs";
4
+ } from "./chunk-XF2AZMWG.mjs";
5
+ import "./chunk-3S4INAGA.mjs";
6
+ import "./chunk-DE22V5AO.mjs";
7
7
  import "./chunk-Z2JQNSVL.mjs";
8
8
  import "./chunk-JMDSN227.mjs";
9
9
  export {
@@ -1,32 +1,32 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkZJKG5Q2Cjs = require('./chunk-ZJKG5Q2C.js');
3
+ var _chunk5I5WPAVDjs = require('./chunk-5I5WPAVD.js');
4
4
 
5
5
 
6
6
 
7
7
 
8
- var _chunkK4B37F3Ljs = require('./chunk-K4B37F3L.js');
8
+ var _chunkRD6BN2TQjs = require('./chunk-RD6BN2TQ.js');
9
9
 
10
10
 
11
11
 
12
- var _chunkW7KRIAIXjs = require('./chunk-W7KRIAIX.js');
12
+ var _chunkB5GNTDE2js = require('./chunk-B5GNTDE2.js');
13
13
 
14
14
 
15
15
 
16
- var _chunkCMOSYNZRjs = require('./chunk-CMOSYNZR.js');
16
+ var _chunkW7KRIAIXjs = require('./chunk-W7KRIAIX.js');
17
17
 
18
18
 
19
19
 
20
- var _chunkR5DO7T2Djs = require('./chunk-R5DO7T2D.js');
20
+ var _chunkPZNIU23Ijs = require('./chunk-PZNIU23I.js');
21
21
 
22
22
 
23
- var _chunkG6BVXNNZjs = require('./chunk-G6BVXNNZ.js');
23
+ var _chunk6HXIPMBNjs = require('./chunk-6HXIPMBN.js');
24
24
 
25
25
 
26
- var _chunkQSCKTRRUjs = require('./chunk-QSCKTRRU.js');
26
+ var _chunkMKFQAXRFjs = require('./chunk-MKFQAXRF.js');
27
27
 
28
28
 
29
- var _chunkHJYRGKCXjs = require('./chunk-HJYRGKCX.js');
29
+ var _chunkDEQUNIMEjs = require('./chunk-DEQUNIME.js');
30
30
 
31
31
 
32
32
  var _chunkNUCLSR2Gjs = require('./chunk-NUCLSR2G.js');
@@ -53,9 +53,9 @@ async function checkManifest(basePath, writeManifest = true, sourceCode, writeFi
53
53
  const errors = [];
54
54
  let updated = false;
55
55
  const manifestPath = _path2.default.join(basePath, "snap.manifest.json" /* Manifest */);
56
- const manifestFile = await _chunkG6BVXNNZjs.readJsonFile.call(void 0, manifestPath);
56
+ const manifestFile = await _chunk6HXIPMBNjs.readJsonFile.call(void 0, manifestPath);
57
57
  const unvalidatedManifest = manifestFile.result;
58
- const packageFile = await _chunkG6BVXNNZjs.readJsonFile.call(void 0,
58
+ const packageFile = await _chunk6HXIPMBNjs.readJsonFile.call(void 0,
59
59
  _path2.default.join(basePath, "package.json" /* PackageJson */)
60
60
  );
61
61
  const auxiliaryFilePaths = getSnapFilePaths(
@@ -83,12 +83,12 @@ async function checkManifest(basePath, writeManifest = true, sourceCode, writeFi
83
83
  try {
84
84
  ({ manifest } = await validateNpmSnap(snapFiles));
85
85
  } catch (error) {
86
- if (error instanceof _chunkK4B37F3Ljs.ProgrammaticallyFixableSnapError) {
86
+ if (error instanceof _chunkRD6BN2TQjs.ProgrammaticallyFixableSnapError) {
87
87
  errors.push(error.message);
88
88
  const partiallyValidatedFiles = snapFiles;
89
89
  let isInvalid = true;
90
90
  let currentError = error;
91
- const maxAttempts = Object.keys(_chunkCMOSYNZRjs.SnapValidationFailureReason).length;
91
+ const maxAttempts = Object.keys(_chunkPZNIU23Ijs.SnapValidationFailureReason).length;
92
92
  for (let attempts = 1; isInvalid && attempts <= maxAttempts; attempts++) {
93
93
  manifest = await fixManifest(
94
94
  manifest ? { ...partiallyValidatedFiles, manifest } : partiallyValidatedFiles,
@@ -102,7 +102,7 @@ async function checkManifest(basePath, writeManifest = true, sourceCode, writeFi
102
102
  isInvalid = false;
103
103
  } catch (nextValidationError) {
104
104
  currentError = nextValidationError;
105
- if (!(nextValidationError instanceof _chunkK4B37F3Ljs.ProgrammaticallyFixableSnapError) || attempts === maxAttempts && !isInvalid) {
105
+ if (!(nextValidationError instanceof _chunkRD6BN2TQjs.ProgrammaticallyFixableSnapError) || attempts === maxAttempts && !isInvalid) {
106
106
  throw new Error(
107
107
  `Internal error: Failed to fix manifest. This is a bug, please report it. Reason:
108
108
  ${error.message}`
@@ -180,7 +180,7 @@ async function fixManifest(snapFiles, error) {
180
180
  manifestCopy.repository = packageJson.result.repository ? _chunkNUCLSR2Gjs.deepClone.call(void 0, packageJson.result.repository) : void 0;
181
181
  break;
182
182
  case '"shasum" field mismatch' /* ShasumMismatch */:
183
- manifestCopy.source.shasum = await _chunkK4B37F3Ljs.getSnapChecksum.call(void 0, snapFiles);
183
+ manifestCopy.source.shasum = await _chunkRD6BN2TQjs.getSnapChecksum.call(void 0, snapFiles);
184
184
  break;
185
185
  default:
186
186
  _utils.assertExhaustive.call(void 0, error.reason);
@@ -198,13 +198,13 @@ async function getSnapSourceCode(basePath, manifest, sourceCode) {
198
198
  return void 0;
199
199
  }
200
200
  if (sourceCode) {
201
- return new (0, _chunkHJYRGKCXjs.VirtualFile)({
201
+ return new (0, _chunkDEQUNIMEjs.VirtualFile)({
202
202
  path: _path2.default.join(basePath, sourceFilePath),
203
203
  value: sourceCode
204
204
  });
205
205
  }
206
206
  try {
207
- const virtualFile = await _chunkQSCKTRRUjs.readVirtualFile.call(void 0,
207
+ const virtualFile = await _chunkMKFQAXRFjs.readVirtualFile.call(void 0,
208
208
  _path2.default.join(basePath, sourceFilePath),
209
209
  "utf8"
210
210
  );
@@ -224,7 +224,7 @@ async function getSnapIcon(basePath, manifest) {
224
224
  return void 0;
225
225
  }
226
226
  try {
227
- const virtualFile = await _chunkQSCKTRRUjs.readVirtualFile.call(void 0,
227
+ const virtualFile = await _chunkMKFQAXRFjs.readVirtualFile.call(void 0,
228
228
  _path2.default.join(basePath, iconPath),
229
229
  "utf8"
230
230
  );
@@ -251,7 +251,7 @@ async function getSnapFiles(basePath, paths, encoding = "utf8") {
251
251
  try {
252
252
  return await Promise.all(
253
253
  paths.map(
254
- async (filePath) => _chunkQSCKTRRUjs.readVirtualFile.call(void 0, _path2.default.join(basePath, filePath), encoding)
254
+ async (filePath) => _chunkMKFQAXRFjs.readVirtualFile.call(void 0, _path2.default.join(basePath, filePath), encoding)
255
255
  )
256
256
  );
257
257
  } catch (error) {
@@ -287,13 +287,13 @@ async function validateNpmSnapManifest({
287
287
  const manifestPackageVersion = manifest.result.version;
288
288
  const manifestRepository = manifest.result.repository;
289
289
  if (packageJsonName !== manifestPackageName) {
290
- throw new (0, _chunkK4B37F3Ljs.ProgrammaticallyFixableSnapError)(
290
+ throw new (0, _chunkRD6BN2TQjs.ProgrammaticallyFixableSnapError)(
291
291
  `"${"snap.manifest.json" /* Manifest */}" npm package name ("${manifestPackageName}") does not match the "${"package.json" /* PackageJson */}" "name" field ("${packageJsonName}").`,
292
292
  '"name" field mismatch' /* NameMismatch */
293
293
  );
294
294
  }
295
295
  if (packageJsonVersion !== manifestPackageVersion) {
296
- throw new (0, _chunkK4B37F3Ljs.ProgrammaticallyFixableSnapError)(
296
+ throw new (0, _chunkRD6BN2TQjs.ProgrammaticallyFixableSnapError)(
297
297
  `"${"snap.manifest.json" /* Manifest */}" npm package version ("${manifestPackageVersion}") does not match the "${"package.json" /* PackageJson */}" "version" field ("${packageJsonVersion}").`,
298
298
  '"version" field mismatch' /* VersionMismatch */
299
299
  );
@@ -303,12 +303,12 @@ async function validateNpmSnapManifest({
303
303
  // or `null` in the Snap manifest due to TS@<4.4 issues.
304
304
  (packageJsonRepository || manifestRepository) && !_fastdeepequal2.default.call(void 0, packageJsonRepository, manifestRepository)
305
305
  ) {
306
- throw new (0, _chunkK4B37F3Ljs.ProgrammaticallyFixableSnapError)(
306
+ throw new (0, _chunkRD6BN2TQjs.ProgrammaticallyFixableSnapError)(
307
307
  `"${"snap.manifest.json" /* Manifest */}" "repository" field does not match the "${"package.json" /* PackageJson */}" "repository" field.`,
308
308
  '"repository" field mismatch' /* RepositoryMismatch */
309
309
  );
310
310
  }
311
- await _chunkK4B37F3Ljs.validateSnapShasum.call(void 0,
311
+ await _chunkRD6BN2TQjs.validateSnapShasum.call(void 0,
312
312
  { manifest, sourceCode, svgIcon, auxiliaryFiles, localizationFiles },
313
313
  `"${"snap.manifest.json" /* Manifest */}" "shasum" field does not match computed shasum.`
314
314
  );
@@ -342,7 +342,7 @@ async function validateNpmSnap(snapFiles, errorPrefix) {
342
342
  localizationFiles
343
343
  } = snapFiles;
344
344
  try {
345
- _chunkZJKG5Q2Cjs.assertIsSnapManifest.call(void 0, manifest.result);
345
+ _chunk5I5WPAVDjs.assertIsSnapManifest.call(void 0, manifest.result);
346
346
  } catch (error) {
347
347
  throw new Error(`${errorPrefix ?? ""}${error.message}`);
348
348
  }
@@ -352,7 +352,7 @@ async function validateNpmSnap(snapFiles, errorPrefix) {
352
352
  throw new Error(`Missing file "${iconPath}".`);
353
353
  }
354
354
  try {
355
- _chunkCMOSYNZRjs.assertIsNpmSnapPackageJson.call(void 0, packageJson.result);
355
+ _chunkPZNIU23Ijs.assertIsNpmSnapPackageJson.call(void 0, packageJson.result);
356
356
  } catch (error) {
357
357
  throw new Error(`${errorPrefix ?? ""}${error.message}`);
358
358
  }
@@ -374,8 +374,8 @@ async function validateNpmSnap(snapFiles, errorPrefix) {
374
374
  }
375
375
  if (localizationFiles) {
376
376
  try {
377
- _chunkR5DO7T2Djs.getValidatedLocalizationFiles.call(void 0, localizationFiles);
378
- _chunkR5DO7T2Djs.validateSnapManifestLocalizations.call(void 0,
377
+ _chunkB5GNTDE2js.getValidatedLocalizationFiles.call(void 0, localizationFiles);
378
+ _chunkB5GNTDE2js.validateSnapManifestLocalizations.call(void 0,
379
379
  manifest.result,
380
380
  localizationFiles.map((file) => file.result)
381
381
  );
@@ -406,4 +406,4 @@ async function validateNpmSnap(snapFiles, errorPrefix) {
406
406
 
407
407
 
408
408
  exports.EXPECTED_SNAP_FILES = EXPECTED_SNAP_FILES; exports.SnapFileNameFromKey = SnapFileNameFromKey; exports.validateNpmSnap = validateNpmSnap; exports.checkManifest = checkManifest; exports.fixManifest = fixManifest; exports.getSnapSourceCode = getSnapSourceCode; exports.getSnapIcon = getSnapIcon; exports.getSnapFilePaths = getSnapFilePaths; exports.getSnapFiles = getSnapFiles; exports.getWritableManifest = getWritableManifest; exports.validateNpmSnapManifest = validateNpmSnapManifest;
409
- //# sourceMappingURL=chunk-7LOVOG6X.js.map
409
+ //# sourceMappingURL=chunk-25ESL4NL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  VirtualFile
3
- } from "./chunk-ZJRWU4AJ.mjs";
3
+ } from "./chunk-DE22V5AO.mjs";
4
4
 
5
5
  // src/bytes.ts
6
6
  import { stringToBytes } from "@metamask/utils";
@@ -15,4 +15,4 @@ function getBytes(bytes) {
15
15
  export {
16
16
  getBytes
17
17
  };
18
- //# sourceMappingURL=chunk-6YRUDGNL.mjs.map
18
+ //# sourceMappingURL=chunk-3S4INAGA.mjs.map
@@ -10,7 +10,7 @@ import {
10
10
  array,
11
11
  size,
12
12
  union
13
- } from "superstruct";
13
+ } from "@metamask/superstruct";
14
14
  var SNAP_EXPORTS = {
15
15
  ["onRpcRequest" /* OnRpcRequest */]: {
16
16
  type: "onRpcRequest" /* OnRpcRequest */,
@@ -150,4 +150,4 @@ export {
150
150
  DomainResolutionResponseStruct,
151
151
  OnNameLookupResponseStruct
152
152
  };
153
- //# sourceMappingURL=chunk-I4TRH6VO.mjs.map
153
+ //# sourceMappingURL=chunk-4AA3TKRJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/handlers.ts"],"sourcesContent":["import type {\n OnCronjobHandler,\n OnHomePageHandler,\n OnInstallHandler,\n OnKeyringRequestHandler,\n OnNameLookupHandler,\n OnRpcRequestHandler,\n OnSignatureHandler,\n OnTransactionHandler,\n OnUpdateHandler,\n OnUserInputHandler,\n} from '@metamask/snaps-sdk';\nimport { ComponentOrElementStruct, SeverityLevel } from '@metamask/snaps-sdk';\nimport {\n assign,\n literal,\n nullable,\n object,\n optional,\n string,\n array,\n size,\n union,\n} from '@metamask/superstruct';\n\nimport type { SnapHandler } from './handler-types';\nimport { HandlerType } from './handler-types';\n\nexport type SnapRpcHookArgs = {\n origin: string;\n handler: HandlerType;\n request: Record<string, unknown>;\n};\n\nexport const SNAP_EXPORTS = {\n [HandlerType.OnRpcRequest]: {\n type: HandlerType.OnRpcRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnRpcRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnTransaction]: {\n type: HandlerType.OnTransaction,\n required: true,\n validator: (snapExport: unknown): snapExport is OnTransactionHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnCronjob]: {\n type: HandlerType.OnCronjob,\n required: true,\n validator: (snapExport: unknown): snapExport is OnCronjobHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnNameLookup]: {\n type: HandlerType.OnNameLookup,\n required: true,\n validator: (snapExport: unknown): snapExport is OnNameLookupHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnInstall]: {\n type: HandlerType.OnInstall,\n required: false,\n validator: (snapExport: unknown): snapExport is OnInstallHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUpdate]: {\n type: HandlerType.OnUpdate,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUpdateHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnKeyringRequest]: {\n type: HandlerType.OnKeyringRequest,\n required: true,\n validator: (snapExport: unknown): snapExport is OnKeyringRequestHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnHomePage]: {\n type: HandlerType.OnHomePage,\n required: true,\n validator: (snapExport: unknown): snapExport is OnHomePageHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnSignature]: {\n type: HandlerType.OnSignature,\n required: true,\n validator: (snapExport: unknown): snapExport is OnSignatureHandler => {\n return typeof snapExport === 'function';\n },\n },\n [HandlerType.OnUserInput]: {\n type: HandlerType.OnUserInput,\n required: false,\n validator: (snapExport: unknown): snapExport is OnUserInputHandler => {\n return typeof snapExport === 'function';\n },\n },\n} as const;\n\nexport const OnTransactionSeverityResponseStruct = object({\n severity: optional(literal(SeverityLevel.Critical)),\n});\n\nexport const OnTransactionResponseWithIdStruct = assign(\n OnTransactionSeverityResponseStruct,\n object({\n id: string(),\n }),\n);\n\nexport const OnTransactionResponseWithContentStruct = assign(\n OnTransactionSeverityResponseStruct,\n object({\n content: ComponentOrElementStruct,\n }),\n);\n\nexport const OnTransactionResponseStruct = nullable(\n union([\n OnTransactionResponseWithContentStruct,\n OnTransactionResponseWithIdStruct,\n ]),\n);\n\nexport const OnSignatureResponseStruct = OnTransactionResponseStruct;\n\nexport const OnHomePageResponseWithContentStruct = object({\n content: ComponentOrElementStruct,\n});\n\nexport const OnHomePageResponseWithIdStruct = object({\n id: string(),\n});\n\nexport const OnHomePageResponseStruct = union([\n OnHomePageResponseWithContentStruct,\n OnHomePageResponseWithIdStruct,\n]);\n\nexport const AddressResolutionStruct = object({\n protocol: string(),\n resolvedDomain: string(),\n});\n\nexport const DomainResolutionStruct = object({\n protocol: string(),\n resolvedAddress: string(),\n domainName: string(),\n});\n\nexport const AddressResolutionResponseStruct = object({\n resolvedDomains: size(array(AddressResolutionStruct), 1, Infinity),\n});\n\nexport const DomainResolutionResponseStruct = object({\n resolvedAddresses: size(array(DomainResolutionStruct), 1, Infinity),\n});\n\nexport const OnNameLookupResponseStruct = nullable(\n union([AddressResolutionResponseStruct, DomainResolutionResponseStruct]),\n);\n\n/**\n * Utility type for getting the handler function type from a handler type.\n */\nexport type HandlerFunction<Type extends SnapHandler> =\n Type['validator'] extends (snapExport: unknown) => snapExport is infer Handler\n ? Handler\n : never;\n\n/**\n * All the function-based handlers that a snap can implement.\n */\nexport type SnapFunctionExports = {\n [Key in keyof typeof SNAP_EXPORTS]?: HandlerFunction<\n (typeof SNAP_EXPORTS)[Key]\n >;\n};\n\n/**\n * All handlers that a snap can implement.\n */\nexport type SnapExports = SnapFunctionExports;\n"],"mappings":"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","names":[]}
@@ -3,9 +3,16 @@
3
3
 
4
4
 
5
5
 
6
+
7
+
8
+
9
+ var _superstruct = require('@metamask/superstruct');
10
+
11
+
12
+
13
+
6
14
  var _utils = require('@metamask/utils');
7
15
  var _cronparser = require('cron-parser');
8
- var _superstruct = require('superstruct');
9
16
  var CronjobRpcRequestStruct = _superstruct.object.call(void 0, {
10
17
  jsonrpc: _superstruct.optional.call(void 0, _utils.JsonRpcVersionStruct),
11
18
  id: _superstruct.optional.call(void 0, _utils.JsonRpcIdStruct),
@@ -61,4 +68,4 @@ function isCronjobSpecificationArray(value) {
61
68
 
62
69
 
63
70
  exports.CronjobRpcRequestStruct = CronjobRpcRequestStruct; exports.CronExpressionStruct = CronExpressionStruct; exports.parseCronExpression = parseCronExpression; exports.CronjobSpecificationStruct = CronjobSpecificationStruct; exports.isCronjobSpecification = isCronjobSpecification; exports.CronjobSpecificationArrayStruct = CronjobSpecificationArrayStruct; exports.isCronjobSpecificationArray = isCronjobSpecificationArray;
64
- //# sourceMappingURL=chunk-2LBN5T56.js.map
71
+ //# sourceMappingURL=chunk-4ZJOU3LR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cronjob.ts"],"names":[],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB;AAEzB,IAAM,0BAA0B,OAAO;AAAA,EAC5C,SAAS,SAAS,oBAAoB;AAAA,EACtC,IAAI,SAAS,eAAe;AAAA,EAC5B,QAAQ,OAAO;AAAA,EACf,QAAQ,SAAS,mBAAmB;AACtC,CAAC;AAIM,IAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP;AAAA,EACA,CAAC,UAAU;AACT,QAAI;AACF,sBAAgB,KAAK;AACrB,aAAO;AAAA,IACT,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAUO,SAAS,oBAAoB,YAA6B;AAC/D,QAAM,yBAAyB,OAAO,YAAY,oBAAoB;AACtE,SAAO,gBAAgB,sBAAsB;AAC/C;AAEO,IAAM,6BAA6B,OAAO;AAAA,EAC/C,YAAY;AAAA,EACZ,SAAS;AACX,CAAC;AASM,SAAS,uBAAuB,OAAyB;AAC9D,MAAI;AACF,WAAO,OAAO,0BAA0B;AACxC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,IAAM,kCAAkC;AAAA,EAC7C;AACF;AAQO,SAAS,4BAA4B,OAAyB;AACnE,MAAI;AACF,WAAO,OAAO,+BAA+B;AAC7C,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF","sourcesContent":["import type { Infer } from '@metamask/superstruct';\nimport {\n array,\n create,\n object,\n optional,\n refine,\n string,\n} from '@metamask/superstruct';\nimport {\n JsonRpcIdStruct,\n JsonRpcParamsStruct,\n JsonRpcVersionStruct,\n} from '@metamask/utils';\nimport { parseExpression } from 'cron-parser';\n\nexport const CronjobRpcRequestStruct = object({\n jsonrpc: optional(JsonRpcVersionStruct),\n id: optional(JsonRpcIdStruct),\n method: string(),\n params: optional(JsonRpcParamsStruct),\n});\n\nexport type CronjobRpcRequest = Infer<typeof CronjobRpcRequestStruct>;\n\nexport const CronExpressionStruct = refine(\n string(),\n 'CronExpression',\n (value) => {\n try {\n parseExpression(value);\n return true;\n } catch {\n return false;\n }\n },\n);\n\nexport type CronExpression = Infer<typeof CronExpressionStruct>;\n\n/**\n * Parses a cron expression.\n *\n * @param expression - Expression to parse.\n * @returns A CronExpression class instance.\n */\nexport function parseCronExpression(expression: string | object) {\n const ensureStringExpression = create(expression, CronExpressionStruct);\n return parseExpression(ensureStringExpression);\n}\n\nexport const CronjobSpecificationStruct = object({\n expression: CronExpressionStruct,\n request: CronjobRpcRequestStruct,\n});\nexport type CronjobSpecification = Infer<typeof CronjobSpecificationStruct>;\n\n/**\n * Check if the given value is a {@link CronjobSpecification} object.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link CronjobSpecification} object.\n */\nexport function isCronjobSpecification(value: unknown): boolean {\n try {\n create(value, CronjobSpecificationStruct);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const CronjobSpecificationArrayStruct = array(\n CronjobSpecificationStruct,\n);\n\n/**\n * Check if the given value is an array of {@link CronjobSpecification} objects.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid array of {@link CronjobSpecification} objects.\n */\nexport function isCronjobSpecificationArray(value: unknown): boolean {\n try {\n create(value, CronjobSpecificationArrayStruct);\n return true;\n } catch {\n return false;\n }\n}\n"]}
@@ -1,20 +1,20 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkHEXZ4DFVjs = require('./chunk-HEXZ4DFV.js');
3
+ var _chunkRD6BN2TQjs = require('./chunk-RD6BN2TQ.js');
4
4
 
5
5
 
6
- var _chunkK4B37F3Ljs = require('./chunk-K4B37F3L.js');
6
+ var _chunkVOPTAKVGjs = require('./chunk-VOPTAKVG.js');
7
7
 
8
8
 
9
- var _chunk6LOYTBS3js = require('./chunk-6LOYTBS3.js');
10
9
 
10
+ var _chunkPZNIU23Ijs = require('./chunk-PZNIU23I.js');
11
11
 
12
12
 
13
- var _chunkCMOSYNZRjs = require('./chunk-CMOSYNZR.js');
13
+ var _chunkLOJA2ZS4js = require('./chunk-LOJA2ZS4.js');
14
14
 
15
15
 
16
16
 
17
- var _chunk37VHIRUJjs = require('./chunk-37VHIRUJ.js');
17
+ var _chunkT2VA4YJEjs = require('./chunk-T2VA4YJE.js');
18
18
 
19
19
 
20
20
 
@@ -24,7 +24,7 @@ var _chunkZT3KKTS2js = require('./chunk-ZT3KKTS2.js');
24
24
  var _chunkT3YY4JIJjs = require('./chunk-T3YY4JIJ.js');
25
25
 
26
26
 
27
- var _chunk2LBN5T56js = require('./chunk-2LBN5T56.js');
27
+ var _chunk4ZJOU3LRjs = require('./chunk-4ZJOU3LR.js');
28
28
 
29
29
  // src/manifest/validation.ts
30
30
  var _keytree = require('@metamask/key-tree');
@@ -35,7 +35,6 @@ var _keytree = require('@metamask/key-tree');
35
35
 
36
36
 
37
37
 
38
- var _utils = require('@metamask/utils');
39
38
 
40
39
 
41
40
 
@@ -46,6 +45,7 @@ var _utils = require('@metamask/utils');
46
45
 
47
46
 
48
47
 
48
+ var _superstruct = require('@metamask/superstruct');
49
49
 
50
50
 
51
51
 
@@ -53,7 +53,7 @@ var _utils = require('@metamask/utils');
53
53
 
54
54
 
55
55
 
56
- var _superstruct = require('superstruct');
56
+ var _utils = require('@metamask/utils');
57
57
  var FORBIDDEN_PURPOSES = [
58
58
  _chunkZT3KKTS2js.SIP_6_MAGIC_VALUE,
59
59
  _chunkZT3KKTS2js.STATE_ENCRYPTION_MAGIC_VALUE
@@ -122,7 +122,7 @@ var SemVerRangeStruct = _superstruct.refine.call(void 0, _superstruct.string.cal
122
122
  return "Expected a valid SemVer range.";
123
123
  });
124
124
  var SnapIdsStruct = _superstruct.refine.call(void 0,
125
- _superstruct.record.call(void 0, _chunkK4B37F3Ljs.SnapIdStruct, _superstruct.object.call(void 0, { version: _superstruct.optional.call(void 0, SemVerRangeStruct) })),
125
+ _superstruct.record.call(void 0, _chunkRD6BN2TQjs.SnapIdStruct, _superstruct.object.call(void 0, { version: _superstruct.optional.call(void 0, SemVerRangeStruct) })),
126
126
  "SnapIds",
127
127
  (value) => {
128
128
  if (Object.keys(value).length === 0) {
@@ -131,7 +131,7 @@ var SnapIdsStruct = _superstruct.refine.call(void 0,
131
131
  return true;
132
132
  }
133
133
  );
134
- var ChainIdsStruct = _superstruct.size.call(void 0, _superstruct.array.call(void 0, _chunk6LOYTBS3js.ChainIdStruct), 1, Infinity);
134
+ var ChainIdsStruct = _superstruct.size.call(void 0, _superstruct.array.call(void 0, _chunkLOJA2ZS4js.ChainIdStruct), 1, Infinity);
135
135
  var LookupMatchersStruct = _superstruct.union.call(void 0, [
136
136
  _superstruct.object.call(void 0, {
137
137
  tlds: _superstruct.size.call(void 0, _superstruct.array.call(void 0, _superstruct.string.call(void 0, )), 1, Infinity)
@@ -157,18 +157,18 @@ var HandlerCaveatsStruct = _superstruct.object.call(void 0, {
157
157
  var EmptyObjectStruct = _superstruct.object.call(void 0, {});
158
158
  var PermissionsStruct = _superstruct.type.call(void 0, {
159
159
  "endowment:cronjob": _superstruct.optional.call(void 0,
160
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0,
160
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0,
161
161
  HandlerCaveatsStruct,
162
- _superstruct.object.call(void 0, { jobs: _chunk2LBN5T56js.CronjobSpecificationArrayStruct })
162
+ _superstruct.object.call(void 0, { jobs: _chunk4ZJOU3LRjs.CronjobSpecificationArrayStruct })
163
163
  )
164
164
  ),
165
165
  "endowment:ethereum-provider": _superstruct.optional.call(void 0, EmptyObjectStruct),
166
166
  "endowment:keyring": _superstruct.optional.call(void 0,
167
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0, HandlerCaveatsStruct, _chunk37VHIRUJjs.KeyringOriginsStruct)
167
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0, HandlerCaveatsStruct, _chunkT2VA4YJEjs.KeyringOriginsStruct)
168
168
  ),
169
169
  "endowment:lifecycle-hooks": _superstruct.optional.call(void 0, HandlerCaveatsStruct),
170
170
  "endowment:name-lookup": _superstruct.optional.call(void 0,
171
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0,
171
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0,
172
172
  HandlerCaveatsStruct,
173
173
  _superstruct.object.call(void 0, {
174
174
  chains: _superstruct.optional.call(void 0, ChainIdsStruct),
@@ -179,10 +179,10 @@ var PermissionsStruct = _superstruct.type.call(void 0, {
179
179
  "endowment:network-access": _superstruct.optional.call(void 0, EmptyObjectStruct),
180
180
  "endowment:page-home": _superstruct.optional.call(void 0, HandlerCaveatsStruct),
181
181
  "endowment:rpc": _superstruct.optional.call(void 0,
182
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0, HandlerCaveatsStruct, _chunk37VHIRUJjs.RpcOriginsStruct)
182
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0, HandlerCaveatsStruct, _chunkT2VA4YJEjs.RpcOriginsStruct)
183
183
  ),
184
184
  "endowment:signature-insight": _superstruct.optional.call(void 0,
185
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0,
185
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0,
186
186
  HandlerCaveatsStruct,
187
187
  _superstruct.object.call(void 0, {
188
188
  allowSignatureOrigin: _superstruct.optional.call(void 0, _superstruct.boolean.call(void 0, ))
@@ -190,7 +190,7 @@ var PermissionsStruct = _superstruct.type.call(void 0, {
190
190
  )
191
191
  ),
192
192
  "endowment:transaction-insight": _superstruct.optional.call(void 0,
193
- _chunkHEXZ4DFVjs.mergeStructs.call(void 0,
193
+ _chunkVOPTAKVGjs.mergeStructs.call(void 0,
194
194
  HandlerCaveatsStruct,
195
195
  _superstruct.object.call(void 0, {
196
196
  allowTransactionOrigin: _superstruct.optional.call(void 0, _superstruct.boolean.call(void 0, ))
@@ -217,7 +217,7 @@ var PermissionsStruct = _superstruct.type.call(void 0, {
217
217
  });
218
218
  var SnapAuxilaryFilesStruct = _superstruct.array.call(void 0, _superstruct.string.call(void 0, ));
219
219
  var InitialConnectionsStruct = _superstruct.record.call(void 0,
220
- _superstruct.intersection.call(void 0, [_superstruct.string.call(void 0, ), _chunkCMOSYNZRjs.uri.call(void 0, )]),
220
+ _superstruct.intersection.call(void 0, [_superstruct.string.call(void 0, ), _chunkPZNIU23Ijs.uri.call(void 0, )]),
221
221
  _superstruct.object.call(void 0, {})
222
222
  );
223
223
  var SnapManifestStruct = _superstruct.object.call(void 0, {
@@ -236,7 +236,7 @@ var SnapManifestStruct = _superstruct.object.call(void 0, {
236
236
  npm: _superstruct.object.call(void 0, {
237
237
  filePath: _superstruct.size.call(void 0, _superstruct.string.call(void 0, ), 1, Infinity),
238
238
  iconPath: _superstruct.optional.call(void 0, _superstruct.size.call(void 0, _superstruct.string.call(void 0, ), 1, Infinity)),
239
- packageName: _chunkCMOSYNZRjs.NameStruct,
239
+ packageName: _chunkPZNIU23Ijs.NameStruct,
240
240
  registry: _superstruct.union.call(void 0, [
241
241
  _superstruct.literal.call(void 0, "https://registry.npmjs.org"),
242
242
  _superstruct.literal.call(void 0, "https://registry.npmjs.org/")
@@ -290,4 +290,4 @@ function createSnapManifest(value) {
290
290
 
291
291
 
292
292
  exports.FORBIDDEN_COIN_TYPES = FORBIDDEN_COIN_TYPES; exports.Bip32PathStruct = Bip32PathStruct; exports.bip32entropy = bip32entropy; exports.CurveStruct = CurveStruct; exports.Bip32EntropyStruct = Bip32EntropyStruct; exports.SnapGetBip32EntropyPermissionsStruct = SnapGetBip32EntropyPermissionsStruct; exports.SemVerRangeStruct = SemVerRangeStruct; exports.SnapIdsStruct = SnapIdsStruct; exports.ChainIdsStruct = ChainIdsStruct; exports.LookupMatchersStruct = LookupMatchersStruct; exports.MINIMUM_REQUEST_TIMEOUT = MINIMUM_REQUEST_TIMEOUT; exports.MAXIMUM_REQUEST_TIMEOUT = MAXIMUM_REQUEST_TIMEOUT; exports.MaxRequestTimeStruct = MaxRequestTimeStruct; exports.HandlerCaveatsStruct = HandlerCaveatsStruct; exports.EmptyObjectStruct = EmptyObjectStruct; exports.PermissionsStruct = PermissionsStruct; exports.SnapAuxilaryFilesStruct = SnapAuxilaryFilesStruct; exports.InitialConnectionsStruct = InitialConnectionsStruct; exports.SnapManifestStruct = SnapManifestStruct; exports.isSnapManifest = isSnapManifest; exports.assertIsSnapManifest = assertIsSnapManifest; exports.createSnapManifest = createSnapManifest;
293
- //# sourceMappingURL=chunk-ZJKG5Q2C.js.map
293
+ //# sourceMappingURL=chunk-5I5WPAVD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/manifest/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SupportedCurve } from '@metamask/key-tree';\nimport { isValidBIP32PathSegment } from '@metamask/key-tree';\nimport type { EmptyObject, InitialPermissions } from '@metamask/snaps-sdk';\nimport type { Describe, Infer, Struct } from '@metamask/superstruct';\nimport {\n array,\n boolean,\n create,\n enums,\n integer,\n is,\n literal,\n object,\n optional,\n refine,\n record,\n size,\n string,\n type,\n union,\n intersection,\n} from '@metamask/superstruct';\nimport {\n assertStruct,\n ChecksumStruct,\n VersionStruct,\n isValidSemVerRange,\n inMilliseconds,\n Duration,\n} from '@metamask/utils';\n\nimport { isEqual } from '../array';\nimport { CronjobSpecificationArrayStruct } from '../cronjob';\nimport { SIP_6_MAGIC_VALUE, STATE_ENCRYPTION_MAGIC_VALUE } from '../entropy';\nimport { KeyringOriginsStruct, RpcOriginsStruct } from '../json-rpc';\nimport { ChainIdStruct } from '../namespace';\nimport { SnapIdStruct } from '../snaps';\nimport { mergeStructs, type InferMatching } from '../structs';\nimport { NameStruct, NpmSnapFileNames, uri } from '../types';\n\n// BIP-43 purposes that cannot be used for entropy derivation. These are in the\n// string form, ending with `'`.\nconst FORBIDDEN_PURPOSES: string[] = [\n SIP_6_MAGIC_VALUE,\n STATE_ENCRYPTION_MAGIC_VALUE,\n];\n\nexport const FORBIDDEN_COIN_TYPES: number[] = [60];\nconst FORBIDDEN_PATHS: string[][] = FORBIDDEN_COIN_TYPES.map((coinType) => [\n 'm',\n \"44'\",\n `${coinType}'`,\n]);\n\nexport const Bip32PathStruct = refine(\n array(string()),\n 'BIP-32 path',\n (path: string[]) => {\n if (path.length === 0) {\n return 'Path must be a non-empty BIP-32 derivation path array';\n }\n\n if (path[0] !== 'm') {\n return 'Path must start with \"m\".';\n }\n\n if (path.length < 3) {\n return 'Paths must have a length of at least three.';\n }\n\n if (path.slice(1).some((part) => !isValidBIP32PathSegment(part))) {\n return 'Path must be a valid BIP-32 derivation path array.';\n }\n\n if (FORBIDDEN_PURPOSES.includes(path[1])) {\n return `The purpose \"${path[1]}\" is not allowed for entropy derivation.`;\n }\n\n if (\n FORBIDDEN_PATHS.some((forbiddenPath) =>\n isEqual(path.slice(0, forbiddenPath.length), forbiddenPath),\n )\n ) {\n return `The path \"${path.join(\n '/',\n )}\" is not allowed for entropy derivation.`;\n }\n\n return true;\n },\n);\n\nexport const bip32entropy = <\n Type extends { path: string[]; curve: string },\n Schema,\n>(\n struct: Struct<Type, Schema>,\n) =>\n refine(struct, 'BIP-32 entropy', (value) => {\n if (\n value.curve === 'ed25519' &&\n value.path.slice(1).some((part) => !part.endsWith(\"'\"))\n ) {\n return 'Ed25519 does not support unhardened paths.';\n }\n\n return true;\n });\n\nexport const CurveStruct: Describe<SupportedCurve> = enums([\n 'ed25519',\n 'secp256k1',\n 'ed25519Bip32',\n]);\n\n// Used outside @metamask/snap-utils\nexport const Bip32EntropyStruct = bip32entropy(\n type({\n path: Bip32PathStruct,\n curve: CurveStruct,\n }),\n);\n\nexport type Bip32Entropy = Infer<typeof Bip32EntropyStruct>;\n\nexport const SnapGetBip32EntropyPermissionsStruct = size(\n array(Bip32EntropyStruct),\n 1,\n Infinity,\n);\n\nexport const SemVerRangeStruct = refine(string(), 'SemVer range', (value) => {\n if (isValidSemVerRange(value)) {\n return true;\n }\n return 'Expected a valid SemVer range.';\n});\n\nexport const SnapIdsStruct = refine(\n record(SnapIdStruct, object({ version: optional(SemVerRangeStruct) })),\n 'SnapIds',\n (value) => {\n if (Object.keys(value).length === 0) {\n return false;\n }\n\n return true;\n },\n);\n\nexport type SnapIds = Infer<typeof SnapIdsStruct>;\n\nexport const ChainIdsStruct = size(array(ChainIdStruct), 1, Infinity);\n\nexport const LookupMatchersStruct = union([\n object({\n tlds: size(array(string()), 1, Infinity),\n }),\n object({\n schemes: size(array(string()), 1, Infinity),\n }),\n object({\n tlds: size(array(string()), 1, Infinity),\n schemes: size(array(string()), 1, Infinity),\n }),\n]);\n\nexport const MINIMUM_REQUEST_TIMEOUT = inMilliseconds(5, Duration.Second);\nexport const MAXIMUM_REQUEST_TIMEOUT = inMilliseconds(3, Duration.Minute);\n\nexport const MaxRequestTimeStruct = size(\n integer(),\n MINIMUM_REQUEST_TIMEOUT,\n MAXIMUM_REQUEST_TIMEOUT,\n);\n\n// Utility type to union with for all handler structs\nexport const HandlerCaveatsStruct = object({\n maxRequestTime: optional(MaxRequestTimeStruct),\n});\n\nexport type HandlerCaveats = Infer<typeof HandlerCaveatsStruct>;\n\nexport const EmptyObjectStruct = object<EmptyObject>({}) as unknown as Struct<\n EmptyObject,\n null\n>;\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const PermissionsStruct: Describe<InitialPermissions> = type({\n 'endowment:cronjob': optional(\n mergeStructs(\n HandlerCaveatsStruct,\n object({ jobs: CronjobSpecificationArrayStruct }),\n ),\n ),\n 'endowment:ethereum-provider': optional(EmptyObjectStruct),\n 'endowment:keyring': optional(\n mergeStructs(HandlerCaveatsStruct, KeyringOriginsStruct),\n ),\n 'endowment:lifecycle-hooks': optional(HandlerCaveatsStruct),\n 'endowment:name-lookup': optional(\n mergeStructs(\n HandlerCaveatsStruct,\n object({\n chains: optional(ChainIdsStruct),\n matchers: optional(LookupMatchersStruct),\n }),\n ),\n ),\n 'endowment:network-access': optional(EmptyObjectStruct),\n 'endowment:page-home': optional(HandlerCaveatsStruct),\n 'endowment:rpc': optional(\n mergeStructs(HandlerCaveatsStruct, RpcOriginsStruct),\n ),\n 'endowment:signature-insight': optional(\n mergeStructs(\n HandlerCaveatsStruct,\n object({\n allowSignatureOrigin: optional(boolean()),\n }),\n ),\n ),\n 'endowment:transaction-insight': optional(\n mergeStructs(\n HandlerCaveatsStruct,\n object({\n allowTransactionOrigin: optional(boolean()),\n }),\n ),\n ),\n 'endowment:webassembly': optional(EmptyObjectStruct),\n snap_dialog: optional(EmptyObjectStruct),\n snap_manageState: optional(EmptyObjectStruct),\n snap_manageAccounts: optional(EmptyObjectStruct),\n snap_notify: optional(EmptyObjectStruct),\n snap_getBip32Entropy: optional(SnapGetBip32EntropyPermissionsStruct),\n snap_getBip32PublicKey: optional(SnapGetBip32EntropyPermissionsStruct),\n snap_getBip44Entropy: optional(\n size(\n array(object({ coinType: size(integer(), 0, 2 ** 32 - 1) })),\n 1,\n Infinity,\n ),\n ),\n snap_getEntropy: optional(EmptyObjectStruct),\n snap_getLocale: optional(EmptyObjectStruct),\n wallet_snap: optional(SnapIdsStruct),\n});\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type SnapPermissions = InferMatching<\n typeof PermissionsStruct,\n InitialPermissions\n>;\n\nexport const SnapAuxilaryFilesStruct = array(string());\n\nexport const InitialConnectionsStruct = record(\n intersection([string(), uri()]),\n object({}),\n);\n\nexport type InitialConnections = Infer<typeof InitialConnectionsStruct>;\n\nexport const SnapManifestStruct = object({\n version: VersionStruct,\n description: size(string(), 1, 280),\n proposedName: size(string(), 1, 214),\n repository: optional(\n object({\n type: size(string(), 1, Infinity),\n url: size(string(), 1, Infinity),\n }),\n ),\n source: object({\n shasum: ChecksumStruct,\n location: object({\n npm: object({\n filePath: size(string(), 1, Infinity),\n iconPath: optional(size(string(), 1, Infinity)),\n packageName: NameStruct,\n registry: union([\n literal('https://registry.npmjs.org'),\n literal('https://registry.npmjs.org/'),\n ]),\n }),\n }),\n files: optional(SnapAuxilaryFilesStruct),\n locales: optional(SnapAuxilaryFilesStruct),\n }),\n initialConnections: optional(InitialConnectionsStruct),\n initialPermissions: PermissionsStruct,\n manifestVersion: literal('0.1'),\n $schema: optional(string()), // enables JSON-Schema linting in VSC and other IDEs\n});\n\nexport type SnapManifest = Infer<typeof SnapManifestStruct>;\n\n/**\n * Check if the given value is a valid {@link SnapManifest} object.\n *\n * @param value - The value to check.\n * @returns Whether the value is a valid {@link SnapManifest} object.\n */\nexport function isSnapManifest(value: unknown): value is SnapManifest {\n return is(value, SnapManifestStruct);\n}\n\n/**\n * Assert that the given value is a valid {@link SnapManifest} object.\n *\n * @param value - The value to check.\n * @throws If the value is not a valid {@link SnapManifest} object.\n */\nexport function assertIsSnapManifest(\n value: unknown,\n): asserts value is SnapManifest {\n assertStruct(\n value,\n SnapManifestStruct,\n `\"${NpmSnapFileNames.Manifest}\" is invalid`,\n );\n}\n\n/**\n * Creates a {@link SnapManifest} object from JSON.\n *\n * @param value - The value to check.\n * @throws If the value cannot be coerced to a {@link SnapManifest} object.\n * @returns The created {@link SnapManifest} object.\n */\nexport function createSnapManifest(value: unknown): SnapManifest {\n // TODO: Add a utility to prefix these errors similar to assertStruct\n return create(value, SnapManifestStruct);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/constants.ts
2
+ var MAX_FILE_SIZE = 64e6;
3
+
4
+
5
+
6
+ exports.MAX_FILE_SIZE = MAX_FILE_SIZE;
7
+ //# sourceMappingURL=chunk-5WKQI22S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.ts"],"names":[],"mappings":";AAGO,IAAM,gBAAgB","sourcesContent":["// The max file size for Snap source code and auxiliary files.\n// 64 MB - we chose this number because it is the size limit for postMessage\n// between the extension and the offscreen document enforced by Chrome.\nexport const MAX_FILE_SIZE = 64_000_000;\n"]}