@metamask/snaps-utils 8.0.1 → 8.1.0
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.
- package/CHANGELOG.md +16 -1
- package/dist/array.cjs +17 -0
- package/dist/array.cjs.map +1 -0
- package/dist/array.d.cts +11 -0
- package/dist/array.d.cts.map +1 -0
- package/dist/array.d.mts +11 -0
- package/dist/array.d.mts.map +1 -0
- package/dist/array.mjs +12 -7
- package/dist/array.mjs.map +1 -1
- package/dist/auxiliary-files.cjs +39 -0
- package/dist/auxiliary-files.cjs.map +1 -0
- package/dist/auxiliary-files.d.cts +17 -0
- package/dist/auxiliary-files.d.cts.map +1 -0
- package/dist/auxiliary-files.d.mts +17 -0
- package/dist/auxiliary-files.d.mts.map +1 -0
- package/dist/auxiliary-files.mjs +33 -14
- package/dist/auxiliary-files.mjs.map +1 -1
- package/dist/base64.cjs +38 -0
- package/dist/base64.cjs.map +1 -0
- package/dist/base64.d.cts +16 -0
- package/dist/base64.d.cts.map +1 -0
- package/dist/base64.d.mts +16 -0
- package/dist/base64.d.mts.map +1 -0
- package/dist/base64.mjs +32 -12
- package/dist/base64.mjs.map +1 -1
- package/dist/bytes.cjs +22 -0
- package/dist/bytes.cjs.map +1 -0
- package/dist/bytes.d.cts +9 -0
- package/dist/bytes.d.cts.map +1 -0
- package/dist/bytes.d.mts +9 -0
- package/dist/bytes.d.mts.map +1 -0
- package/dist/bytes.mjs +17 -9
- package/dist/bytes.mjs.map +1 -1
- package/dist/caveats.cjs +51 -0
- package/dist/caveats.cjs.map +1 -0
- package/dist/caveats.d.cts +47 -0
- package/dist/caveats.d.cts.map +1 -0
- package/dist/caveats.d.mts +47 -0
- package/dist/caveats.d.mts.map +1 -0
- package/dist/caveats.mjs +47 -7
- package/dist/caveats.mjs.map +1 -1
- package/dist/checksum.cjs +49 -0
- package/dist/checksum.cjs.map +1 -0
- package/dist/checksum.d.cts +22 -0
- package/dist/checksum.d.cts.map +1 -0
- package/dist/checksum.d.mts +22 -0
- package/dist/checksum.d.mts.map +1 -0
- package/dist/checksum.mjs +43 -12
- package/dist/checksum.mjs.map +1 -1
- package/dist/constants.cjs +8 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +2 -0
- package/dist/constants.d.cts.map +1 -0
- package/dist/constants.d.mts +2 -0
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.mjs +4 -7
- package/dist/constants.mjs.map +1 -1
- package/dist/cronjob.cjs +70 -0
- package/dist/cronjob.cjs.map +1 -0
- package/dist/cronjob.d.cts +90 -0
- package/dist/cronjob.d.cts.map +1 -0
- package/dist/cronjob.d.mts +90 -0
- package/dist/cronjob.d.mts.map +1 -0
- package/dist/cronjob.mjs +64 -19
- package/dist/cronjob.mjs.map +1 -1
- package/dist/deep-clone.cjs +9 -0
- package/dist/deep-clone.cjs.map +1 -0
- package/dist/deep-clone.d.cts +2 -0
- package/dist/deep-clone.d.cts.map +1 -0
- package/dist/deep-clone.d.mts +2 -0
- package/dist/deep-clone.d.mts.map +1 -0
- package/dist/deep-clone.mjs +9 -7
- package/dist/deep-clone.mjs.map +1 -1
- package/dist/default-endowments.cjs +42 -0
- package/dist/default-endowments.cjs.map +1 -0
- package/dist/default-endowments.d.cts +5 -0
- package/dist/default-endowments.d.cts.map +1 -0
- package/dist/default-endowments.d.mts +5 -0
- package/dist/default-endowments.d.mts.map +1 -0
- package/dist/default-endowments.mjs +38 -7
- package/dist/default-endowments.mjs.map +1 -1
- package/dist/derivation-paths.cjs +215 -0
- package/dist/derivation-paths.cjs.map +1 -0
- package/dist/derivation-paths.d.cts +25 -0
- package/dist/derivation-paths.d.cts.map +1 -0
- package/dist/derivation-paths.d.mts +25 -0
- package/dist/derivation-paths.d.mts.map +1 -0
- package/dist/derivation-paths.mjs +206 -12
- package/dist/derivation-paths.mjs.map +1 -1
- package/dist/entropy.cjs +8 -0
- package/dist/entropy.cjs.map +1 -0
- package/dist/entropy.d.cts +4 -0
- package/dist/entropy.d.cts.map +1 -0
- package/dist/entropy.d.mts +4 -0
- package/dist/entropy.d.mts.map +1 -0
- package/dist/entropy.mjs +4 -9
- package/dist/entropy.mjs.map +1 -1
- package/dist/errors.cjs +189 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +85 -0
- package/dist/errors.d.cts.map +1 -0
- package/dist/errors.d.mts +85 -0
- package/dist/errors.d.mts.map +1 -0
- package/dist/errors.mjs +179 -18
- package/dist/errors.mjs.map +1 -1
- package/dist/eval-worker.cjs +42 -0
- package/dist/eval-worker.cjs.map +1 -0
- package/dist/eval-worker.d.cts +2 -0
- package/dist/eval-worker.d.cts.map +1 -0
- package/dist/eval-worker.d.mts +2 -0
- package/dist/eval-worker.d.mts.map +1 -0
- package/dist/eval-worker.mjs +28 -31
- package/dist/eval-worker.mjs.map +1 -1
- package/dist/eval.cjs +54 -0
- package/dist/eval.cjs.map +1 -0
- package/dist/eval.d.cts +17 -0
- package/dist/eval.d.cts.map +1 -0
- package/dist/eval.d.mts +17 -0
- package/dist/eval.d.mts.map +1 -0
- package/dist/eval.mjs +48 -16
- package/dist/eval.mjs.map +1 -1
- package/dist/fs.cjs +159 -0
- package/dist/fs.cjs.map +1 -0
- package/dist/fs.d.cts +70 -0
- package/dist/fs.d.cts.map +1 -0
- package/dist/fs.d.mts +70 -0
- package/dist/fs.d.mts.map +1 -0
- package/dist/fs.mjs +144 -27
- package/dist/fs.mjs.map +1 -1
- package/dist/handler-types.cjs +18 -0
- package/dist/handler-types.cjs.map +1 -0
- package/dist/handler-types.d.cts +35 -0
- package/dist/handler-types.d.cts.map +1 -0
- package/dist/handler-types.d.mts +35 -0
- package/dist/handler-types.d.mts.map +1 -0
- package/dist/handler-types.mjs +14 -9
- package/dist/handler-types.mjs.map +1 -1
- package/dist/handlers.cjs +119 -0
- package/dist/handlers.cjs.map +1 -0
- package/dist/handlers.d.cts +750 -0
- package/dist/handlers.d.cts.map +1 -0
- package/dist/handlers.d.mts +750 -0
- package/dist/handlers.d.mts.map +1 -0
- package/dist/handlers.mjs +114 -33
- package/dist/handlers.mjs.map +1 -1
- package/dist/icon.cjs +58 -0
- package/dist/icon.cjs.map +1 -0
- package/dist/icon.d.cts +20 -0
- package/dist/icon.d.cts.map +1 -0
- package/dist/icon.d.mts +20 -0
- package/dist/icon.d.mts.map +1 -0
- package/dist/icon.mjs +52 -14
- package/dist/icon.mjs.map +1 -1
- package/dist/iframe.cjs +54 -0
- package/dist/iframe.cjs.map +1 -0
- package/dist/iframe.d.cts +12 -0
- package/dist/iframe.d.cts.map +1 -0
- package/dist/iframe.d.mts +12 -0
- package/dist/iframe.d.mts.map +1 -0
- package/dist/iframe.mjs +49 -7
- package/dist/iframe.mjs.map +1 -1
- package/dist/iframe.test.browser.cjs +15 -0
- package/dist/iframe.test.browser.cjs.map +1 -0
- package/dist/iframe.test.browser.d.cts +2 -0
- package/dist/iframe.test.browser.d.cts.map +1 -0
- package/dist/iframe.test.browser.d.mts +2 -0
- package/dist/iframe.test.browser.d.mts.map +1 -0
- package/dist/iframe.test.browser.mjs +13 -0
- package/dist/iframe.test.browser.mjs.map +1 -0
- package/dist/index.cjs +49 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +33 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +33 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.executionenv.cjs +25 -0
- package/dist/index.executionenv.cjs.map +1 -0
- package/dist/index.executionenv.d.cts +8 -0
- package/dist/index.executionenv.d.cts.map +1 -0
- package/dist/index.executionenv.d.mts +8 -0
- package/dist/index.executionenv.d.mts.map +1 -0
- package/dist/index.executionenv.mjs +8 -127
- package/dist/index.executionenv.mjs.map +1 -1
- package/dist/index.mjs +32 -397
- package/dist/index.mjs.map +1 -1
- package/dist/json-rpc.cjs +135 -0
- package/dist/json-rpc.cjs.map +1 -0
- package/dist/json-rpc.d.cts +56 -0
- package/dist/json-rpc.d.cts.map +1 -0
- package/dist/json-rpc.d.mts +56 -0
- package/dist/json-rpc.d.mts.map +1 -0
- package/dist/json-rpc.mjs +127 -17
- package/dist/json-rpc.mjs.map +1 -1
- package/dist/json.cjs +34 -0
- package/dist/json.cjs.map +1 -0
- package/dist/json.d.cts +23 -0
- package/dist/json.d.cts.map +1 -0
- package/dist/json.d.mts +23 -0
- package/dist/json.d.mts.map +1 -0
- package/dist/json.mjs +28 -9
- package/dist/json.mjs.map +1 -1
- package/dist/localization.cjs +128 -0
- package/dist/localization.cjs.map +1 -0
- package/dist/localization.d.cts +146 -0
- package/dist/localization.d.cts.map +1 -0
- package/dist/localization.d.mts +146 -0
- package/dist/localization.d.mts.map +1 -0
- package/dist/localization.mjs +119 -22
- package/dist/localization.mjs.map +1 -1
- package/dist/logging.cjs +67 -0
- package/dist/logging.cjs.map +1 -0
- package/dist/logging.d.cts +50 -0
- package/dist/logging.d.cts.map +1 -0
- package/dist/logging.d.mts +50 -0
- package/dist/logging.d.mts.map +1 -0
- package/dist/logging.mjs +60 -13
- package/dist/logging.mjs.map +1 -1
- package/dist/manifest/index.cjs +18 -0
- package/dist/manifest/index.cjs.map +1 -0
- package/dist/manifest/index.d.cts +2 -0
- package/dist/manifest/index.d.cts.map +1 -0
- package/dist/manifest/index.d.mts +2 -0
- package/dist/manifest/index.d.mts.map +1 -0
- package/dist/manifest/index.mjs +1 -64
- package/dist/manifest/index.mjs.map +1 -1
- package/dist/manifest/manifest.cjs +267 -0
- package/dist/manifest/manifest.cjs.map +1 -0
- package/dist/manifest/manifest.d.cts +100 -0
- package/dist/manifest/manifest.d.cts.map +1 -0
- package/dist/manifest/manifest.d.mts +100 -0
- package/dist/manifest/manifest.d.mts.map +1 -0
- package/dist/manifest/manifest.mjs +252 -57
- package/dist/manifest/manifest.mjs.map +1 -1
- package/dist/manifest/node.cjs +19 -0
- package/dist/manifest/node.cjs.map +1 -0
- package/dist/manifest/node.d.cts +3 -0
- package/dist/manifest/node.d.cts.map +1 -0
- package/dist/manifest/node.d.mts +3 -0
- package/dist/manifest/node.d.mts.map +1 -0
- package/dist/manifest/node.mjs +2 -105
- package/dist/manifest/node.mjs.map +1 -1
- package/dist/manifest/validation.cjs +194 -0
- package/dist/manifest/validation.cjs.map +1 -0
- package/dist/manifest/validation.d.cts +254 -0
- package/dist/manifest/validation.d.cts.map +1 -0
- package/dist/manifest/validation.d.mts +254 -0
- package/dist/manifest/validation.d.mts.map +1 -0
- package/dist/manifest/validation.mjs +186 -63
- package/dist/manifest/validation.mjs.map +1 -1
- package/dist/manifest/validator-types.cjs +3 -0
- package/dist/manifest/validator-types.cjs.map +1 -0
- package/dist/manifest/validator-types.d.cts +35 -0
- package/dist/manifest/validator-types.d.cts.map +1 -0
- package/dist/manifest/validator-types.d.mts +35 -0
- package/dist/manifest/validator-types.d.mts.map +1 -0
- package/dist/manifest/validator-types.mjs +1 -0
- package/dist/manifest/validator-types.mjs.map +1 -1
- package/dist/manifest/validator.cjs +109 -0
- package/dist/manifest/validator.cjs.map +1 -0
- package/dist/manifest/validator.d.cts +24 -0
- package/dist/manifest/validator.d.cts.map +1 -0
- package/dist/manifest/validator.d.mts +24 -0
- package/dist/manifest/validator.d.mts.map +1 -0
- package/dist/manifest/validator.mjs +79 -42
- package/dist/manifest/validator.mjs.map +1 -1
- package/dist/manifest/validators/checksum.cjs +23 -0
- package/dist/manifest/validators/checksum.cjs.map +1 -0
- package/dist/manifest/validators/checksum.d.cts +6 -0
- package/dist/manifest/validators/checksum.d.cts.map +1 -0
- package/dist/manifest/validators/checksum.d.mts +6 -0
- package/dist/manifest/validators/checksum.d.mts.map +1 -0
- package/dist/manifest/validators/checksum.mjs +18 -13
- package/dist/manifest/validators/checksum.mjs.map +1 -1
- package/dist/manifest/validators/expected-files.cjs +24 -0
- package/dist/manifest/validators/expected-files.cjs.map +1 -0
- package/dist/manifest/validators/expected-files.d.cts +6 -0
- package/dist/manifest/validators/expected-files.d.cts.map +1 -0
- package/dist/manifest/validators/expected-files.d.mts +6 -0
- package/dist/manifest/validators/expected-files.d.mts.map +1 -0
- package/dist/manifest/validators/expected-files.mjs +19 -7
- package/dist/manifest/validators/expected-files.mjs.map +1 -1
- package/dist/manifest/validators/icon-declared.cjs +15 -0
- package/dist/manifest/validators/icon-declared.cjs.map +1 -0
- package/dist/manifest/validators/icon-declared.d.cts +6 -0
- package/dist/manifest/validators/icon-declared.d.cts.map +1 -0
- package/dist/manifest/validators/icon-declared.d.mts +6 -0
- package/dist/manifest/validators/icon-declared.d.mts.map +1 -0
- package/dist/manifest/validators/icon-declared.mjs +10 -6
- package/dist/manifest/validators/icon-declared.mjs.map +1 -1
- package/dist/manifest/validators/icon-dimensions.cjs +20 -0
- package/dist/manifest/validators/icon-dimensions.cjs.map +1 -0
- package/dist/manifest/validators/icon-dimensions.d.cts +6 -0
- package/dist/manifest/validators/icon-dimensions.d.cts.map +1 -0
- package/dist/manifest/validators/icon-dimensions.d.mts +6 -0
- package/dist/manifest/validators/icon-dimensions.d.mts.map +1 -0
- package/dist/manifest/validators/icon-dimensions.mjs +15 -8
- package/dist/manifest/validators/icon-dimensions.mjs.map +1 -1
- package/dist/manifest/validators/icon-missing.cjs +16 -0
- package/dist/manifest/validators/icon-missing.cjs.map +1 -0
- package/dist/manifest/validators/icon-missing.d.cts +6 -0
- package/dist/manifest/validators/icon-missing.d.cts.map +1 -0
- package/dist/manifest/validators/icon-missing.d.mts +6 -0
- package/dist/manifest/validators/icon-missing.d.mts.map +1 -0
- package/dist/manifest/validators/icon-missing.mjs +11 -6
- package/dist/manifest/validators/icon-missing.mjs.map +1 -1
- package/dist/manifest/validators/index.cjs +31 -0
- package/dist/manifest/validators/index.cjs.map +1 -0
- package/dist/manifest/validators/index.d.cts +15 -0
- package/dist/manifest/validators/index.d.cts.map +1 -0
- package/dist/manifest/validators/index.d.mts +15 -0
- package/dist/manifest/validators/index.d.mts.map +1 -0
- package/dist/manifest/validators/index.mjs +14 -79
- package/dist/manifest/validators/index.mjs.map +1 -1
- package/dist/manifest/validators/is-localization-file.cjs +23 -0
- package/dist/manifest/validators/is-localization-file.cjs.map +1 -0
- package/dist/manifest/validators/is-localization-file.d.cts +6 -0
- package/dist/manifest/validators/is-localization-file.d.cts.map +1 -0
- package/dist/manifest/validators/is-localization-file.d.mts +6 -0
- package/dist/manifest/validators/is-localization-file.d.mts.map +1 -0
- package/dist/manifest/validators/is-localization-file.mjs +18 -10
- package/dist/manifest/validators/is-localization-file.mjs.map +1 -1
- package/dist/manifest/validators/is-package-json.cjs +24 -0
- package/dist/manifest/validators/is-package-json.cjs.map +1 -0
- package/dist/manifest/validators/is-package-json.d.cts +6 -0
- package/dist/manifest/validators/is-package-json.d.cts.map +1 -0
- package/dist/manifest/validators/is-package-json.d.mts +6 -0
- package/dist/manifest/validators/is-package-json.d.mts.map +1 -0
- package/dist/manifest/validators/is-package-json.mjs +19 -9
- package/dist/manifest/validators/is-package-json.mjs.map +1 -1
- package/dist/manifest/validators/is-snap-icon.cjs +24 -0
- package/dist/manifest/validators/is-snap-icon.cjs.map +1 -0
- package/dist/manifest/validators/is-snap-icon.d.cts +6 -0
- package/dist/manifest/validators/is-snap-icon.d.cts.map +1 -0
- package/dist/manifest/validators/is-snap-icon.d.mts +6 -0
- package/dist/manifest/validators/is-snap-icon.d.mts.map +1 -0
- package/dist/manifest/validators/is-snap-icon.mjs +19 -8
- package/dist/manifest/validators/is-snap-icon.mjs.map +1 -1
- package/dist/manifest/validators/is-snap-manifest.cjs +25 -0
- package/dist/manifest/validators/is-snap-manifest.cjs.map +1 -0
- package/dist/manifest/validators/is-snap-manifest.d.cts +6 -0
- package/dist/manifest/validators/is-snap-manifest.d.cts.map +1 -0
- package/dist/manifest/validators/is-snap-manifest.d.mts +6 -0
- package/dist/manifest/validators/is-snap-manifest.d.mts.map +1 -0
- package/dist/manifest/validators/is-snap-manifest.mjs +20 -21
- package/dist/manifest/validators/is-snap-manifest.mjs.map +1 -1
- package/dist/manifest/validators/manifest-localization.cjs +30 -0
- package/dist/manifest/validators/manifest-localization.cjs.map +1 -0
- package/dist/manifest/validators/manifest-localization.d.cts +6 -0
- package/dist/manifest/validators/manifest-localization.d.cts.map +1 -0
- package/dist/manifest/validators/manifest-localization.d.mts +6 -0
- package/dist/manifest/validators/manifest-localization.d.mts.map +1 -0
- package/dist/manifest/validators/manifest-localization.mjs +25 -8
- package/dist/manifest/validators/manifest-localization.mjs.map +1 -1
- package/dist/manifest/validators/package-json-recommended-fields.cjs +18 -0
- package/dist/manifest/validators/package-json-recommended-fields.cjs.map +1 -0
- package/dist/manifest/validators/package-json-recommended-fields.d.cts +6 -0
- package/dist/manifest/validators/package-json-recommended-fields.d.cts.map +1 -0
- package/dist/manifest/validators/package-json-recommended-fields.d.mts +6 -0
- package/dist/manifest/validators/package-json-recommended-fields.d.mts.map +1 -0
- package/dist/manifest/validators/package-json-recommended-fields.mjs +13 -6
- package/dist/manifest/validators/package-json-recommended-fields.mjs.map +1 -1
- package/dist/manifest/validators/package-name-match.cjs +21 -0
- package/dist/manifest/validators/package-name-match.cjs.map +1 -0
- package/dist/manifest/validators/package-name-match.d.cts +6 -0
- package/dist/manifest/validators/package-name-match.d.cts.map +1 -0
- package/dist/manifest/validators/package-name-match.d.mts +6 -0
- package/dist/manifest/validators/package-name-match.d.mts.map +1 -0
- package/dist/manifest/validators/package-name-match.mjs +16 -7
- package/dist/manifest/validators/package-name-match.mjs.map +1 -1
- package/dist/manifest/validators/repository-match.cjs +29 -0
- package/dist/manifest/validators/repository-match.cjs.map +1 -0
- package/dist/manifest/validators/repository-match.d.cts +6 -0
- package/dist/manifest/validators/repository-match.d.cts.map +1 -0
- package/dist/manifest/validators/repository-match.d.mts +6 -0
- package/dist/manifest/validators/repository-match.d.mts.map +1 -0
- package/dist/manifest/validators/repository-match.mjs +28 -8
- package/dist/manifest/validators/repository-match.mjs.map +1 -1
- package/dist/manifest/validators/version-match.cjs +21 -0
- package/dist/manifest/validators/version-match.cjs.map +1 -0
- package/dist/manifest/validators/version-match.d.cts +6 -0
- package/dist/manifest/validators/version-match.d.cts.map +1 -0
- package/dist/manifest/validators/version-match.d.mts +6 -0
- package/dist/manifest/validators/version-match.d.mts.map +1 -0
- package/dist/manifest/validators/version-match.mjs +16 -7
- package/dist/manifest/validators/version-match.mjs.map +1 -1
- package/dist/mock.cjs +113 -0
- package/dist/mock.cjs.map +1 -0
- package/dist/mock.d.cts +15 -0
- package/dist/mock.d.cts.map +1 -0
- package/dist/mock.d.mts +15 -0
- package/dist/mock.d.mts.map +1 -0
- package/dist/mock.mjs +103 -11
- package/dist/mock.mjs.map +1 -1
- package/dist/namespace.cjs +136 -0
- package/dist/namespace.cjs.map +1 -0
- package/dist/namespace.d.cts +130 -0
- package/dist/namespace.d.cts.map +1 -0
- package/dist/namespace.d.mts +130 -0
- package/dist/namespace.d.mts.map +1 -0
- package/dist/namespace.mjs +125 -43
- package/dist/namespace.mjs.map +1 -1
- package/dist/node.cjs +25 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.cts +8 -0
- package/dist/node.d.cts.map +1 -0
- package/dist/node.d.mts +8 -0
- package/dist/node.d.mts.map +1 -0
- package/dist/node.mjs +8 -475
- package/dist/node.mjs.map +1 -1
- package/dist/path.cjs +21 -0
- package/dist/path.cjs.map +1 -0
- package/dist/path.d.cts +8 -0
- package/dist/path.d.cts.map +1 -0
- package/dist/path.d.mts +8 -0
- package/dist/path.d.mts.map +1 -0
- package/dist/path.mjs +16 -7
- package/dist/path.mjs.map +1 -1
- package/dist/post-process.cjs +339 -0
- package/dist/post-process.cjs.map +1 -0
- package/dist/post-process.d.cts +72 -0
- package/dist/post-process.d.cts.map +1 -0
- package/dist/post-process.d.mts +72 -0
- package/dist/post-process.d.mts.map +1 -0
- package/dist/post-process.mjs +335 -9
- package/dist/post-process.mjs.map +1 -1
- package/dist/promise.cjs +3 -0
- package/dist/promise.cjs.map +1 -0
- package/dist/promise.d.cts +2 -0
- package/dist/promise.d.cts.map +1 -0
- package/dist/promise.d.mts +2 -0
- package/dist/promise.d.mts.map +1 -0
- package/dist/promise.mjs +1 -1
- package/dist/promise.mjs.map +1 -1
- package/dist/snaps.cjs +207 -0
- package/dist/snaps.cjs.map +1 -0
- package/dist/snaps.d.cts +170 -0
- package/dist/snaps.d.cts.map +1 -0
- package/dist/snaps.d.mts +170 -0
- package/dist/snaps.d.mts.map +1 -0
- package/dist/snaps.mjs +200 -45
- package/dist/snaps.mjs.map +1 -1
- package/dist/strings.cjs +15 -0
- package/dist/strings.cjs.map +1 -0
- package/dist/strings.d.cts +9 -0
- package/dist/strings.d.cts.map +1 -0
- package/dist/strings.d.mts +9 -0
- package/dist/strings.d.mts.map +1 -0
- package/dist/strings.mjs +10 -7
- package/dist/strings.mjs.map +1 -1
- package/dist/structs.cjs +316 -0
- package/dist/structs.cjs.map +1 -0
- package/dist/structs.d.cts +181 -0
- package/dist/structs.d.cts.map +1 -0
- package/dist/structs.d.mts +181 -0
- package/dist/structs.d.mts.map +1 -0
- package/dist/structs.mjs +300 -32
- package/dist/structs.mjs.map +1 -1
- package/dist/svg.cjs +49 -0
- package/dist/svg.cjs.map +1 -0
- package/dist/svg.d.cts +15 -0
- package/dist/svg.d.cts.map +1 -0
- package/dist/svg.d.mts +15 -0
- package/dist/svg.d.mts.map +1 -0
- package/dist/svg.mjs +43 -9
- package/dist/svg.mjs.map +1 -1
- package/dist/types.cjs +64 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +104 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +104 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +58 -21
- package/dist/types.mjs.map +1 -1
- package/dist/ui.cjs +405 -0
- package/dist/ui.cjs.map +1 -0
- package/dist/ui.d.cts +93 -0
- package/dist/ui.d.cts.map +1 -0
- package/dist/ui.d.mts +93 -0
- package/dist/ui.d.mts.map +1 -0
- package/dist/ui.mjs +391 -23
- package/dist/ui.mjs.map +1 -1
- package/dist/validation.cjs +23 -0
- package/dist/validation.cjs.map +1 -0
- package/dist/validation.d.cts +9 -0
- package/dist/validation.d.cts.map +1 -0
- package/dist/validation.d.mts +9 -0
- package/dist/validation.d.mts.map +1 -0
- package/dist/validation.mjs +18 -26
- package/dist/validation.mjs.map +1 -1
- package/dist/versions.cjs +44 -0
- package/dist/versions.cjs.map +1 -0
- package/dist/versions.d.cts +22 -0
- package/dist/versions.d.cts.map +1 -0
- package/dist/versions.d.mts +22 -0
- package/dist/versions.d.mts.map +1 -0
- package/dist/versions.mjs +38 -11
- package/dist/versions.mjs.map +1 -1
- package/dist/virtual-file/VirtualFile.cjs +75 -0
- package/dist/virtual-file/VirtualFile.cjs.map +1 -0
- package/dist/virtual-file/VirtualFile.d.cts +35 -0
- package/dist/virtual-file/VirtualFile.d.cts.map +1 -0
- package/dist/virtual-file/VirtualFile.d.mts +35 -0
- package/dist/virtual-file/VirtualFile.d.mts.map +1 -0
- package/dist/virtual-file/VirtualFile.mjs +70 -8
- package/dist/virtual-file/VirtualFile.mjs.map +1 -1
- package/dist/virtual-file/index.cjs +18 -0
- package/dist/virtual-file/index.cjs.map +1 -0
- package/dist/virtual-file/index.d.cts +2 -0
- package/dist/virtual-file/index.d.cts.map +1 -0
- package/dist/virtual-file/index.d.mts +2 -0
- package/dist/virtual-file/index.d.mts.map +1 -0
- package/dist/virtual-file/index.mjs +1 -9
- package/dist/virtual-file/index.mjs.map +1 -1
- package/dist/virtual-file/node.cjs +19 -0
- package/dist/virtual-file/node.cjs.map +1 -0
- package/dist/virtual-file/node.d.cts +3 -0
- package/dist/virtual-file/node.d.cts.map +1 -0
- package/dist/virtual-file/node.d.mts +3 -0
- package/dist/virtual-file/node.d.mts.map +1 -0
- package/dist/virtual-file/node.mjs +2 -16
- package/dist/virtual-file/node.mjs.map +1 -1
- package/dist/virtual-file/toVirtualFile.cjs +31 -0
- package/dist/virtual-file/toVirtualFile.cjs.map +1 -0
- package/dist/virtual-file/toVirtualFile.d.cts +24 -0
- package/dist/virtual-file/toVirtualFile.d.cts.map +1 -0
- package/dist/virtual-file/toVirtualFile.d.mts +24 -0
- package/dist/virtual-file/toVirtualFile.d.mts.map +1 -0
- package/dist/virtual-file/toVirtualFile.mjs +25 -11
- package/dist/virtual-file/toVirtualFile.mjs.map +1 -1
- package/package.json +36 -24
- package/dist/array.js +0 -8
- package/dist/array.js.map +0 -1
- package/dist/auxiliary-files.js +0 -15
- package/dist/auxiliary-files.js.map +0 -1
- package/dist/base64.js +0 -13
- package/dist/base64.js.map +0 -1
- package/dist/bytes.js +0 -10
- package/dist/bytes.js.map +0 -1
- package/dist/caveats.js +0 -8
- package/dist/caveats.js.map +0 -1
- package/dist/checksum.js +0 -13
- package/dist/checksum.js.map +0 -1
- package/dist/chunk-37EUH3KZ.js +0 -293
- package/dist/chunk-37EUH3KZ.js.map +0 -1
- package/dist/chunk-3N27GIUS.mjs +0 -229
- package/dist/chunk-3N27GIUS.mjs.map +0 -1
- package/dist/chunk-3OXW5H4F.js +0 -30
- package/dist/chunk-3OXW5H4F.js.map +0 -1
- package/dist/chunk-3RFGTBEP.js +0 -151
- package/dist/chunk-3RFGTBEP.js.map +0 -1
- package/dist/chunk-3RUWAMJT.mjs +0 -31
- package/dist/chunk-3RUWAMJT.mjs.map +0 -1
- package/dist/chunk-3S4INAGA.mjs +0 -18
- package/dist/chunk-3S4INAGA.mjs.map +0 -1
- package/dist/chunk-44VFHYJO.js +0 -249
- package/dist/chunk-44VFHYJO.js.map +0 -1
- package/dist/chunk-4AA3TKRJ.mjs +0 -153
- package/dist/chunk-4AA3TKRJ.mjs.map +0 -1
- package/dist/chunk-4BGZ2CHC.mjs +0 -22
- package/dist/chunk-4BGZ2CHC.mjs.map +0 -1
- package/dist/chunk-4CMD46B2.js +0 -1
- package/dist/chunk-4CMD46B2.js.map +0 -1
- package/dist/chunk-4RYTYEUQ.mjs +0 -33
- package/dist/chunk-4RYTYEUQ.mjs.map +0 -1
- package/dist/chunk-4ZJOU3LR.js +0 -71
- package/dist/chunk-4ZJOU3LR.js.map +0 -1
- package/dist/chunk-53QXTM77.js +0 -229
- package/dist/chunk-53QXTM77.js.map +0 -1
- package/dist/chunk-5FTBWYCW.mjs +0 -27
- package/dist/chunk-5FTBWYCW.mjs.map +0 -1
- package/dist/chunk-5MABKEV7.mjs +0 -66
- package/dist/chunk-5MABKEV7.mjs.map +0 -1
- package/dist/chunk-5R7UF7KM.mjs +0 -21
- package/dist/chunk-5R7UF7KM.mjs.map +0 -1
- package/dist/chunk-5UAPBOKO.js +0 -37
- package/dist/chunk-5UAPBOKO.js.map +0 -1
- package/dist/chunk-5WKQI22S.js +0 -7
- package/dist/chunk-5WKQI22S.js.map +0 -1
- package/dist/chunk-63OXILAY.mjs +0 -69
- package/dist/chunk-63OXILAY.mjs.map +0 -1
- package/dist/chunk-6ATNGN44.js +0 -300
- package/dist/chunk-6ATNGN44.js.map +0 -1
- package/dist/chunk-6HXIPMBN.js +0 -103
- package/dist/chunk-6HXIPMBN.js.map +0 -1
- package/dist/chunk-6YJWU77L.js +0 -19
- package/dist/chunk-6YJWU77L.js.map +0 -1
- package/dist/chunk-7HLSXEHK.mjs +0 -300
- package/dist/chunk-7HLSXEHK.mjs.map +0 -1
- package/dist/chunk-7LG4D4XA.mjs +0 -20
- package/dist/chunk-7LG4D4XA.mjs.map +0 -1
- package/dist/chunk-7P62OIGX.js +0 -69
- package/dist/chunk-7P62OIGX.js.map +0 -1
- package/dist/chunk-7T7FYH77.mjs +0 -37
- package/dist/chunk-7T7FYH77.mjs.map +0 -1
- package/dist/chunk-7VJ2BOVU.js +0 -15
- package/dist/chunk-7VJ2BOVU.js.map +0 -1
- package/dist/chunk-A3RRMELT.mjs +0 -1
- package/dist/chunk-A3RRMELT.mjs.map +0 -1
- package/dist/chunk-AMW2VJ3N.js +0 -32
- package/dist/chunk-AMW2VJ3N.js.map +0 -1
- package/dist/chunk-ANYNWSCA.mjs +0 -104
- package/dist/chunk-ANYNWSCA.mjs.map +0 -1
- package/dist/chunk-AOGVLPQZ.js +0 -18
- package/dist/chunk-AOGVLPQZ.js.map +0 -1
- package/dist/chunk-AS5P6JRP.mjs +0 -9
- package/dist/chunk-AS5P6JRP.mjs.map +0 -1
- package/dist/chunk-ASZWZ7JT.js +0 -20
- package/dist/chunk-ASZWZ7JT.js.map +0 -1
- package/dist/chunk-B5GNTDE2.js +0 -109
- package/dist/chunk-B5GNTDE2.js.map +0 -1
- package/dist/chunk-BGSO2GQC.mjs +0 -41
- package/dist/chunk-BGSO2GQC.mjs.map +0 -1
- package/dist/chunk-BPK5BH7K.js +0 -27
- package/dist/chunk-BPK5BH7K.js.map +0 -1
- package/dist/chunk-CJK7DDV2.mjs +0 -109
- package/dist/chunk-CJK7DDV2.mjs.map +0 -1
- package/dist/chunk-CPG2UGAA.js +0 -25
- package/dist/chunk-CPG2UGAA.js.map +0 -1
- package/dist/chunk-DE22V5AO.mjs +0 -53
- package/dist/chunk-DE22V5AO.mjs.map +0 -1
- package/dist/chunk-DEQUNIME.js +0 -53
- package/dist/chunk-DEQUNIME.js.map +0 -1
- package/dist/chunk-DKO64Y4H.mjs +0 -27
- package/dist/chunk-DKO64Y4H.mjs.map +0 -1
- package/dist/chunk-E3BDBG6T.js +0 -20
- package/dist/chunk-E3BDBG6T.js.map +0 -1
- package/dist/chunk-EFRPCO3C.js +0 -1
- package/dist/chunk-EFRPCO3C.js.map +0 -1
- package/dist/chunk-EVHDXNOC.mjs +0 -35
- package/dist/chunk-EVHDXNOC.mjs.map +0 -1
- package/dist/chunk-EYWMVDCD.mjs +0 -25
- package/dist/chunk-EYWMVDCD.mjs.map +0 -1
- package/dist/chunk-FA4QIZH6.js +0 -1
- package/dist/chunk-FA4QIZH6.js.map +0 -1
- package/dist/chunk-FBZ5SU7X.js +0 -189
- package/dist/chunk-FBZ5SU7X.js.map +0 -1
- package/dist/chunk-GIVJAZ2Q.mjs +0 -248
- package/dist/chunk-GIVJAZ2Q.mjs.map +0 -1
- package/dist/chunk-GJAVOB7B.js +0 -24
- package/dist/chunk-GJAVOB7B.js.map +0 -1
- package/dist/chunk-GXSTPU7D.mjs +0 -293
- package/dist/chunk-GXSTPU7D.mjs.map +0 -1
- package/dist/chunk-HY4W6BUH.mjs +0 -24
- package/dist/chunk-HY4W6BUH.mjs.map +0 -1
- package/dist/chunk-HYF7Q6VY.mjs +0 -1
- package/dist/chunk-HYF7Q6VY.mjs.map +0 -1
- package/dist/chunk-I2SWLZ34.js +0 -30
- package/dist/chunk-I2SWLZ34.js.map +0 -1
- package/dist/chunk-IELPPZJP.mjs +0 -189
- package/dist/chunk-IELPPZJP.mjs.map +0 -1
- package/dist/chunk-IJX3CXOY.js +0 -9
- package/dist/chunk-IJX3CXOY.js.map +0 -1
- package/dist/chunk-IPUL74MZ.mjs +0 -30
- package/dist/chunk-IPUL74MZ.mjs.map +0 -1
- package/dist/chunk-IV3FSWZ7.mjs +0 -9
- package/dist/chunk-IV3FSWZ7.mjs.map +0 -1
- package/dist/chunk-IVDERT5W.js +0 -22
- package/dist/chunk-IVDERT5W.js.map +0 -1
- package/dist/chunk-JETPRED3.js +0 -248
- package/dist/chunk-JETPRED3.js.map +0 -1
- package/dist/chunk-JI5NQ2C3.mjs +0 -1
- package/dist/chunk-JI5NQ2C3.mjs.map +0 -1
- package/dist/chunk-JJTIVHFX.mjs +0 -38
- package/dist/chunk-JJTIVHFX.mjs.map +0 -1
- package/dist/chunk-L2DHOOBX.js +0 -33
- package/dist/chunk-L2DHOOBX.js.map +0 -1
- package/dist/chunk-LEKZPKS2.js +0 -21
- package/dist/chunk-LEKZPKS2.js.map +0 -1
- package/dist/chunk-LHQP7CUJ.mjs +0 -107
- package/dist/chunk-LHQP7CUJ.mjs.map +0 -1
- package/dist/chunk-LOJA2ZS4.js +0 -107
- package/dist/chunk-LOJA2ZS4.js.map +0 -1
- package/dist/chunk-LQSEBGOX.js +0 -34
- package/dist/chunk-LQSEBGOX.js.map +0 -1
- package/dist/chunk-MDOG3S4V.mjs +0 -34
- package/dist/chunk-MDOG3S4V.mjs.map +0 -1
- package/dist/chunk-MFGLB75H.mjs +0 -22
- package/dist/chunk-MFGLB75H.mjs.map +0 -1
- package/dist/chunk-MKFQAXRF.js +0 -21
- package/dist/chunk-MKFQAXRF.js.map +0 -1
- package/dist/chunk-MQURBEO4.mjs +0 -16
- package/dist/chunk-MQURBEO4.mjs.map +0 -1
- package/dist/chunk-MWAZGSRO.js +0 -75
- package/dist/chunk-MWAZGSRO.js.map +0 -1
- package/dist/chunk-N2JAYIUP.mjs +0 -75
- package/dist/chunk-N2JAYIUP.mjs.map +0 -1
- package/dist/chunk-N4MA537G.js +0 -22
- package/dist/chunk-N4MA537G.js.map +0 -1
- package/dist/chunk-N5HVDE3P.mjs +0 -30
- package/dist/chunk-N5HVDE3P.mjs.map +0 -1
- package/dist/chunk-N722KRZW.js +0 -41
- package/dist/chunk-N722KRZW.js.map +0 -1
- package/dist/chunk-NNYGTNHP.mjs +0 -1
- package/dist/chunk-NNYGTNHP.mjs.map +0 -1
- package/dist/chunk-NSVVZNSD.mjs +0 -183
- package/dist/chunk-NSVVZNSD.mjs.map +0 -1
- package/dist/chunk-NUCLSR2G.js +0 -8
- package/dist/chunk-NUCLSR2G.js.map +0 -1
- package/dist/chunk-OBN2WDFU.js +0 -38
- package/dist/chunk-OBN2WDFU.js.map +0 -1
- package/dist/chunk-P252LKUT.mjs +0 -9
- package/dist/chunk-P252LKUT.mjs.map +0 -1
- package/dist/chunk-PAOTMYIM.mjs +0 -69
- package/dist/chunk-PAOTMYIM.mjs.map +0 -1
- package/dist/chunk-PJMEJVOB.mjs +0 -29
- package/dist/chunk-PJMEJVOB.mjs.map +0 -1
- package/dist/chunk-PLBSSUVY.js +0 -29
- package/dist/chunk-PLBSSUVY.js.map +0 -1
- package/dist/chunk-PLNIERDY.js +0 -34
- package/dist/chunk-PLNIERDY.js.map +0 -1
- package/dist/chunk-PO5BBHHX.mjs +0 -22
- package/dist/chunk-PO5BBHHX.mjs.map +0 -1
- package/dist/chunk-PTOH2SVI.mjs +0 -55
- package/dist/chunk-PTOH2SVI.mjs.map +0 -1
- package/dist/chunk-PZF4KWU2.mjs +0 -151
- package/dist/chunk-PZF4KWU2.mjs.map +0 -1
- package/dist/chunk-QD3LTING.js +0 -34
- package/dist/chunk-QD3LTING.js.map +0 -1
- package/dist/chunk-QGCNQRIQ.js +0 -35
- package/dist/chunk-QGCNQRIQ.js.map +0 -1
- package/dist/chunk-QYPLUMB7.mjs +0 -249
- package/dist/chunk-QYPLUMB7.mjs.map +0 -1
- package/dist/chunk-RAZ7XG4Z.mjs +0 -1
- package/dist/chunk-RAZ7XG4Z.mjs.map +0 -1
- package/dist/chunk-RNMJQSVQ.js +0 -69
- package/dist/chunk-RNMJQSVQ.js.map +0 -1
- package/dist/chunk-RRFKK45V.mjs +0 -15
- package/dist/chunk-RRFKK45V.mjs.map +0 -1
- package/dist/chunk-S3BWTUTZ.js +0 -31
- package/dist/chunk-S3BWTUTZ.js.map +0 -1
- package/dist/chunk-SKKANJ45.mjs +0 -19
- package/dist/chunk-SKKANJ45.mjs.map +0 -1
- package/dist/chunk-SPCIIRSB.mjs +0 -7
- package/dist/chunk-SPCIIRSB.mjs.map +0 -1
- package/dist/chunk-SRMDDOVO.mjs +0 -20
- package/dist/chunk-SRMDDOVO.mjs.map +0 -1
- package/dist/chunk-SYYDKPK3.js +0 -15
- package/dist/chunk-SYYDKPK3.js.map +0 -1
- package/dist/chunk-T2VA4YJE.js +0 -104
- package/dist/chunk-T2VA4YJE.js.map +0 -1
- package/dist/chunk-T3VM5YXY.js +0 -1
- package/dist/chunk-T3VM5YXY.js.map +0 -1
- package/dist/chunk-T3YY4JIJ.js +0 -9
- package/dist/chunk-T3YY4JIJ.js.map +0 -1
- package/dist/chunk-T5ZOOZ46.js +0 -22
- package/dist/chunk-T5ZOOZ46.js.map +0 -1
- package/dist/chunk-TAMKWZ4E.js +0 -183
- package/dist/chunk-TAMKWZ4E.js.map +0 -1
- package/dist/chunk-TFP64TMV.js +0 -1
- package/dist/chunk-TFP64TMV.js.map +0 -1
- package/dist/chunk-TYWGZIOF.mjs +0 -34
- package/dist/chunk-TYWGZIOF.mjs.map +0 -1
- package/dist/chunk-UAINMOUU.js +0 -18
- package/dist/chunk-UAINMOUU.js.map +0 -1
- package/dist/chunk-UNNEBOL4.mjs +0 -15
- package/dist/chunk-UNNEBOL4.mjs.map +0 -1
- package/dist/chunk-UW74NLTC.mjs +0 -18
- package/dist/chunk-UW74NLTC.mjs.map +0 -1
- package/dist/chunk-VBYSWMSU.js +0 -66
- package/dist/chunk-VBYSWMSU.js.map +0 -1
- package/dist/chunk-VEPYH26P.js +0 -27
- package/dist/chunk-VEPYH26P.js.map +0 -1
- package/dist/chunk-VIAHMNTA.mjs +0 -34
- package/dist/chunk-VIAHMNTA.mjs.map +0 -1
- package/dist/chunk-VWLBM7XM.js +0 -1
- package/dist/chunk-VWLBM7XM.js.map +0 -1
- package/dist/chunk-W7A3BYUP.mjs +0 -1
- package/dist/chunk-W7A3BYUP.mjs.map +0 -1
- package/dist/chunk-W7KRIAIX.js +0 -55
- package/dist/chunk-W7KRIAIX.js.map +0 -1
- package/dist/chunk-X2GGUOMY.js +0 -153
- package/dist/chunk-X2GGUOMY.js.map +0 -1
- package/dist/chunk-X3UZCGO5.mjs +0 -103
- package/dist/chunk-X3UZCGO5.mjs.map +0 -1
- package/dist/chunk-XF2AZMWG.mjs +0 -32
- package/dist/chunk-XF2AZMWG.mjs.map +0 -1
- package/dist/chunk-XWYJQWHG.js +0 -56
- package/dist/chunk-XWYJQWHG.js.map +0 -1
- package/dist/chunk-XZ7362GQ.mjs +0 -63
- package/dist/chunk-XZ7362GQ.mjs.map +0 -1
- package/dist/chunk-XZNJFDBF.mjs +0 -21
- package/dist/chunk-XZNJFDBF.mjs.map +0 -1
- package/dist/chunk-YJHQZFR4.mjs +0 -71
- package/dist/chunk-YJHQZFR4.mjs.map +0 -1
- package/dist/chunk-YL2EHYAA.js +0 -16
- package/dist/chunk-YL2EHYAA.js.map +0 -1
- package/dist/chunk-Z2JQNSVL.mjs +0 -8
- package/dist/chunk-Z2JQNSVL.mjs.map +0 -1
- package/dist/chunk-ZT3KKTS2.js +0 -9
- package/dist/chunk-ZT3KKTS2.js.map +0 -1
- package/dist/constants.js +0 -8
- package/dist/constants.js.map +0 -1
- package/dist/cronjob.js +0 -20
- package/dist/cronjob.js.map +0 -1
- package/dist/deep-clone.js +0 -8
- package/dist/deep-clone.js.map +0 -1
- package/dist/default-endowments.js +0 -8
- package/dist/default-endowments.js.map +0 -1
- package/dist/derivation-paths.js +0 -13
- package/dist/derivation-paths.js.map +0 -1
- package/dist/entropy.js +0 -10
- package/dist/entropy.js.map +0 -1
- package/dist/errors.js +0 -20
- package/dist/errors.js.map +0 -1
- package/dist/eval-worker.js +0 -43
- package/dist/eval-worker.js.map +0 -1
- package/dist/eval.js +0 -17
- package/dist/eval.js.map +0 -1
- package/dist/fs.js +0 -28
- package/dist/fs.js.map +0 -1
- package/dist/handler-types.js +0 -10
- package/dist/handler-types.js.map +0 -1
- package/dist/handlers.js +0 -35
- package/dist/handlers.js.map +0 -1
- package/dist/icon.js +0 -15
- package/dist/icon.js.map +0 -1
- package/dist/iframe.js +0 -8
- package/dist/iframe.js.map +0 -1
- package/dist/index.executionenv.js +0 -128
- package/dist/index.executionenv.js.map +0 -1
- package/dist/index.js +0 -398
- package/dist/index.js.map +0 -1
- package/dist/json-rpc.js +0 -18
- package/dist/json-rpc.js.map +0 -1
- package/dist/json.js +0 -10
- package/dist/json.js.map +0 -1
- package/dist/localization.js +0 -23
- package/dist/localization.js.map +0 -1
- package/dist/logging.js +0 -14
- package/dist/logging.js.map +0 -1
- package/dist/manifest/index.js +0 -65
- package/dist/manifest/index.js.map +0 -1
- package/dist/manifest/manifest.js +0 -59
- package/dist/manifest/manifest.js.map +0 -1
- package/dist/manifest/node.js +0 -106
- package/dist/manifest/node.js.map +0 -1
- package/dist/manifest/validation.js +0 -64
- package/dist/manifest/validation.js.map +0 -1
- package/dist/manifest/validator-types.js +0 -1
- package/dist/manifest/validator-types.js.map +0 -1
- package/dist/manifest/validator.js +0 -44
- package/dist/manifest/validator.js.map +0 -1
- package/dist/manifest/validators/checksum.js +0 -15
- package/dist/manifest/validators/checksum.js.map +0 -1
- package/dist/manifest/validators/expected-files.js +0 -9
- package/dist/manifest/validators/expected-files.js.map +0 -1
- package/dist/manifest/validators/icon-declared.js +0 -8
- package/dist/manifest/validators/icon-declared.js.map +0 -1
- package/dist/manifest/validators/icon-dimensions.js +0 -10
- package/dist/manifest/validators/icon-dimensions.js.map +0 -1
- package/dist/manifest/validators/icon-missing.js +0 -8
- package/dist/manifest/validators/icon-missing.js.map +0 -1
- package/dist/manifest/validators/index.js +0 -80
- package/dist/manifest/validators/index.js.map +0 -1
- package/dist/manifest/validators/is-localization-file.js +0 -12
- package/dist/manifest/validators/is-localization-file.js.map +0 -1
- package/dist/manifest/validators/is-package-json.js +0 -11
- package/dist/manifest/validators/is-package-json.js.map +0 -1
- package/dist/manifest/validators/is-snap-icon.js +0 -10
- package/dist/manifest/validators/is-snap-icon.js.map +0 -1
- package/dist/manifest/validators/is-snap-manifest.js +0 -23
- package/dist/manifest/validators/is-snap-manifest.js.map +0 -1
- package/dist/manifest/validators/manifest-localization.js +0 -10
- package/dist/manifest/validators/manifest-localization.js.map +0 -1
- package/dist/manifest/validators/package-json-recommended-fields.js +0 -8
- package/dist/manifest/validators/package-json-recommended-fields.js.map +0 -1
- package/dist/manifest/validators/package-name-match.js +0 -9
- package/dist/manifest/validators/package-name-match.js.map +0 -1
- package/dist/manifest/validators/repository-match.js +0 -10
- package/dist/manifest/validators/repository-match.js.map +0 -1
- package/dist/manifest/validators/version-match.js +0 -9
- package/dist/manifest/validators/version-match.js.map +0 -1
- package/dist/mock.js +0 -13
- package/dist/mock.js.map +0 -1
- package/dist/namespace.js +0 -44
- package/dist/namespace.js.map +0 -1
- package/dist/node.js +0 -476
- package/dist/node.js.map +0 -1
- package/dist/path.js +0 -8
- package/dist/path.js.map +0 -1
- package/dist/post-process.js +0 -10
- package/dist/post-process.js.map +0 -1
- package/dist/promise.js +0 -2
- package/dist/promise.js.map +0 -1
- package/dist/snaps.js +0 -46
- package/dist/snaps.js.map +0 -1
- package/dist/strings.js +0 -8
- package/dist/strings.js.map +0 -1
- package/dist/structs.js +0 -33
- package/dist/structs.js.map +0 -1
- package/dist/svg.js +0 -10
- package/dist/svg.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/array.d.ts +0 -10
- package/dist/types/auxiliary-files.d.ts +0 -16
- package/dist/types/base64.d.ts +0 -15
- package/dist/types/bytes.d.ts +0 -8
- package/dist/types/caveats.d.ts +0 -46
- package/dist/types/checksum.d.ts +0 -21
- package/dist/types/constants.d.ts +0 -1
- package/dist/types/cronjob.d.ts +0 -89
- package/dist/types/deep-clone.d.ts +0 -1
- package/dist/types/default-endowments.d.ts +0 -4
- package/dist/types/derivation-paths.d.ts +0 -24
- package/dist/types/entropy.d.ts +0 -3
- package/dist/types/errors.d.ts +0 -84
- package/dist/types/eval-worker.d.ts +0 -1
- package/dist/types/eval.d.ts +0 -16
- package/dist/types/fs.d.ts +0 -69
- package/dist/types/handler-types.d.ts +0 -34
- package/dist/types/handlers.d.ts +0 -749
- package/dist/types/icon.d.ts +0 -19
- package/dist/types/iframe.d.ts +0 -11
- package/dist/types/iframe.test.browser.d.ts +0 -1
- package/dist/types/index.d.ts +0 -32
- package/dist/types/index.executionenv.d.ts +0 -7
- package/dist/types/json-rpc.d.ts +0 -55
- package/dist/types/json.d.ts +0 -22
- package/dist/types/localization.d.ts +0 -145
- package/dist/types/logging.d.ts +0 -49
- package/dist/types/manifest/index.d.ts +0 -1
- package/dist/types/manifest/manifest.d.ts +0 -98
- package/dist/types/manifest/node.d.ts +0 -2
- package/dist/types/manifest/validation.d.ts +0 -253
- package/dist/types/manifest/validator-types.d.ts +0 -34
- package/dist/types/manifest/validator.d.ts +0 -22
- package/dist/types/manifest/validators/checksum.d.ts +0 -5
- package/dist/types/manifest/validators/expected-files.d.ts +0 -5
- package/dist/types/manifest/validators/icon-declared.d.ts +0 -5
- package/dist/types/manifest/validators/icon-dimensions.d.ts +0 -5
- package/dist/types/manifest/validators/icon-missing.d.ts +0 -5
- package/dist/types/manifest/validators/index.d.ts +0 -14
- package/dist/types/manifest/validators/is-localization-file.d.ts +0 -5
- package/dist/types/manifest/validators/is-package-json.d.ts +0 -5
- package/dist/types/manifest/validators/is-snap-icon.d.ts +0 -5
- package/dist/types/manifest/validators/is-snap-manifest.d.ts +0 -5
- package/dist/types/manifest/validators/manifest-localization.d.ts +0 -5
- package/dist/types/manifest/validators/package-json-recommended-fields.d.ts +0 -5
- package/dist/types/manifest/validators/package-name-match.d.ts +0 -5
- package/dist/types/manifest/validators/repository-match.d.ts +0 -5
- package/dist/types/manifest/validators/version-match.d.ts +0 -5
- package/dist/types/mock.d.ts +0 -14
- package/dist/types/namespace.d.ts +0 -129
- package/dist/types/node.d.ts +0 -7
- package/dist/types/path.d.ts +0 -7
- package/dist/types/post-process.d.ts +0 -71
- package/dist/types/promise.d.ts +0 -1
- package/dist/types/snaps.d.ts +0 -169
- package/dist/types/strings.d.ts +0 -8
- package/dist/types/structs.d.ts +0 -180
- package/dist/types/svg.d.ts +0 -14
- package/dist/types/types.d.ts +0 -103
- package/dist/types/ui.d.ts +0 -84
- package/dist/types/validation.d.ts +0 -8
- package/dist/types/versions.d.ts +0 -21
- package/dist/types/virtual-file/VirtualFile.d.ts +0 -34
- package/dist/types/virtual-file/index.d.ts +0 -1
- package/dist/types/virtual-file/node.d.ts +0 -2
- package/dist/types/virtual-file/toVirtualFile.d.ts +0 -21
- package/dist/types.js +0 -22
- package/dist/types.js.map +0 -1
- package/dist/ui.js +0 -24
- package/dist/ui.js.map +0 -1
- package/dist/validation.js +0 -27
- package/dist/validation.js.map +0 -1
- package/dist/versions.js +0 -12
- package/dist/versions.js.map +0 -1
- package/dist/virtual-file/VirtualFile.js +0 -9
- package/dist/virtual-file/VirtualFile.js.map +0 -1
- package/dist/virtual-file/index.js +0 -10
- package/dist/virtual-file/index.js.map +0 -1
- package/dist/virtual-file/node.js +0 -17
- package/dist/virtual-file/node.js.map +0 -1
- package/dist/virtual-file/toVirtualFile.js +0 -12
- package/dist/virtual-file/toVirtualFile.js.map +0 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSnapManifest = exports.assertIsSnapManifest = exports.isSnapManifest = exports.SnapManifestStruct = exports.InitialConnectionsStruct = exports.SnapAuxilaryFilesStruct = exports.PermissionsStruct = exports.EmptyObjectStruct = exports.HandlerCaveatsStruct = exports.MaxRequestTimeStruct = exports.MAXIMUM_REQUEST_TIMEOUT = exports.MINIMUM_REQUEST_TIMEOUT = exports.LookupMatchersStruct = exports.ChainIdsStruct = exports.SnapIdsStruct = exports.SemVerRangeStruct = exports.SnapGetBip32EntropyPermissionsStruct = exports.Bip32EntropyStruct = exports.CurveStruct = exports.bip32entropy = exports.Bip32PathStruct = exports.FORBIDDEN_COIN_TYPES = void 0;
|
|
4
|
+
const key_tree_1 = require("@metamask/key-tree");
|
|
5
|
+
const superstruct_1 = require("@metamask/superstruct");
|
|
6
|
+
const utils_1 = require("@metamask/utils");
|
|
7
|
+
const array_1 = require("../array.cjs");
|
|
8
|
+
const cronjob_1 = require("../cronjob.cjs");
|
|
9
|
+
const entropy_1 = require("../entropy.cjs");
|
|
10
|
+
const json_rpc_1 = require("../json-rpc.cjs");
|
|
11
|
+
const namespace_1 = require("../namespace.cjs");
|
|
12
|
+
const snaps_1 = require("../snaps.cjs");
|
|
13
|
+
const structs_1 = require("../structs.cjs");
|
|
14
|
+
const types_1 = require("../types.cjs");
|
|
15
|
+
// BIP-43 purposes that cannot be used for entropy derivation. These are in the
|
|
16
|
+
// string form, ending with `'`.
|
|
17
|
+
const FORBIDDEN_PURPOSES = [
|
|
18
|
+
entropy_1.SIP_6_MAGIC_VALUE,
|
|
19
|
+
entropy_1.STATE_ENCRYPTION_MAGIC_VALUE,
|
|
20
|
+
];
|
|
21
|
+
exports.FORBIDDEN_COIN_TYPES = [60];
|
|
22
|
+
const FORBIDDEN_PATHS = exports.FORBIDDEN_COIN_TYPES.map((coinType) => [
|
|
23
|
+
'm',
|
|
24
|
+
"44'",
|
|
25
|
+
`${coinType}'`,
|
|
26
|
+
]);
|
|
27
|
+
exports.Bip32PathStruct = (0, superstruct_1.refine)((0, superstruct_1.array)((0, superstruct_1.string)()), 'BIP-32 path', (path) => {
|
|
28
|
+
if (path.length === 0) {
|
|
29
|
+
return 'Path must be a non-empty BIP-32 derivation path array';
|
|
30
|
+
}
|
|
31
|
+
if (path[0] !== 'm') {
|
|
32
|
+
return 'Path must start with "m".';
|
|
33
|
+
}
|
|
34
|
+
if (path.length < 3) {
|
|
35
|
+
return 'Paths must have a length of at least three.';
|
|
36
|
+
}
|
|
37
|
+
if (path.slice(1).some((part) => !(0, key_tree_1.isValidBIP32PathSegment)(part))) {
|
|
38
|
+
return 'Path must be a valid BIP-32 derivation path array.';
|
|
39
|
+
}
|
|
40
|
+
if (FORBIDDEN_PURPOSES.includes(path[1])) {
|
|
41
|
+
return `The purpose "${path[1]}" is not allowed for entropy derivation.`;
|
|
42
|
+
}
|
|
43
|
+
if (FORBIDDEN_PATHS.some((forbiddenPath) => (0, array_1.isEqual)(path.slice(0, forbiddenPath.length), forbiddenPath))) {
|
|
44
|
+
return `The path "${path.join('/')}" is not allowed for entropy derivation.`;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
});
|
|
48
|
+
const bip32entropy = (struct) => (0, superstruct_1.refine)(struct, 'BIP-32 entropy', (value) => {
|
|
49
|
+
if (value.curve === 'ed25519' &&
|
|
50
|
+
value.path.slice(1).some((part) => !part.endsWith("'"))) {
|
|
51
|
+
return 'Ed25519 does not support unhardened paths.';
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
});
|
|
55
|
+
exports.bip32entropy = bip32entropy;
|
|
56
|
+
exports.CurveStruct = (0, superstruct_1.enums)([
|
|
57
|
+
'ed25519',
|
|
58
|
+
'secp256k1',
|
|
59
|
+
'ed25519Bip32',
|
|
60
|
+
]);
|
|
61
|
+
// Used outside @metamask/snap-utils
|
|
62
|
+
exports.Bip32EntropyStruct = (0, exports.bip32entropy)((0, superstruct_1.type)({
|
|
63
|
+
path: exports.Bip32PathStruct,
|
|
64
|
+
curve: exports.CurveStruct,
|
|
65
|
+
}));
|
|
66
|
+
exports.SnapGetBip32EntropyPermissionsStruct = (0, superstruct_1.size)((0, superstruct_1.array)(exports.Bip32EntropyStruct), 1, Infinity);
|
|
67
|
+
exports.SemVerRangeStruct = (0, superstruct_1.refine)((0, superstruct_1.string)(), 'SemVer range', (value) => {
|
|
68
|
+
if ((0, utils_1.isValidSemVerRange)(value)) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
return 'Expected a valid SemVer range.';
|
|
72
|
+
});
|
|
73
|
+
exports.SnapIdsStruct = (0, superstruct_1.refine)((0, superstruct_1.record)(snaps_1.SnapIdStruct, (0, superstruct_1.object)({ version: (0, superstruct_1.optional)(exports.SemVerRangeStruct) })), 'SnapIds', (value) => {
|
|
74
|
+
if (Object.keys(value).length === 0) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
});
|
|
79
|
+
exports.ChainIdsStruct = (0, superstruct_1.size)((0, superstruct_1.array)(namespace_1.ChainIdStruct), 1, Infinity);
|
|
80
|
+
exports.LookupMatchersStruct = (0, superstruct_1.union)([
|
|
81
|
+
(0, superstruct_1.object)({
|
|
82
|
+
tlds: (0, superstruct_1.size)((0, superstruct_1.array)((0, superstruct_1.string)()), 1, Infinity),
|
|
83
|
+
}),
|
|
84
|
+
(0, superstruct_1.object)({
|
|
85
|
+
schemes: (0, superstruct_1.size)((0, superstruct_1.array)((0, superstruct_1.string)()), 1, Infinity),
|
|
86
|
+
}),
|
|
87
|
+
(0, superstruct_1.object)({
|
|
88
|
+
tlds: (0, superstruct_1.size)((0, superstruct_1.array)((0, superstruct_1.string)()), 1, Infinity),
|
|
89
|
+
schemes: (0, superstruct_1.size)((0, superstruct_1.array)((0, superstruct_1.string)()), 1, Infinity),
|
|
90
|
+
}),
|
|
91
|
+
]);
|
|
92
|
+
exports.MINIMUM_REQUEST_TIMEOUT = (0, utils_1.inMilliseconds)(5, utils_1.Duration.Second);
|
|
93
|
+
exports.MAXIMUM_REQUEST_TIMEOUT = (0, utils_1.inMilliseconds)(3, utils_1.Duration.Minute);
|
|
94
|
+
exports.MaxRequestTimeStruct = (0, superstruct_1.size)((0, superstruct_1.integer)(), exports.MINIMUM_REQUEST_TIMEOUT, exports.MAXIMUM_REQUEST_TIMEOUT);
|
|
95
|
+
// Utility type to union with for all handler structs
|
|
96
|
+
exports.HandlerCaveatsStruct = (0, superstruct_1.object)({
|
|
97
|
+
maxRequestTime: (0, superstruct_1.optional)(exports.MaxRequestTimeStruct),
|
|
98
|
+
});
|
|
99
|
+
exports.EmptyObjectStruct = (0, superstruct_1.object)({});
|
|
100
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
101
|
+
exports.PermissionsStruct = (0, superstruct_1.type)({
|
|
102
|
+
'endowment:cronjob': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, (0, superstruct_1.object)({ jobs: cronjob_1.CronjobSpecificationArrayStruct }))),
|
|
103
|
+
'endowment:ethereum-provider': (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
104
|
+
'endowment:keyring': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, json_rpc_1.KeyringOriginsStruct)),
|
|
105
|
+
'endowment:lifecycle-hooks': (0, superstruct_1.optional)(exports.HandlerCaveatsStruct),
|
|
106
|
+
'endowment:name-lookup': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, (0, superstruct_1.object)({
|
|
107
|
+
chains: (0, superstruct_1.optional)(exports.ChainIdsStruct),
|
|
108
|
+
matchers: (0, superstruct_1.optional)(exports.LookupMatchersStruct),
|
|
109
|
+
}))),
|
|
110
|
+
'endowment:network-access': (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
111
|
+
'endowment:page-home': (0, superstruct_1.optional)(exports.HandlerCaveatsStruct),
|
|
112
|
+
'endowment:rpc': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, json_rpc_1.RpcOriginsStruct)),
|
|
113
|
+
'endowment:signature-insight': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, (0, superstruct_1.object)({
|
|
114
|
+
allowSignatureOrigin: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
115
|
+
}))),
|
|
116
|
+
'endowment:transaction-insight': (0, superstruct_1.optional)((0, structs_1.mergeStructs)(exports.HandlerCaveatsStruct, (0, superstruct_1.object)({
|
|
117
|
+
allowTransactionOrigin: (0, superstruct_1.optional)((0, superstruct_1.boolean)()),
|
|
118
|
+
}))),
|
|
119
|
+
'endowment:webassembly': (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
120
|
+
snap_dialog: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
121
|
+
snap_manageState: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
122
|
+
snap_manageAccounts: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
123
|
+
snap_notify: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
124
|
+
snap_getBip32Entropy: (0, superstruct_1.optional)(exports.SnapGetBip32EntropyPermissionsStruct),
|
|
125
|
+
snap_getBip32PublicKey: (0, superstruct_1.optional)(exports.SnapGetBip32EntropyPermissionsStruct),
|
|
126
|
+
snap_getBip44Entropy: (0, superstruct_1.optional)((0, superstruct_1.size)((0, superstruct_1.array)((0, superstruct_1.object)({ coinType: (0, superstruct_1.size)((0, superstruct_1.integer)(), 0, 2 ** 32 - 1) })), 1, Infinity)),
|
|
127
|
+
snap_getEntropy: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
128
|
+
snap_getLocale: (0, superstruct_1.optional)(exports.EmptyObjectStruct),
|
|
129
|
+
wallet_snap: (0, superstruct_1.optional)(exports.SnapIdsStruct),
|
|
130
|
+
});
|
|
131
|
+
exports.SnapAuxilaryFilesStruct = (0, superstruct_1.array)((0, superstruct_1.string)());
|
|
132
|
+
exports.InitialConnectionsStruct = (0, superstruct_1.record)((0, superstruct_1.intersection)([(0, superstruct_1.string)(), (0, types_1.uri)()]), (0, superstruct_1.object)({}));
|
|
133
|
+
exports.SnapManifestStruct = (0, superstruct_1.object)({
|
|
134
|
+
version: utils_1.VersionStruct,
|
|
135
|
+
description: (0, superstruct_1.size)((0, superstruct_1.string)(), 1, 280),
|
|
136
|
+
proposedName: (0, superstruct_1.size)((0, superstruct_1.string)(), 1, 214),
|
|
137
|
+
repository: (0, superstruct_1.optional)((0, superstruct_1.object)({
|
|
138
|
+
type: (0, superstruct_1.size)((0, superstruct_1.string)(), 1, Infinity),
|
|
139
|
+
url: (0, superstruct_1.size)((0, superstruct_1.string)(), 1, Infinity),
|
|
140
|
+
})),
|
|
141
|
+
source: (0, superstruct_1.object)({
|
|
142
|
+
shasum: utils_1.ChecksumStruct,
|
|
143
|
+
location: (0, superstruct_1.object)({
|
|
144
|
+
npm: (0, superstruct_1.object)({
|
|
145
|
+
filePath: (0, superstruct_1.size)((0, superstruct_1.string)(), 1, Infinity),
|
|
146
|
+
iconPath: (0, superstruct_1.optional)((0, superstruct_1.size)((0, superstruct_1.string)(), 1, Infinity)),
|
|
147
|
+
packageName: types_1.NameStruct,
|
|
148
|
+
registry: (0, superstruct_1.union)([
|
|
149
|
+
(0, superstruct_1.literal)('https://registry.npmjs.org'),
|
|
150
|
+
(0, superstruct_1.literal)('https://registry.npmjs.org/'),
|
|
151
|
+
]),
|
|
152
|
+
}),
|
|
153
|
+
}),
|
|
154
|
+
files: (0, superstruct_1.optional)(exports.SnapAuxilaryFilesStruct),
|
|
155
|
+
locales: (0, superstruct_1.optional)(exports.SnapAuxilaryFilesStruct),
|
|
156
|
+
}),
|
|
157
|
+
initialConnections: (0, superstruct_1.optional)(exports.InitialConnectionsStruct),
|
|
158
|
+
initialPermissions: exports.PermissionsStruct,
|
|
159
|
+
manifestVersion: (0, superstruct_1.literal)('0.1'),
|
|
160
|
+
$schema: (0, superstruct_1.optional)((0, superstruct_1.string)()), // enables JSON-Schema linting in VSC and other IDEs
|
|
161
|
+
});
|
|
162
|
+
/**
|
|
163
|
+
* Check if the given value is a valid {@link SnapManifest} object.
|
|
164
|
+
*
|
|
165
|
+
* @param value - The value to check.
|
|
166
|
+
* @returns Whether the value is a valid {@link SnapManifest} object.
|
|
167
|
+
*/
|
|
168
|
+
function isSnapManifest(value) {
|
|
169
|
+
return (0, superstruct_1.is)(value, exports.SnapManifestStruct);
|
|
170
|
+
}
|
|
171
|
+
exports.isSnapManifest = isSnapManifest;
|
|
172
|
+
/**
|
|
173
|
+
* Assert that the given value is a valid {@link SnapManifest} object.
|
|
174
|
+
*
|
|
175
|
+
* @param value - The value to check.
|
|
176
|
+
* @throws If the value is not a valid {@link SnapManifest} object.
|
|
177
|
+
*/
|
|
178
|
+
function assertIsSnapManifest(value) {
|
|
179
|
+
(0, utils_1.assertStruct)(value, exports.SnapManifestStruct, `"${types_1.NpmSnapFileNames.Manifest}" is invalid`);
|
|
180
|
+
}
|
|
181
|
+
exports.assertIsSnapManifest = assertIsSnapManifest;
|
|
182
|
+
/**
|
|
183
|
+
* Creates a {@link SnapManifest} object from JSON.
|
|
184
|
+
*
|
|
185
|
+
* @param value - The value to check.
|
|
186
|
+
* @throws If the value cannot be coerced to a {@link SnapManifest} object.
|
|
187
|
+
* @returns The created {@link SnapManifest} object.
|
|
188
|
+
*/
|
|
189
|
+
function createSnapManifest(value) {
|
|
190
|
+
// TODO: Add a utility to prefix these errors similar to assertStruct
|
|
191
|
+
return (0, superstruct_1.create)(value, exports.SnapManifestStruct);
|
|
192
|
+
}
|
|
193
|
+
exports.createSnapManifest = createSnapManifest;
|
|
194
|
+
//# sourceMappingURL=validation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.cjs","sourceRoot":"","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,254 @@
|
|
|
1
|
+
import type { SupportedCurve } from "@metamask/key-tree";
|
|
2
|
+
import type { EmptyObject, InitialPermissions } from "@metamask/snaps-sdk";
|
|
3
|
+
import type { Describe, Infer, Struct } from "@metamask/superstruct";
|
|
4
|
+
import { type InferMatching } from "../structs.cjs";
|
|
5
|
+
export declare const FORBIDDEN_COIN_TYPES: number[];
|
|
6
|
+
export declare const Bip32PathStruct: Struct<string[], Struct<string, null>>;
|
|
7
|
+
export declare const bip32entropy: <Type extends {
|
|
8
|
+
path: string[];
|
|
9
|
+
curve: string;
|
|
10
|
+
}, Schema>(struct: Struct<Type, Schema>) => Struct<Type, Schema>;
|
|
11
|
+
export declare const CurveStruct: Describe<SupportedCurve>;
|
|
12
|
+
export declare const Bip32EntropyStruct: Struct<{
|
|
13
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
14
|
+
path: string[];
|
|
15
|
+
}, {
|
|
16
|
+
path: Struct<string[], Struct<string, null>>;
|
|
17
|
+
curve: Describe<"ed25519" | "ed25519Bip32" | "secp256k1">;
|
|
18
|
+
}>;
|
|
19
|
+
export type Bip32Entropy = Infer<typeof Bip32EntropyStruct>;
|
|
20
|
+
export declare const SnapGetBip32EntropyPermissionsStruct: Struct<{
|
|
21
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
22
|
+
path: string[];
|
|
23
|
+
}[], Struct<{
|
|
24
|
+
curve: "ed25519" | "ed25519Bip32" | "secp256k1";
|
|
25
|
+
path: string[];
|
|
26
|
+
}, {
|
|
27
|
+
path: Struct<string[], Struct<string, null>>;
|
|
28
|
+
curve: Describe<"ed25519" | "ed25519Bip32" | "secp256k1">;
|
|
29
|
+
}>>;
|
|
30
|
+
export declare const SemVerRangeStruct: Struct<string, null>;
|
|
31
|
+
export declare const SnapIdsStruct: Struct<Record<string, {
|
|
32
|
+
version?: string | undefined;
|
|
33
|
+
}>, null>;
|
|
34
|
+
export type SnapIds = Infer<typeof SnapIdsStruct>;
|
|
35
|
+
export declare const ChainIdsStruct: Struct<`${string}:${string}`[], Struct<`${string}:${string}`, null>>;
|
|
36
|
+
export declare const LookupMatchersStruct: Struct<{
|
|
37
|
+
tlds: string[];
|
|
38
|
+
} | {
|
|
39
|
+
schemes: string[];
|
|
40
|
+
} | {
|
|
41
|
+
tlds: string[];
|
|
42
|
+
schemes: string[];
|
|
43
|
+
}, null>;
|
|
44
|
+
export declare const MINIMUM_REQUEST_TIMEOUT: number;
|
|
45
|
+
export declare const MAXIMUM_REQUEST_TIMEOUT: number;
|
|
46
|
+
export declare const MaxRequestTimeStruct: Struct<number, null>;
|
|
47
|
+
export declare const HandlerCaveatsStruct: Struct<{
|
|
48
|
+
maxRequestTime?: number | undefined;
|
|
49
|
+
}, {
|
|
50
|
+
maxRequestTime: Struct<number | undefined, null>;
|
|
51
|
+
}>;
|
|
52
|
+
export type HandlerCaveats = Infer<typeof HandlerCaveatsStruct>;
|
|
53
|
+
export declare const EmptyObjectStruct: Struct<EmptyObject, null>;
|
|
54
|
+
export declare const PermissionsStruct: Describe<InitialPermissions>;
|
|
55
|
+
export type SnapPermissions = InferMatching<typeof PermissionsStruct, InitialPermissions>;
|
|
56
|
+
export declare const SnapAuxilaryFilesStruct: Struct<string[], Struct<string, null>>;
|
|
57
|
+
export declare const InitialConnectionsStruct: Struct<Record<string & URL, {}>, null>;
|
|
58
|
+
export type InitialConnections = Infer<typeof InitialConnectionsStruct>;
|
|
59
|
+
export declare const SnapManifestStruct: Struct<{
|
|
60
|
+
source: {
|
|
61
|
+
location: {
|
|
62
|
+
npm: {
|
|
63
|
+
registry: "https://registry.npmjs.org" | "https://registry.npmjs.org/";
|
|
64
|
+
filePath: string;
|
|
65
|
+
packageName: string;
|
|
66
|
+
iconPath?: string | undefined;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
shasum: string;
|
|
70
|
+
files?: string[] | undefined;
|
|
71
|
+
locales?: string[] | undefined;
|
|
72
|
+
};
|
|
73
|
+
description: string;
|
|
74
|
+
version: import("@metamask/utils").SemVerVersion;
|
|
75
|
+
proposedName: string;
|
|
76
|
+
initialPermissions: Partial<{
|
|
77
|
+
'endowment:cronjob': {
|
|
78
|
+
jobs: import("@metamask/snaps-sdk").Cronjob[];
|
|
79
|
+
maxRequestTime?: number | undefined;
|
|
80
|
+
};
|
|
81
|
+
'endowment:ethereum-provider': EmptyObject;
|
|
82
|
+
'endowment:keyring': {
|
|
83
|
+
allowedOrigins?: string[] | undefined;
|
|
84
|
+
maxRequestTime?: number | undefined;
|
|
85
|
+
};
|
|
86
|
+
'endowment:lifecycle-hooks'?: {
|
|
87
|
+
maxRequestTime?: number | undefined;
|
|
88
|
+
} | undefined;
|
|
89
|
+
'endowment:name-lookup': {
|
|
90
|
+
chains?: `${string}:${string}`[] | undefined;
|
|
91
|
+
matchers?: import("@metamask/snaps-sdk").NameLookupMatchers | undefined;
|
|
92
|
+
maxRequestTime?: number | undefined;
|
|
93
|
+
};
|
|
94
|
+
'endowment:network-access': EmptyObject;
|
|
95
|
+
'endowment:page-home'?: {
|
|
96
|
+
maxRequestTime?: number | undefined;
|
|
97
|
+
} | undefined;
|
|
98
|
+
'endowment:rpc': {
|
|
99
|
+
dapps?: boolean | undefined;
|
|
100
|
+
snaps?: boolean | undefined;
|
|
101
|
+
allowedOrigins?: string[] | undefined;
|
|
102
|
+
maxRequestTime?: number | undefined;
|
|
103
|
+
};
|
|
104
|
+
'endowment:signature-insight': {
|
|
105
|
+
allowSignatureOrigin?: boolean | undefined;
|
|
106
|
+
maxRequestTime?: number | undefined;
|
|
107
|
+
};
|
|
108
|
+
'endowment:transaction-insight': {
|
|
109
|
+
allowTransactionOrigin?: boolean | undefined;
|
|
110
|
+
maxRequestTime?: number | undefined;
|
|
111
|
+
};
|
|
112
|
+
'endowment:webassembly': EmptyObject;
|
|
113
|
+
snap_dialog: EmptyObject;
|
|
114
|
+
snap_getBip32Entropy: import("@metamask/snaps-sdk").Bip32Entropy[];
|
|
115
|
+
snap_getBip32PublicKey: import("@metamask/snaps-sdk").Bip32Entropy[];
|
|
116
|
+
snap_getBip44Entropy: import("@metamask/snaps-sdk").Bip44Entropy[];
|
|
117
|
+
snap_getEntropy: EmptyObject;
|
|
118
|
+
snap_getLocale: EmptyObject;
|
|
119
|
+
snap_manageAccounts: EmptyObject;
|
|
120
|
+
snap_manageState: EmptyObject;
|
|
121
|
+
snap_notify: EmptyObject;
|
|
122
|
+
wallet_snap: Record<string, import("@metamask/snaps-sdk").RequestedSnap>;
|
|
123
|
+
}>;
|
|
124
|
+
manifestVersion: "0.1";
|
|
125
|
+
repository?: {
|
|
126
|
+
type: string;
|
|
127
|
+
url: string;
|
|
128
|
+
} | undefined;
|
|
129
|
+
initialConnections?: Record<string & URL, {}> | undefined;
|
|
130
|
+
$schema?: string | undefined;
|
|
131
|
+
}, {
|
|
132
|
+
version: Struct<import("@metamask/utils").SemVerVersion, null>;
|
|
133
|
+
description: Struct<string, null>;
|
|
134
|
+
proposedName: Struct<string, null>;
|
|
135
|
+
repository: Struct<{
|
|
136
|
+
type: string;
|
|
137
|
+
url: string;
|
|
138
|
+
} | undefined, {
|
|
139
|
+
type: Struct<string, null>;
|
|
140
|
+
url: Struct<string, null>;
|
|
141
|
+
}>;
|
|
142
|
+
source: Struct<{
|
|
143
|
+
location: {
|
|
144
|
+
npm: {
|
|
145
|
+
registry: "https://registry.npmjs.org" | "https://registry.npmjs.org/";
|
|
146
|
+
filePath: string;
|
|
147
|
+
packageName: string;
|
|
148
|
+
iconPath?: string | undefined;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
shasum: string;
|
|
152
|
+
files?: string[] | undefined;
|
|
153
|
+
locales?: string[] | undefined;
|
|
154
|
+
}, {
|
|
155
|
+
shasum: Struct<string, null>;
|
|
156
|
+
location: Struct<{
|
|
157
|
+
npm: {
|
|
158
|
+
registry: "https://registry.npmjs.org" | "https://registry.npmjs.org/";
|
|
159
|
+
filePath: string;
|
|
160
|
+
packageName: string;
|
|
161
|
+
iconPath?: string | undefined;
|
|
162
|
+
};
|
|
163
|
+
}, {
|
|
164
|
+
npm: Struct<{
|
|
165
|
+
registry: "https://registry.npmjs.org" | "https://registry.npmjs.org/";
|
|
166
|
+
filePath: string;
|
|
167
|
+
packageName: string;
|
|
168
|
+
iconPath?: string | undefined;
|
|
169
|
+
}, {
|
|
170
|
+
filePath: Struct<string, null>;
|
|
171
|
+
iconPath: Struct<string | undefined, null>;
|
|
172
|
+
packageName: Struct<string, null>;
|
|
173
|
+
registry: Struct<"https://registry.npmjs.org" | "https://registry.npmjs.org/", null>;
|
|
174
|
+
}>;
|
|
175
|
+
}>;
|
|
176
|
+
files: Struct<string[] | undefined, Struct<string, null>>;
|
|
177
|
+
locales: Struct<string[] | undefined, Struct<string, null>>;
|
|
178
|
+
}>;
|
|
179
|
+
initialConnections: Struct<Record<string & URL, {}> | undefined, null>;
|
|
180
|
+
initialPermissions: Describe<Partial<{
|
|
181
|
+
'endowment:cronjob': {
|
|
182
|
+
jobs: import("@metamask/snaps-sdk").Cronjob[];
|
|
183
|
+
maxRequestTime?: number | undefined;
|
|
184
|
+
};
|
|
185
|
+
'endowment:ethereum-provider': EmptyObject;
|
|
186
|
+
'endowment:keyring': {
|
|
187
|
+
allowedOrigins?: string[] | undefined;
|
|
188
|
+
maxRequestTime?: number | undefined;
|
|
189
|
+
};
|
|
190
|
+
'endowment:lifecycle-hooks'?: {
|
|
191
|
+
maxRequestTime?: number | undefined;
|
|
192
|
+
} | undefined;
|
|
193
|
+
'endowment:name-lookup': {
|
|
194
|
+
chains?: `${string}:${string}`[] | undefined;
|
|
195
|
+
matchers?: import("@metamask/snaps-sdk").NameLookupMatchers | undefined;
|
|
196
|
+
maxRequestTime?: number | undefined;
|
|
197
|
+
};
|
|
198
|
+
'endowment:network-access': EmptyObject;
|
|
199
|
+
'endowment:page-home'?: {
|
|
200
|
+
maxRequestTime?: number | undefined;
|
|
201
|
+
} | undefined;
|
|
202
|
+
'endowment:rpc': {
|
|
203
|
+
dapps?: boolean | undefined;
|
|
204
|
+
snaps?: boolean | undefined;
|
|
205
|
+
allowedOrigins?: string[] | undefined;
|
|
206
|
+
maxRequestTime?: number | undefined;
|
|
207
|
+
};
|
|
208
|
+
'endowment:signature-insight': {
|
|
209
|
+
allowSignatureOrigin?: boolean | undefined;
|
|
210
|
+
maxRequestTime?: number | undefined;
|
|
211
|
+
};
|
|
212
|
+
'endowment:transaction-insight': {
|
|
213
|
+
allowTransactionOrigin?: boolean | undefined;
|
|
214
|
+
maxRequestTime?: number | undefined;
|
|
215
|
+
};
|
|
216
|
+
'endowment:webassembly': EmptyObject;
|
|
217
|
+
snap_dialog: EmptyObject;
|
|
218
|
+
snap_getBip32Entropy: import("@metamask/snaps-sdk").Bip32Entropy[];
|
|
219
|
+
snap_getBip32PublicKey: import("@metamask/snaps-sdk").Bip32Entropy[];
|
|
220
|
+
snap_getBip44Entropy: import("@metamask/snaps-sdk").Bip44Entropy[];
|
|
221
|
+
snap_getEntropy: EmptyObject;
|
|
222
|
+
snap_getLocale: EmptyObject;
|
|
223
|
+
snap_manageAccounts: EmptyObject;
|
|
224
|
+
snap_manageState: EmptyObject;
|
|
225
|
+
snap_notify: EmptyObject;
|
|
226
|
+
wallet_snap: Record<string, import("@metamask/snaps-sdk").RequestedSnap>;
|
|
227
|
+
}>>;
|
|
228
|
+
manifestVersion: Struct<"0.1", "0.1">;
|
|
229
|
+
$schema: Struct<string | undefined, null>;
|
|
230
|
+
}>;
|
|
231
|
+
export type SnapManifest = Infer<typeof SnapManifestStruct>;
|
|
232
|
+
/**
|
|
233
|
+
* Check if the given value is a valid {@link SnapManifest} object.
|
|
234
|
+
*
|
|
235
|
+
* @param value - The value to check.
|
|
236
|
+
* @returns Whether the value is a valid {@link SnapManifest} object.
|
|
237
|
+
*/
|
|
238
|
+
export declare function isSnapManifest(value: unknown): value is SnapManifest;
|
|
239
|
+
/**
|
|
240
|
+
* Assert that the given value is a valid {@link SnapManifest} object.
|
|
241
|
+
*
|
|
242
|
+
* @param value - The value to check.
|
|
243
|
+
* @throws If the value is not a valid {@link SnapManifest} object.
|
|
244
|
+
*/
|
|
245
|
+
export declare function assertIsSnapManifest(value: unknown): asserts value is SnapManifest;
|
|
246
|
+
/**
|
|
247
|
+
* Creates a {@link SnapManifest} object from JSON.
|
|
248
|
+
*
|
|
249
|
+
* @param value - The value to check.
|
|
250
|
+
* @throws If the value cannot be coerced to a {@link SnapManifest} object.
|
|
251
|
+
* @returns The created {@link SnapManifest} object.
|
|
252
|
+
*/
|
|
253
|
+
export declare function createSnapManifest(value: unknown): SnapManifest;
|
|
254
|
+
//# sourceMappingURL=validation.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.cts","sourceRoot":"","sources":["../../src/manifest/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,4BAA4B;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,8BAA8B;AAkCrE,OAAO,EAAgB,KAAK,aAAa,EAAE,uBAAmB;AAU9D,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAAS,CAAC;AAOnD,eAAO,MAAM,eAAe,wCAoC3B,CAAC;AAEF,eAAO,MAAM,YAAY;UACF,MAAM,EAAE;WAAS,MAAM;gEAc1C,CAAC;AAEL,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,cAAc,CAI/C,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;EAK9B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5D,eAAO,MAAM,oCAAoC;;;;;;;;;GAIhD,CAAC;AAEF,eAAO,MAAM,iBAAiB,sBAK5B,CAAC;AAEH,eAAO,MAAM,aAAa;;SAUzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc,sEAA0C,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;QAW/B,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAAqC,CAAC;AAC1E,eAAO,MAAM,uBAAuB,QAAqC,CAAC;AAE1E,eAAO,MAAM,oBAAoB,sBAIhC,CAAC;AAGF,eAAO,MAAM,oBAAoB;;;;EAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEhE,eAAO,MAAM,iBAAiB,2BAG7B,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CA2DzD,CAAC;AAGH,MAAM,MAAM,eAAe,GAAG,aAAa,CACzC,OAAO,iBAAiB,EACxB,kBAAkB,CACnB,CAAC;AAEF,eAAO,MAAM,uBAAuB,wCAAkB,CAAC;AAEvD,eAAO,MAAM,wBAAwB,wCAGpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,YAAY,CAM/B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAG/D"}
|