@metamask/snaps-controllers 5.0.1 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -1
- package/dist/chunk-36YC4Z3T.mjs +109 -0
- package/dist/chunk-36YC4Z3T.mjs.map +1 -0
- package/dist/chunk-3RNW7OKG.mjs +1 -0
- package/dist/chunk-3RNW7OKG.mjs.map +1 -0
- package/dist/chunk-43ODL57R.js +39 -0
- package/dist/chunk-43ODL57R.js.map +1 -0
- package/dist/chunk-4HVWEABQ.mjs +9 -0
- package/dist/chunk-4HVWEABQ.mjs.map +1 -0
- package/dist/chunk-4LGL4A3M.js +105 -0
- package/dist/chunk-4LGL4A3M.js.map +1 -0
- package/dist/chunk-4URGXJP7.js +1 -0
- package/dist/chunk-4URGXJP7.js.map +1 -0
- package/dist/chunk-5R4ENIDN.mjs +2307 -0
- package/dist/chunk-5R4ENIDN.mjs.map +1 -0
- package/dist/chunk-5YBORD3A.js +19 -0
- package/dist/chunk-5YBORD3A.js.map +1 -0
- package/dist/chunk-6EZSNS4O.mjs +59 -0
- package/dist/chunk-6EZSNS4O.mjs.map +1 -0
- package/dist/chunk-6GMWL4JR.mjs +92 -0
- package/dist/chunk-6GMWL4JR.mjs.map +1 -0
- package/dist/chunk-6N6KZYVD.js +12 -0
- package/dist/chunk-6N6KZYVD.js.map +1 -0
- package/dist/chunk-6NYC5VNK.mjs +354 -0
- package/dist/chunk-6NYC5VNK.mjs.map +1 -0
- package/dist/chunk-6XGUJ27X.js +72 -0
- package/dist/chunk-6XGUJ27X.js.map +1 -0
- package/dist/chunk-6YVCFPP6.mjs +58 -0
- package/dist/chunk-6YVCFPP6.mjs.map +1 -0
- package/dist/chunk-7JY5VENP.js +273 -0
- package/dist/chunk-7JY5VENP.js.map +1 -0
- package/dist/chunk-7PZECZV3.mjs +38 -0
- package/dist/chunk-7PZECZV3.mjs.map +1 -0
- package/dist/chunk-7WOG63YY.js +40 -0
- package/dist/chunk-7WOG63YY.js.map +1 -0
- package/dist/chunk-7Y6P5FRN.js +60 -0
- package/dist/chunk-7Y6P5FRN.js.map +1 -0
- package/dist/chunk-A6WJEA3C.js +1 -0
- package/dist/chunk-A6WJEA3C.js.map +1 -0
- package/dist/chunk-AP7CJ6DA.js +47 -0
- package/dist/chunk-AP7CJ6DA.js.map +1 -0
- package/dist/chunk-B3UTLNYS.mjs +48 -0
- package/dist/chunk-B3UTLNYS.mjs.map +1 -0
- package/dist/chunk-B67RDBZ4.mjs +40 -0
- package/dist/chunk-B67RDBZ4.mjs.map +1 -0
- package/dist/chunk-B7R3EWM3.mjs +1 -0
- package/dist/chunk-B7R3EWM3.mjs.map +1 -0
- package/dist/chunk-BAEXVO3U.mjs +1 -0
- package/dist/chunk-BAEXVO3U.mjs.map +1 -0
- package/dist/chunk-BO2ZDPWV.js +59 -0
- package/dist/chunk-BO2ZDPWV.js.map +1 -0
- package/dist/chunk-C4D6GBMY.js +71 -0
- package/dist/chunk-C4D6GBMY.js.map +1 -0
- package/dist/chunk-D74XJG2L.js +1 -0
- package/dist/chunk-D74XJG2L.js.map +1 -0
- package/dist/chunk-DSQYZGBH.mjs +273 -0
- package/dist/chunk-DSQYZGBH.mjs.map +1 -0
- package/dist/chunk-ESQPQNEF.mjs +1 -0
- package/dist/chunk-ESQPQNEF.mjs.map +1 -0
- package/dist/chunk-EXN2TFDJ.js +38 -0
- package/dist/chunk-EXN2TFDJ.js.map +1 -0
- package/dist/chunk-FX5AADOV.mjs +1 -0
- package/dist/chunk-FX5AADOV.mjs.map +1 -0
- package/dist/chunk-FZY2Z5NP.js +38 -0
- package/dist/chunk-FZY2Z5NP.js.map +1 -0
- package/dist/chunk-G66GQJS6.js +1 -0
- package/dist/chunk-G66GQJS6.js.map +1 -0
- package/dist/chunk-G7U6WKWS.mjs +1 -0
- package/dist/chunk-G7U6WKWS.mjs.map +1 -0
- package/dist/chunk-HOY6NKQR.js +1 -0
- package/dist/chunk-HOY6NKQR.js.map +1 -0
- package/dist/chunk-HWJE3SDW.mjs +1 -0
- package/dist/chunk-HWJE3SDW.mjs.map +1 -0
- package/dist/chunk-IABOI7TW.mjs +1 -0
- package/dist/chunk-IABOI7TW.mjs.map +1 -0
- package/dist/chunk-IGC4E7PI.mjs +71 -0
- package/dist/chunk-IGC4E7PI.mjs.map +1 -0
- package/dist/chunk-IMBPDTVN.mjs +72 -0
- package/dist/chunk-IMBPDTVN.mjs.map +1 -0
- package/dist/chunk-J4PGHMLL.js +38 -0
- package/dist/chunk-J4PGHMLL.js.map +1 -0
- package/dist/chunk-JAUAKTUL.js +1 -0
- package/dist/chunk-JAUAKTUL.js.map +1 -0
- package/dist/chunk-JDHKH5YU.js +354 -0
- package/dist/chunk-JDHKH5YU.js.map +1 -0
- package/dist/chunk-JW7WBUL7.js +1 -0
- package/dist/chunk-JW7WBUL7.js.map +1 -0
- package/dist/chunk-K276CM3B.mjs +197 -0
- package/dist/chunk-K276CM3B.mjs.map +1 -0
- package/dist/chunk-KBVG3CL2.js +58 -0
- package/dist/chunk-KBVG3CL2.js.map +1 -0
- package/dist/chunk-KCMULJ2M.mjs +1 -0
- package/dist/chunk-KCMULJ2M.mjs.map +1 -0
- package/dist/chunk-KF4PCKG7.mjs +74 -0
- package/dist/chunk-KF4PCKG7.mjs.map +1 -0
- package/dist/chunk-KLK7ZRMH.js +55 -0
- package/dist/chunk-KLK7ZRMH.js.map +1 -0
- package/dist/chunk-LWBPKSU2.js +48 -0
- package/dist/chunk-LWBPKSU2.js.map +1 -0
- package/dist/chunk-MYWDTEX2.js +283 -0
- package/dist/chunk-MYWDTEX2.js.map +1 -0
- package/dist/chunk-NC5PBDKD.mjs +47 -0
- package/dist/chunk-NC5PBDKD.mjs.map +1 -0
- package/dist/chunk-NOLPMHXS.js +101 -0
- package/dist/chunk-NOLPMHXS.js.map +1 -0
- package/dist/chunk-NXZVKBSV.js +9 -0
- package/dist/chunk-NXZVKBSV.js.map +1 -0
- package/dist/chunk-OHMCPTOI.js +1 -0
- package/dist/chunk-OHMCPTOI.js.map +1 -0
- package/dist/chunk-OIEUL55W.js +1 -0
- package/dist/chunk-OIEUL55W.js.map +1 -0
- package/dist/chunk-P7Y6MIZW.mjs +7 -0
- package/dist/chunk-P7Y6MIZW.mjs.map +1 -0
- package/dist/chunk-PGKMKSAR.mjs +105 -0
- package/dist/chunk-PGKMKSAR.mjs.map +1 -0
- package/dist/chunk-PXECEHH7.mjs +39 -0
- package/dist/chunk-PXECEHH7.mjs.map +1 -0
- package/dist/chunk-Q2ON6SMV.js +197 -0
- package/dist/chunk-Q2ON6SMV.js.map +1 -0
- package/dist/chunk-QL3QGUTM.mjs +1 -0
- package/dist/chunk-QL3QGUTM.mjs.map +1 -0
- package/dist/chunk-RDBT3ZJQ.js +92 -0
- package/dist/chunk-RDBT3ZJQ.js.map +1 -0
- package/dist/chunk-RIU3ZIXZ.mjs +55 -0
- package/dist/chunk-RIU3ZIXZ.mjs.map +1 -0
- package/dist/chunk-RU67JKBV.mjs +12 -0
- package/dist/chunk-RU67JKBV.mjs.map +1 -0
- package/dist/chunk-TG6OXBLR.js +1 -0
- package/dist/chunk-TG6OXBLR.js.map +1 -0
- package/dist/chunk-TMWMIQV4.js +1 -0
- package/dist/chunk-TMWMIQV4.js.map +1 -0
- package/dist/chunk-U6T2MPXT.js +74 -0
- package/dist/chunk-U6T2MPXT.js.map +1 -0
- package/dist/chunk-U74FML7Z.mjs +1 -0
- package/dist/chunk-U74FML7Z.mjs.map +1 -0
- package/dist/chunk-V6NFZ47P.mjs +1 -0
- package/dist/chunk-V6NFZ47P.mjs.map +1 -0
- package/dist/chunk-VNOCJWOK.js +1 -0
- package/dist/chunk-VNOCJWOK.js.map +1 -0
- package/dist/chunk-VOZOZKRC.mjs +101 -0
- package/dist/chunk-VOZOZKRC.mjs.map +1 -0
- package/dist/chunk-WEY7ICES.js +1 -0
- package/dist/chunk-WEY7ICES.js.map +1 -0
- package/dist/chunk-WKQRCGUW.mjs +331 -0
- package/dist/chunk-WKQRCGUW.mjs.map +1 -0
- package/dist/chunk-XE5IWVNV.js +109 -0
- package/dist/chunk-XE5IWVNV.js.map +1 -0
- package/dist/chunk-XWDEGRM5.js +331 -0
- package/dist/chunk-XWDEGRM5.js.map +1 -0
- package/dist/chunk-YIQM6ZKA.mjs +19 -0
- package/dist/chunk-YIQM6ZKA.mjs.map +1 -0
- package/dist/chunk-YRZVIDCF.mjs +38 -0
- package/dist/chunk-YRZVIDCF.mjs.map +1 -0
- package/dist/chunk-YYPUPKQY.js +7 -0
- package/dist/chunk-YYPUPKQY.js.map +1 -0
- package/dist/chunk-ZAMIT33L.js +2307 -0
- package/dist/chunk-ZAMIT33L.js.map +1 -0
- package/dist/chunk-ZETJVFUS.mjs +283 -0
- package/dist/chunk-ZETJVFUS.mjs.map +1 -0
- package/dist/chunk-ZQAGLOXD.mjs +1 -0
- package/dist/chunk-ZQAGLOXD.mjs.map +1 -0
- package/dist/chunk-ZRS2VVUV.mjs +38 -0
- package/dist/chunk-ZRS2VVUV.mjs.map +1 -0
- package/dist/chunk-ZVOYOZFT.mjs +60 -0
- package/dist/chunk-ZVOYOZFT.mjs.map +1 -0
- package/dist/cronjob/CronjobController.js +41 -0
- package/dist/cronjob/CronjobController.js.map +1 -0
- package/dist/cronjob/CronjobController.mjs +41 -0
- package/dist/cronjob/CronjobController.mjs.map +1 -0
- package/dist/cronjob/index.js +41 -0
- package/dist/cronjob/index.js.map +1 -0
- package/dist/cronjob/index.mjs +41 -0
- package/dist/cronjob/index.mjs.map +1 -0
- package/dist/fsm.js +10 -0
- package/dist/fsm.js.map +1 -0
- package/dist/fsm.mjs +10 -0
- package/dist/fsm.mjs.map +1 -0
- package/dist/index.js +118 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +118 -0
- package/dist/index.mjs.map +1 -0
- package/dist/interface/SnapInterfaceController.js +9 -0
- package/dist/interface/SnapInterfaceController.js.map +1 -0
- package/dist/interface/SnapInterfaceController.mjs +9 -0
- package/dist/interface/SnapInterfaceController.mjs.map +1 -0
- package/dist/interface/index.js +10 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/index.mjs +10 -0
- package/dist/interface/index.mjs.map +1 -0
- package/dist/interface/utils.js +14 -0
- package/dist/interface/utils.js.map +1 -0
- package/dist/interface/utils.mjs +14 -0
- package/dist/interface/utils.mjs.map +1 -0
- package/dist/logging.js +8 -0
- package/dist/logging.js.map +1 -0
- package/dist/logging.mjs +8 -0
- package/dist/logging.mjs.map +1 -0
- package/dist/node.js +128 -0
- package/dist/node.js.map +1 -0
- package/dist/node.mjs +128 -0
- package/dist/node.mjs.map +1 -0
- package/dist/react-native.js +125 -0
- package/dist/react-native.js.map +1 -0
- package/dist/react-native.mjs +125 -0
- package/dist/react-native.mjs.map +1 -0
- package/dist/services/AbstractExecutionService.js +13 -0
- package/dist/services/AbstractExecutionService.js.map +1 -0
- package/dist/services/AbstractExecutionService.mjs +13 -0
- package/dist/services/AbstractExecutionService.mjs.map +1 -0
- package/dist/services/ExecutionService.js +2 -0
- package/dist/services/ExecutionService.js.map +1 -0
- package/dist/services/ExecutionService.mjs +2 -0
- package/dist/services/ExecutionService.mjs.map +1 -0
- package/dist/services/ProxyPostMessageStream.js +8 -0
- package/dist/services/ProxyPostMessageStream.js.map +1 -0
- package/dist/services/ProxyPostMessageStream.mjs +8 -0
- package/dist/services/ProxyPostMessageStream.mjs.map +1 -0
- package/dist/services/browser.js +40 -0
- package/dist/services/browser.js.map +1 -0
- package/dist/services/browser.mjs +40 -0
- package/dist/services/browser.mjs.map +1 -0
- package/dist/services/iframe/IframeExecutionService.js +12 -0
- package/dist/services/iframe/IframeExecutionService.js.map +1 -0
- package/dist/services/iframe/IframeExecutionService.mjs +12 -0
- package/dist/services/iframe/IframeExecutionService.mjs.map +1 -0
- package/dist/services/iframe/index.js +13 -0
- package/dist/services/iframe/index.js.map +1 -0
- package/dist/services/iframe/index.mjs +13 -0
- package/dist/services/iframe/index.mjs.map +1 -0
- package/dist/services/index.js +35 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/index.mjs +35 -0
- package/dist/services/index.mjs.map +1 -0
- package/dist/services/node-js/NodeProcessExecutionService.js +22 -0
- package/dist/services/node-js/NodeProcessExecutionService.js.map +1 -0
- package/dist/services/node-js/NodeProcessExecutionService.mjs +22 -0
- package/dist/services/node-js/NodeProcessExecutionService.mjs.map +1 -0
- package/dist/services/node-js/NodeThreadExecutionService.js +22 -0
- package/dist/services/node-js/NodeThreadExecutionService.js.map +1 -0
- package/dist/services/node-js/NodeThreadExecutionService.mjs +22 -0
- package/dist/services/node-js/NodeThreadExecutionService.mjs.map +1 -0
- package/dist/services/node-js/index.js +27 -0
- package/dist/services/node-js/index.js.map +1 -0
- package/dist/services/node-js/index.mjs +27 -0
- package/dist/services/node-js/index.mjs.map +1 -0
- package/dist/services/node.js +45 -0
- package/dist/services/node.js.map +1 -0
- package/dist/services/node.mjs +45 -0
- package/dist/services/node.mjs.map +1 -0
- package/dist/services/offscreen/OffscreenExecutionService.js +14 -0
- package/dist/services/offscreen/OffscreenExecutionService.js.map +1 -0
- package/dist/services/offscreen/OffscreenExecutionService.mjs +14 -0
- package/dist/services/offscreen/OffscreenExecutionService.mjs.map +1 -0
- package/dist/services/offscreen/index.js +15 -0
- package/dist/services/offscreen/index.js.map +1 -0
- package/dist/services/offscreen/index.mjs +15 -0
- package/dist/services/offscreen/index.mjs.map +1 -0
- package/dist/services/proxy/ProxyExecutionService.js +13 -0
- package/dist/services/proxy/ProxyExecutionService.js.map +1 -0
- package/dist/services/proxy/ProxyExecutionService.mjs +13 -0
- package/dist/services/proxy/ProxyExecutionService.mjs.map +1 -0
- package/dist/services/react-native.js +42 -0
- package/dist/services/react-native.js.map +1 -0
- package/dist/services/react-native.mjs +42 -0
- package/dist/services/react-native.mjs.map +1 -0
- package/dist/services/webview/WebViewExecutionService.js +15 -0
- package/dist/services/webview/WebViewExecutionService.js.map +1 -0
- package/dist/services/webview/WebViewExecutionService.mjs +15 -0
- package/dist/services/webview/WebViewExecutionService.mjs.map +1 -0
- package/dist/services/webview/WebViewMessageStream.js +8 -0
- package/dist/services/webview/WebViewMessageStream.js.map +1 -0
- package/dist/services/webview/WebViewMessageStream.mjs +8 -0
- package/dist/services/webview/WebViewMessageStream.mjs.map +1 -0
- package/dist/services/webview/index.js +16 -0
- package/dist/services/webview/index.js.map +1 -0
- package/dist/services/webview/index.mjs +16 -0
- package/dist/services/webview/index.mjs.map +1 -0
- package/dist/services/webworker/WebWorkerExecutionService.js +15 -0
- package/dist/services/webworker/WebWorkerExecutionService.js.map +1 -0
- package/dist/services/webworker/WebWorkerExecutionService.mjs +15 -0
- package/dist/services/webworker/WebWorkerExecutionService.mjs.map +1 -0
- package/dist/services/webworker/index.js +16 -0
- package/dist/services/webworker/index.js.map +1 -0
- package/dist/services/webworker/index.mjs +16 -0
- package/dist/services/webworker/index.mjs.map +1 -0
- package/dist/snaps/RequestQueue.js +8 -0
- package/dist/snaps/RequestQueue.js.map +1 -0
- package/dist/snaps/RequestQueue.mjs +8 -0
- package/dist/snaps/RequestQueue.mjs.map +1 -0
- package/dist/snaps/SnapController.js +30 -0
- package/dist/snaps/SnapController.js.map +1 -0
- package/dist/snaps/SnapController.mjs +30 -0
- package/dist/snaps/SnapController.mjs.map +1 -0
- package/dist/snaps/Timer.js +8 -0
- package/dist/snaps/Timer.js.map +1 -0
- package/dist/snaps/Timer.mjs +8 -0
- package/dist/snaps/Timer.mjs.map +1 -0
- package/dist/snaps/constants.js +8 -0
- package/dist/snaps/constants.js.map +1 -0
- package/dist/snaps/constants.mjs +8 -0
- package/dist/snaps/constants.mjs.map +1 -0
- package/dist/snaps/index.js +63 -0
- package/dist/snaps/index.js.map +1 -0
- package/dist/snaps/index.mjs +63 -0
- package/dist/snaps/index.mjs.map +1 -0
- package/dist/snaps/location/http.js +8 -0
- package/dist/snaps/location/http.js.map +1 -0
- package/dist/snaps/location/http.mjs +8 -0
- package/dist/snaps/location/http.mjs.map +1 -0
- package/dist/snaps/location/index.js +31 -0
- package/dist/snaps/location/index.js.map +1 -0
- package/dist/snaps/location/index.mjs +31 -0
- package/dist/snaps/location/index.mjs.map +1 -0
- package/dist/snaps/location/local.js +9 -0
- package/dist/snaps/location/local.js.map +1 -0
- package/dist/snaps/location/local.mjs +9 -0
- package/dist/snaps/location/local.mjs.map +1 -0
- package/dist/snaps/location/location.js +11 -0
- package/dist/snaps/location/location.js.map +1 -0
- package/dist/snaps/location/location.mjs +11 -0
- package/dist/snaps/location/location.mjs.map +1 -0
- package/dist/snaps/location/npm.js +18 -0
- package/dist/snaps/location/npm.js.map +1 -0
- package/dist/snaps/location/npm.mjs +18 -0
- package/dist/snaps/location/npm.mjs.map +1 -0
- package/dist/snaps/registry/index.js +13 -0
- package/dist/snaps/registry/index.js.map +1 -0
- package/dist/snaps/registry/index.mjs +13 -0
- package/dist/snaps/registry/index.mjs.map +1 -0
- package/dist/snaps/registry/json.js +9 -0
- package/dist/snaps/registry/json.js.map +1 -0
- package/dist/snaps/registry/json.mjs +9 -0
- package/dist/snaps/registry/json.mjs.map +1 -0
- package/dist/snaps/registry/registry.js +8 -0
- package/dist/snaps/registry/registry.js.map +1 -0
- package/dist/snaps/registry/registry.mjs +8 -0
- package/dist/snaps/registry/registry.mjs.map +1 -0
- package/dist/snaps/selectors.js +8 -0
- package/dist/snaps/selectors.js.map +1 -0
- package/dist/snaps/selectors.mjs +8 -0
- package/dist/snaps/selectors.mjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types/node.d.ts +2 -0
- package/dist/types/react-native.d.ts +2 -0
- package/dist/types/services/index.d.ts +0 -2
- package/dist/types/services/node.d.ts +2 -0
- package/dist/types/services/react-native.d.ts +2 -0
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/vendor/global.d.js +1 -0
- package/dist/types/vendor/global.d.js.map +1 -0
- package/dist/types/vendor/global.d.mjs +1 -0
- package/dist/types/vendor/global.d.mjs.map +1 -0
- package/dist/types/vendor/readable-stream.d.js +1 -0
- package/dist/types/vendor/readable-stream.d.js.map +1 -0
- package/dist/types/vendor/readable-stream.d.mjs +1 -0
- package/dist/types/vendor/readable-stream.d.mjs.map +1 -0
- package/dist/types/vendor/zlib.d.js +1 -0
- package/dist/types/vendor/zlib.d.js.map +1 -0
- package/dist/types/vendor/zlib.d.mjs +1 -0
- package/dist/types/vendor/zlib.d.mjs.map +1 -0
- package/dist/utils.js +21 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +21 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +31 -22
- package/dist/cjs/cronjob/CronjobController.js +0 -296
- package/dist/cjs/cronjob/CronjobController.js.map +0 -1
- package/dist/cjs/cronjob/index.js +0 -20
- package/dist/cjs/cronjob/index.js.map +0 -1
- package/dist/cjs/fsm.js +0 -69
- package/dist/cjs/fsm.js.map +0 -1
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/interface/SnapInterfaceController.js +0 -166
- package/dist/cjs/interface/SnapInterfaceController.js.map +0 -1
- package/dist/cjs/interface/index.js +0 -20
- package/dist/cjs/interface/index.js.map +0 -1
- package/dist/cjs/interface/utils.js +0 -59
- package/dist/cjs/interface/utils.js.map +0 -1
- package/dist/cjs/logging.js +0 -15
- package/dist/cjs/logging.js.map +0 -1
- package/dist/cjs/services/AbstractExecutionService.js +0 -387
- package/dist/cjs/services/AbstractExecutionService.js.map +0 -1
- package/dist/cjs/services/ExecutionService.js +0 -7
- package/dist/cjs/services/ExecutionService.js.map +0 -1
- package/dist/cjs/services/ProxyPostMessageStream.js +0 -109
- package/dist/cjs/services/ProxyPostMessageStream.js.map +0 -1
- package/dist/cjs/services/browser.js +0 -33
- package/dist/cjs/services/browser.js.map +0 -1
- package/dist/cjs/services/iframe/IframeExecutionService.js +0 -54
- package/dist/cjs/services/iframe/IframeExecutionService.js.map +0 -1
- package/dist/cjs/services/iframe/index.js +0 -20
- package/dist/cjs/services/iframe/index.js.map +0 -1
- package/dist/cjs/services/index.js +0 -33
- package/dist/cjs/services/index.js.map +0 -1
- package/dist/cjs/services/node/NodeProcessExecutionService.js +0 -42
- package/dist/cjs/services/node/NodeProcessExecutionService.js.map +0 -1
- package/dist/cjs/services/node/NodeThreadExecutionService.js +0 -43
- package/dist/cjs/services/node/NodeThreadExecutionService.js.map +0 -1
- package/dist/cjs/services/node/index.js +0 -21
- package/dist/cjs/services/node/index.js.map +0 -1
- package/dist/cjs/services/offscreen/OffscreenExecutionService.js +0 -96
- package/dist/cjs/services/offscreen/OffscreenExecutionService.js.map +0 -1
- package/dist/cjs/services/offscreen/index.js +0 -20
- package/dist/cjs/services/offscreen/index.js.map +0 -1
- package/dist/cjs/services/proxy/ProxyExecutionService.js +0 -110
- package/dist/cjs/services/proxy/ProxyExecutionService.js.map +0 -1
- package/dist/cjs/services/webview/WebViewExecutionService.js +0 -99
- package/dist/cjs/services/webview/WebViewExecutionService.js.map +0 -1
- package/dist/cjs/services/webview/WebViewMessageStream.js +0 -127
- package/dist/cjs/services/webview/WebViewMessageStream.js.map +0 -1
- package/dist/cjs/services/webview/index.js +0 -20
- package/dist/cjs/services/webview/index.js.map +0 -1
- package/dist/cjs/services/webworker/WebWorkerExecutionService.js +0 -148
- package/dist/cjs/services/webworker/WebWorkerExecutionService.js.map +0 -1
- package/dist/cjs/services/webworker/index.js +0 -20
- package/dist/cjs/services/webworker/index.js.map +0 -1
- package/dist/cjs/snaps/RequestQueue.js +0 -63
- package/dist/cjs/snaps/RequestQueue.js.map +0 -1
- package/dist/cjs/snaps/SnapController.js +0 -1968
- package/dist/cjs/snaps/SnapController.js.map +0 -1
- package/dist/cjs/snaps/Timer.js +0 -117
- package/dist/cjs/snaps/Timer.js.map +0 -1
- package/dist/cjs/snaps/constants.js +0 -25
- package/dist/cjs/snaps/constants.js.map +0 -1
- package/dist/cjs/snaps/index.js +0 -23
- package/dist/cjs/snaps/index.js.map +0 -1
- package/dist/cjs/snaps/location/http.js +0 -106
- package/dist/cjs/snaps/location/http.js.map +0 -1
- package/dist/cjs/snaps/location/index.js +0 -23
- package/dist/cjs/snaps/location/index.js.map +0 -1
- package/dist/cjs/snaps/location/local.js +0 -93
- package/dist/cjs/snaps/location/local.js.map +0 -1
- package/dist/cjs/snaps/location/location.js +0 -34
- package/dist/cjs/snaps/location/location.js.map +0 -1
- package/dist/cjs/snaps/location/npm.js +0 -389
- package/dist/cjs/snaps/location/npm.js.map +0 -1
- package/dist/cjs/snaps/registry/index.js +0 -21
- package/dist/cjs/snaps/registry/index.js.map +0 -1
- package/dist/cjs/snaps/registry/json.js +0 -311
- package/dist/cjs/snaps/registry/json.js.map +0 -1
- package/dist/cjs/snaps/registry/registry.js +0 -18
- package/dist/cjs/snaps/registry/registry.js.map +0 -1
- package/dist/cjs/snaps/selectors.js +0 -13
- package/dist/cjs/snaps/selectors.js.map +0 -1
- package/dist/cjs/utils.js +0 -111
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/cronjob/CronjobController.js +0 -281
- package/dist/esm/cronjob/CronjobController.js.map +0 -1
- package/dist/esm/cronjob/index.js +0 -3
- package/dist/esm/cronjob/index.js.map +0 -1
- package/dist/esm/fsm.js +0 -70
- package/dist/esm/fsm.js.map +0 -1
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interface/SnapInterfaceController.js +0 -158
- package/dist/esm/interface/SnapInterfaceController.js.map +0 -1
- package/dist/esm/interface/index.js +0 -3
- package/dist/esm/interface/index.js.map +0 -1
- package/dist/esm/interface/utils.js +0 -62
- package/dist/esm/interface/utils.js.map +0 -1
- package/dist/esm/logging.js +0 -10
- package/dist/esm/logging.js.map +0 -1
- package/dist/esm/services/AbstractExecutionService.js +0 -370
- package/dist/esm/services/AbstractExecutionService.js.map +0 -1
- package/dist/esm/services/ExecutionService.js +0 -4
- package/dist/esm/services/ExecutionService.js.map +0 -1
- package/dist/esm/services/ProxyPostMessageStream.js +0 -102
- package/dist/esm/services/ProxyPostMessageStream.js.map +0 -1
- package/dist/esm/services/browser.js +0 -10
- package/dist/esm/services/browser.js.map +0 -1
- package/dist/esm/services/iframe/IframeExecutionService.js +0 -44
- package/dist/esm/services/iframe/IframeExecutionService.js.map +0 -1
- package/dist/esm/services/iframe/index.js +0 -3
- package/dist/esm/services/iframe/index.js.map +0 -1
- package/dist/esm/services/index.js +0 -10
- package/dist/esm/services/index.js.map +0 -1
- package/dist/esm/services/node/NodeProcessExecutionService.js +0 -32
- package/dist/esm/services/node/NodeProcessExecutionService.js.map +0 -1
- package/dist/esm/services/node/NodeThreadExecutionService.js +0 -34
- package/dist/esm/services/node/NodeThreadExecutionService.js.map +0 -1
- package/dist/esm/services/node/index.js +0 -4
- package/dist/esm/services/node/index.js.map +0 -1
- package/dist/esm/services/offscreen/OffscreenExecutionService.js +0 -86
- package/dist/esm/services/offscreen/OffscreenExecutionService.js.map +0 -1
- package/dist/esm/services/offscreen/index.js +0 -3
- package/dist/esm/services/offscreen/index.js.map +0 -1
- package/dist/esm/services/proxy/ProxyExecutionService.js +0 -100
- package/dist/esm/services/proxy/ProxyExecutionService.js.map +0 -1
- package/dist/esm/services/webview/WebViewExecutionService.js +0 -89
- package/dist/esm/services/webview/WebViewExecutionService.js.map +0 -1
- package/dist/esm/services/webview/WebViewMessageStream.js +0 -119
- package/dist/esm/services/webview/WebViewMessageStream.js.map +0 -1
- package/dist/esm/services/webview/index.js +0 -3
- package/dist/esm/services/webview/index.js.map +0 -1
- package/dist/esm/services/webworker/WebWorkerExecutionService.js +0 -130
- package/dist/esm/services/webworker/WebWorkerExecutionService.js.map +0 -1
- package/dist/esm/services/webworker/index.js +0 -3
- package/dist/esm/services/webworker/index.js.map +0 -1
- package/dist/esm/snaps/RequestQueue.js +0 -53
- package/dist/esm/snaps/RequestQueue.js.map +0 -1
- package/dist/esm/snaps/SnapController.js +0 -1947
- package/dist/esm/snaps/SnapController.js.map +0 -1
- package/dist/esm/snaps/Timer.js +0 -107
- package/dist/esm/snaps/Timer.js.map +0 -1
- package/dist/esm/snaps/constants.js +0 -16
- package/dist/esm/snaps/constants.js.map +0 -1
- package/dist/esm/snaps/index.js +0 -6
- package/dist/esm/snaps/index.js.map +0 -1
- package/dist/esm/snaps/location/http.js +0 -96
- package/dist/esm/snaps/location/http.js.map +0 -1
- package/dist/esm/snaps/location/index.js +0 -6
- package/dist/esm/snaps/location/index.js.map +0 -1
- package/dist/esm/snaps/location/local.js +0 -83
- package/dist/esm/snaps/location/local.js.map +0 -1
- package/dist/esm/snaps/location/location.js +0 -30
- package/dist/esm/snaps/location/location.js.map +0 -1
- package/dist/esm/snaps/location/npm.js +0 -373
- package/dist/esm/snaps/location/npm.js.map +0 -1
- package/dist/esm/snaps/registry/index.js +0 -4
- package/dist/esm/snaps/registry/index.js.map +0 -1
- package/dist/esm/snaps/registry/json.js +0 -301
- package/dist/esm/snaps/registry/json.js.map +0 -1
- package/dist/esm/snaps/registry/registry.js +0 -8
- package/dist/esm/snaps/registry/registry.js.map +0 -1
- package/dist/esm/snaps/selectors.js +0 -3
- package/dist/esm/snaps/selectors.js.map +0 -1
- package/dist/esm/utils.js +0 -132
- package/dist/esm/utils.js.map +0 -1
- /package/dist/types/services/{node → node-js}/NodeProcessExecutionService.d.ts +0 -0
- /package/dist/types/services/{node → node-js}/NodeThreadExecutionService.d.ts +0 -0
- /package/dist/types/services/{node → node-js}/index.d.ts +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/fsm.ts
|
|
2
|
+
var _utils = require('@metamask/utils');
|
|
3
|
+
var _fsm = require('@xstate/fsm');
|
|
4
|
+
function validateMachine(machine) {
|
|
5
|
+
_utils.assert.call(void 0, "_options" in machine, "The machine is not an @xstate/fsm machine");
|
|
6
|
+
const typed = machine;
|
|
7
|
+
const toArray = (obj) => {
|
|
8
|
+
if (Array.isArray(obj)) {
|
|
9
|
+
return obj;
|
|
10
|
+
} else if (obj === void 0 || obj === null) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
return [obj];
|
|
14
|
+
};
|
|
15
|
+
const allActions = /* @__PURE__ */ new Set();
|
|
16
|
+
const addActions = (actions) => toArray(actions).flatMap((action) => {
|
|
17
|
+
if (typeof action === "string") {
|
|
18
|
+
return [action];
|
|
19
|
+
}
|
|
20
|
+
_utils.assert.call(void 0, typeof action === "function");
|
|
21
|
+
return [];
|
|
22
|
+
}).forEach(allActions.add.bind(allActions));
|
|
23
|
+
for (const state of Object.values(
|
|
24
|
+
typed.config.states
|
|
25
|
+
)) {
|
|
26
|
+
addActions(state.entry);
|
|
27
|
+
addActions(state.exit);
|
|
28
|
+
for (const transition of Object.values(state.on ?? {})) {
|
|
29
|
+
addActions(transition.actions);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
allActions.forEach(
|
|
33
|
+
(action) => _utils.assert.call(void 0,
|
|
34
|
+
typed._options.actions !== void 0 && action in typed._options.actions,
|
|
35
|
+
`Action "${action}" doesn't have an implementation`
|
|
36
|
+
)
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
function forceStrict(interpreter) {
|
|
40
|
+
let onInitialCalled = false;
|
|
41
|
+
interpreter.subscribe((state) => {
|
|
42
|
+
_utils.assert.call(void 0, !onInitialCalled || state.changed, "Invalid state transition");
|
|
43
|
+
onInitialCalled = true;
|
|
44
|
+
});
|
|
45
|
+
const ogSend = interpreter.send.bind(interpreter);
|
|
46
|
+
interpreter.send = (...args) => {
|
|
47
|
+
_utils.assert.call(void 0,
|
|
48
|
+
interpreter.status === _fsm.InterpreterStatus.Running,
|
|
49
|
+
"Interpreter is stopped"
|
|
50
|
+
);
|
|
51
|
+
return ogSend(...args);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
exports.validateMachine = validateMachine; exports.forceStrict = forceStrict;
|
|
59
|
+
//# sourceMappingURL=chunk-BO2ZDPWV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/fsm.ts"],"names":[],"mappings":";AAAA,SAAS,cAAc;AAEvB,SAAS,yBAAyB;AAU3B,SAAS,gBAId,SAAyD;AACzD,SAAO,cAAc,SAAS,2CAA2C;AACzE,QAAM,QAAQ;AAKd,QAAM,UAAU,CAAO,QAA+B;AACpD,QAAI,MAAM,QAAQ,GAAG,GAAG;AACtB,aAAO;AAAA,IACT,WAAW,QAAQ,UAAa,QAAQ,MAAM;AAC5C,aAAO,CAAC;AAAA,IACV;AACA,WAAO,CAAC,GAAG;AAAA,EACb;AAEA,QAAM,aAAa,oBAAI,IAAY;AACnC,QAAM,aAAa,CAAC,YAClB,QAAQ,OAAO,EACZ,QAAQ,CAAC,WAAW;AACnB,QAAI,OAAO,WAAW,UAAU;AAC9B,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,WAAO,OAAO,WAAW,UAAU;AACnC,WAAO,CAAC;AAAA,EACV,CAAC,EACA,QAAQ,WAAW,IAAI,KAAK,UAAU,CAAC;AAE5C,aAAW,SAAS,OAAO;AAAA,IACzB,MAAM,OAAO;AAAA,EACf,GAAG;AACD,eAAW,MAAM,KAAK;AACtB,eAAW,MAAM,IAAI;AACrB,eAAW,cAAc,OAAO,OAAY,MAAM,MAAM,CAAC,CAAC,GAAG;AAC3D,iBAAW,WAAW,OAAO;AAAA,IAC/B;AAAA,EACF;AAEA,aAAW;AAAA,IAAQ,CAAC,WAClB;AAAA,MACE,MAAM,SAAS,YAAY,UAAa,UAAU,MAAM,SAAS;AAAA,MACjE,WAAW,MAAM;AAAA,IACnB;AAAA,EACF;AACF;AAeO,SAAS,YAAY,aAAkD;AAG5E,MAAI,kBAAkB;AACtB,cAAY,UAAU,CAAC,UAAU;AAC/B,WAAO,CAAC,mBAAmB,MAAM,SAAS,0BAA0B;AACpE,sBAAkB;AAAA,EACpB,CAAC;AAED,QAAM,SAAS,YAAY,KAAK,KAAK,WAAW;AAChD,cAAY,OAAO,IAAI,SAAS;AAC9B;AAAA,MACE,YAAY,WAAW,kBAAkB;AAAA,MACzC;AAAA,IACF;AACA,WAAO,OAAO,GAAG,IAAI;AAAA,EACvB;AACF","sourcesContent":["import { assert } from '@metamask/utils';\nimport type { EventObject, StateMachine, Typestate } from '@xstate/fsm';\nimport { InterpreterStatus } from '@xstate/fsm';\n\n/**\n * Validates the set-up of a @xstate/fsm machine.\n *\n * 1. Ensures that all named actions in the config have a provided implementation.\n *\n * @param machine - The machine to validate.\n * @throws {@link AssertionError}. If the validation fails.\n */\nexport function validateMachine<\n TContext extends object,\n TEvent extends EventObject,\n TState extends Typestate<TContext>,\n>(machine: StateMachine.Machine<TContext, TEvent, TState>) {\n assert('_options' in machine, 'The machine is not an @xstate/fsm machine');\n const typed = machine as StateMachine.Machine<TContext, TEvent, TState> & {\n _options: { actions?: StateMachine.ActionMap<TContext, TEvent> };\n };\n\n // 1.\n const toArray = <Type>(obj: Type | Type[]): Type[] => {\n if (Array.isArray(obj)) {\n return obj;\n } else if (obj === undefined || obj === null) {\n return [];\n }\n return [obj];\n };\n\n const allActions = new Set<string>();\n const addActions = (actions: any) =>\n toArray(actions)\n .flatMap((action) => {\n if (typeof action === 'string') {\n return [action];\n }\n assert(typeof action === 'function');\n return [];\n })\n .forEach(allActions.add.bind(allActions));\n\n for (const state of Object.values<(typeof typed.config.states)[string]>(\n typed.config.states,\n )) {\n addActions(state.entry);\n addActions(state.exit);\n for (const transition of Object.values<any>(state.on ?? {})) {\n addActions(transition.actions);\n }\n }\n\n allActions.forEach((action) =>\n assert(\n typed._options.actions !== undefined && action in typed._options.actions,\n `Action \"${action}\" doesn't have an implementation`,\n ),\n );\n}\n\n/**\n * Ensure that the interpreter is strict.\n * Strict means that the transition must occur.\n * The event must exist in .on {} state config and it's guard must succeed.\n *\n * The error will be thrown when an invalid `interpreter.send()` is called\n * and will be bubbled there.\n *\n * TODO(ritave): Doesn't support self transitions.\n *\n * @param interpreter - The interpreter that will be force into strict mode.\n * @throws {@link Error} Thrown when the transition is invalid.\n */\nexport function forceStrict(interpreter: StateMachine.Service<any, any, any>) {\n // As soon as a listener subscribes, it is called. It might be called in\n // an initial state which doesn't have the .changed property\n let onInitialCalled = false;\n interpreter.subscribe((state) => {\n assert(!onInitialCalled || state.changed, 'Invalid state transition');\n onInitialCalled = true;\n });\n\n const ogSend = interpreter.send.bind(interpreter);\n interpreter.send = (...args) => {\n assert(\n interpreter.status === InterpreterStatus.Running,\n 'Interpreter is stopped',\n );\n return ogSend(...args);\n };\n}\n"]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _chunkEXN2TFDJjs = require('./chunk-EXN2TFDJ.js');
|
|
6
|
+
|
|
7
|
+
// src/services/webview/WebViewMessageStream.ts
|
|
8
|
+
var _postmessagestream = require('@metamask/post-message-stream');
|
|
9
|
+
var _utils = require('@metamask/post-message-stream/dist/utils');
|
|
10
|
+
var _snapsutils = require('@metamask/snaps-utils');
|
|
11
|
+
var _utils3 = require('@metamask/utils');
|
|
12
|
+
var _name, _target, _webView;
|
|
13
|
+
var WebViewMessageStream = class extends _postmessagestream.BasePostMessageStream {
|
|
14
|
+
/**
|
|
15
|
+
* Creates a stream for communicating with other streams inside a WebView.
|
|
16
|
+
*
|
|
17
|
+
* @param args - Options bag.
|
|
18
|
+
* @param args.name - The name of the stream. Used to differentiate between
|
|
19
|
+
* multiple streams sharing the same window object.
|
|
20
|
+
* @param args.target - The name of the stream to exchange messages with.
|
|
21
|
+
* @param args.getWebView - A asynchronous getter for the webview.
|
|
22
|
+
*/
|
|
23
|
+
constructor({ name, target, getWebView }) {
|
|
24
|
+
super();
|
|
25
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _name, void 0);
|
|
26
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _target, void 0);
|
|
27
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _webView, void 0);
|
|
28
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _name, name);
|
|
29
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _target, target);
|
|
30
|
+
this._onMessage = this._onMessage.bind(this);
|
|
31
|
+
getWebView().then((webView) => {
|
|
32
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _webView, webView);
|
|
33
|
+
webView.registerMessageListener(this._onMessage);
|
|
34
|
+
this._handshake();
|
|
35
|
+
}).catch((error) => {
|
|
36
|
+
_snapsutils.logError.call(void 0, error);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
_postMessage(data) {
|
|
40
|
+
_utils3.assert.call(void 0, _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _webView));
|
|
41
|
+
const json = JSON.stringify({
|
|
42
|
+
target: _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _target),
|
|
43
|
+
data
|
|
44
|
+
});
|
|
45
|
+
const bytes = _utils3.stringToBytes.call(void 0, json);
|
|
46
|
+
const base64 = _utils3.bytesToBase64.call(void 0, bytes);
|
|
47
|
+
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _webView).injectJavaScript(`window.postMessage('${base64}')`);
|
|
48
|
+
}
|
|
49
|
+
_onMessage(event) {
|
|
50
|
+
if (typeof event.data !== "string") {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const message = JSON.parse(event.data);
|
|
54
|
+
if (!_utils.isValidStreamMessage.call(void 0, message) || message.target !== _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _name)) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
this._onData(message.data);
|
|
58
|
+
}
|
|
59
|
+
_destroy() {
|
|
60
|
+
_utils3.assert.call(void 0, _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _webView));
|
|
61
|
+
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _webView).unregisterMessageListener(this._onMessage);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
_name = new WeakMap();
|
|
65
|
+
_target = new WeakMap();
|
|
66
|
+
_webView = new WeakMap();
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
exports.WebViewMessageStream = WebViewMessageStream;
|
|
71
|
+
//# sourceMappingURL=chunk-C4D6GBMY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/services/webview/WebViewMessageStream.ts"],"names":[],"mappings":";;;;;;;AACA,SAAS,6BAA6B;AACtC,SAAS,4BAA4B;AACrC,SAAS,gBAAgB;AACzB,SAAS,QAAQ,eAAe,qBAAqB;AAJrD;AAsBO,IAAM,uBAAN,cAAmC,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgB9D,YAAY,EAAE,MAAM,QAAQ,WAAW,GAAsB;AAC3D,UAAM;AAhBR;AAEA;AAEA;AAcE,uBAAK,OAAQ;AACb,uBAAK,SAAU;AAEf,SAAK,aAAa,KAAK,WAAW,KAAK,IAAI;AAI3C,eAAW,EACR,KAAK,CAAC,YAAY;AACjB,yBAAK,UAAW;AAGhB,cAAQ,wBAAwB,KAAK,UAAU;AAC/C,WAAK,WAAW;AAAA,IAClB,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,eAAS,KAAK;AAAA,IAChB,CAAC;AAAA,EACL;AAAA,EAEU,aAAa,MAAqB;AAC1C,WAAO,mBAAK,SAAQ;AACpB,UAAM,OAAO,KAAK,UAAU;AAAA,MAC1B,QAAQ,mBAAK;AAAA,MACb;AAAA,IACF,CAAC;AAKD,UAAM,QAAQ,cAAc,IAAI;AAChC,UAAM,SAAS,cAAc,KAAK;AAClC,uBAAK,UAAS,iBAAiB,uBAAuB,MAAM,IAAI;AAAA,EAClE;AAAA,EAEQ,WAAW,OAA+B;AAChD,QAAI,OAAO,MAAM,SAAS,UAAU;AAClC;AAAA,IACF;AAEA,UAAM,UAAU,KAAK,MAAM,MAAM,IAAI;AAIrC,QAAI,CAAC,qBAAqB,OAAO,KAAK,QAAQ,WAAW,mBAAK,QAAO;AACnE;AAAA,IACF;AAEA,SAAK,QAAQ,QAAQ,IAAI;AAAA,EAC3B;AAAA,EAEA,WAAW;AACT,WAAO,mBAAK,SAAQ;AAGpB,uBAAK,UAAS,0BAA0B,KAAK,UAAU;AAAA,EACzD;AACF;AA3EE;AAEA;AAEA","sourcesContent":["import type { PostMessageEvent } from '@metamask/post-message-stream';\nimport { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { isValidStreamMessage } from '@metamask/post-message-stream/dist/utils';\nimport { logError } from '@metamask/snaps-utils';\nimport { assert, bytesToBase64, stringToBytes } from '@metamask/utils';\n\nexport type WebViewInterface = {\n injectJavaScript(js: string): void;\n registerMessageListener(listener: (event: PostMessageEvent) => void): void;\n unregisterMessageListener(listener: (event: PostMessageEvent) => void): void;\n};\n\ntype WebViewStreamArgs = {\n name: string;\n target: string;\n getWebView: () => Promise<WebViewInterface>;\n};\n\n/**\n * A special postMessage stream used to interface with a WebView.\n */\n\nexport class WebViewMessageStream extends BasePostMessageStream {\n #name;\n\n #target;\n\n #webView: WebViewInterface | undefined;\n\n /**\n * Creates a stream for communicating with other streams inside a WebView.\n *\n * @param args - Options bag.\n * @param args.name - The name of the stream. Used to differentiate between\n * multiple streams sharing the same window object.\n * @param args.target - The name of the stream to exchange messages with.\n * @param args.getWebView - A asynchronous getter for the webview.\n */\n constructor({ name, target, getWebView }: WebViewStreamArgs) {\n super();\n\n this.#name = name;\n this.#target = target;\n\n this._onMessage = this._onMessage.bind(this);\n\n // This is a bit atypical from other post-message streams.\n // We have to wait for the WebView to fully load before we can continue using the stream.\n getWebView()\n .then((webView) => {\n this.#webView = webView;\n // This method is already bound.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n webView.registerMessageListener(this._onMessage);\n this._handshake();\n })\n .catch((error) => {\n logError(error);\n });\n }\n\n protected _postMessage(data: unknown): void {\n assert(this.#webView);\n const json = JSON.stringify({\n target: this.#target,\n data,\n });\n\n // To prevent XSS, we base64 encode the message before injecting it.\n // This adds significant performance overhead.\n // TODO: Should we use mobile native base64 here?\n const bytes = stringToBytes(json);\n const base64 = bytesToBase64(bytes);\n this.#webView.injectJavaScript(`window.postMessage('${base64}')`);\n }\n\n private _onMessage(event: PostMessageEvent): void {\n if (typeof event.data !== 'string') {\n return;\n }\n\n const message = JSON.parse(event.data);\n\n // Notice that we don't check targetWindow or targetOrigin here.\n // This doesn't seem possible to do in RN.\n if (!isValidStreamMessage(message) || message.target !== this.#name) {\n return;\n }\n\n this._onData(message.data);\n }\n\n _destroy() {\n assert(this.#webView);\n // This method is already bound.\n // eslint-disable-next-line @typescript-eslint/unbound-method\n this.#webView.unregisterMessageListener(this._onMessage);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-D74XJG2L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__privateAdd,
|
|
3
|
+
__privateGet,
|
|
4
|
+
__privateMethod,
|
|
5
|
+
__privateSet
|
|
6
|
+
} from "./chunk-YRZVIDCF.mjs";
|
|
7
|
+
|
|
8
|
+
// src/snaps/registry/json.ts
|
|
9
|
+
import { BaseController } from "@metamask/base-controller";
|
|
10
|
+
import { verify } from "@metamask/snaps-registry";
|
|
11
|
+
import { getTargetVersion } from "@metamask/snaps-utils";
|
|
12
|
+
import {
|
|
13
|
+
assert,
|
|
14
|
+
assertIsSemVerRange,
|
|
15
|
+
Duration,
|
|
16
|
+
inMilliseconds,
|
|
17
|
+
satisfiesVersionRange
|
|
18
|
+
} from "@metamask/utils";
|
|
19
|
+
var SNAP_REGISTRY_URL = "https://cdn.jsdelivr.net/gh/MetaMask/snaps-registry@gh-pages/latest/registry.json";
|
|
20
|
+
var SNAP_REGISTRY_SIGNATURE_URL = "https://cdn.jsdelivr.net/gh/MetaMask/snaps-registry@gh-pages/latest/signature.json";
|
|
21
|
+
var controllerName = "SnapsRegistry";
|
|
22
|
+
var defaultState = {
|
|
23
|
+
database: null,
|
|
24
|
+
lastUpdated: null
|
|
25
|
+
};
|
|
26
|
+
var _url, _publicKey, _fetchFunction, _recentFetchThreshold, _refetchOnAllowlistMiss, _failOnUnavailableRegistry, _currentUpdate, _wasRecentlyFetched, wasRecentlyFetched_fn, _triggerUpdate, triggerUpdate_fn, _update, update_fn, _getDatabase, getDatabase_fn, _getSingle, getSingle_fn, _get, get_fn, _resolveVersion, resolveVersion_fn, _getMetadata, getMetadata_fn, _verifySignature, verifySignature_fn, _safeFetch, safeFetch_fn;
|
|
27
|
+
var JsonSnapsRegistry = class extends BaseController {
|
|
28
|
+
constructor({
|
|
29
|
+
messenger,
|
|
30
|
+
state,
|
|
31
|
+
url = {
|
|
32
|
+
registry: SNAP_REGISTRY_URL,
|
|
33
|
+
signature: SNAP_REGISTRY_SIGNATURE_URL
|
|
34
|
+
},
|
|
35
|
+
publicKey,
|
|
36
|
+
fetchFunction = globalThis.fetch.bind(globalThis),
|
|
37
|
+
recentFetchThreshold = inMilliseconds(5, Duration.Minute),
|
|
38
|
+
failOnUnavailableRegistry = true,
|
|
39
|
+
refetchOnAllowlistMiss = true
|
|
40
|
+
}) {
|
|
41
|
+
super({
|
|
42
|
+
messenger,
|
|
43
|
+
metadata: {
|
|
44
|
+
database: { persist: true, anonymous: false },
|
|
45
|
+
lastUpdated: { persist: true, anonymous: false }
|
|
46
|
+
},
|
|
47
|
+
name: controllerName,
|
|
48
|
+
state: {
|
|
49
|
+
...defaultState,
|
|
50
|
+
...state
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
__privateAdd(this, _wasRecentlyFetched);
|
|
54
|
+
/**
|
|
55
|
+
* Triggers an update of the registry database.
|
|
56
|
+
*
|
|
57
|
+
* If an existing update is in progress this function will await that update.
|
|
58
|
+
*/
|
|
59
|
+
__privateAdd(this, _triggerUpdate);
|
|
60
|
+
/**
|
|
61
|
+
* Updates the registry database if the registry hasn't been updated recently.
|
|
62
|
+
*
|
|
63
|
+
* NOTE: SHOULD NOT be called directly, instead `triggerUpdate` should be used.
|
|
64
|
+
*/
|
|
65
|
+
__privateAdd(this, _update);
|
|
66
|
+
__privateAdd(this, _getDatabase);
|
|
67
|
+
__privateAdd(this, _getSingle);
|
|
68
|
+
__privateAdd(this, _get);
|
|
69
|
+
/**
|
|
70
|
+
* Find an allowlisted version within a specified version range. Otherwise return the version range itself.
|
|
71
|
+
*
|
|
72
|
+
* @param snapId - The ID of the snap we are trying to resolve a version for.
|
|
73
|
+
* @param versionRange - The version range.
|
|
74
|
+
* @param refetch - An optional flag used to determine if we are refetching the registry.
|
|
75
|
+
* @returns An allowlisted version within the specified version range if available otherwise returns the input version range.
|
|
76
|
+
*/
|
|
77
|
+
__privateAdd(this, _resolveVersion);
|
|
78
|
+
/**
|
|
79
|
+
* Get metadata for the given snap ID.
|
|
80
|
+
*
|
|
81
|
+
* @param snapId - The ID of the snap to get metadata for.
|
|
82
|
+
* @returns The metadata for the given snap ID, or `null` if the snap is not
|
|
83
|
+
* verified.
|
|
84
|
+
*/
|
|
85
|
+
__privateAdd(this, _getMetadata);
|
|
86
|
+
/**
|
|
87
|
+
* Verify the signature of the registry.
|
|
88
|
+
*
|
|
89
|
+
* @param database - The registry database.
|
|
90
|
+
* @param signature - The signature of the registry.
|
|
91
|
+
* @throws If the signature is invalid.
|
|
92
|
+
* @private
|
|
93
|
+
*/
|
|
94
|
+
__privateAdd(this, _verifySignature);
|
|
95
|
+
/**
|
|
96
|
+
* Fetch the given URL, throwing if the response is not OK.
|
|
97
|
+
*
|
|
98
|
+
* @param url - The URL to fetch.
|
|
99
|
+
* @returns The response body.
|
|
100
|
+
* @private
|
|
101
|
+
*/
|
|
102
|
+
__privateAdd(this, _safeFetch);
|
|
103
|
+
__privateAdd(this, _url, void 0);
|
|
104
|
+
__privateAdd(this, _publicKey, void 0);
|
|
105
|
+
__privateAdd(this, _fetchFunction, void 0);
|
|
106
|
+
__privateAdd(this, _recentFetchThreshold, void 0);
|
|
107
|
+
__privateAdd(this, _refetchOnAllowlistMiss, void 0);
|
|
108
|
+
__privateAdd(this, _failOnUnavailableRegistry, void 0);
|
|
109
|
+
__privateAdd(this, _currentUpdate, void 0);
|
|
110
|
+
__privateSet(this, _url, url);
|
|
111
|
+
__privateSet(this, _publicKey, publicKey);
|
|
112
|
+
__privateSet(this, _fetchFunction, fetchFunction);
|
|
113
|
+
__privateSet(this, _recentFetchThreshold, recentFetchThreshold);
|
|
114
|
+
__privateSet(this, _refetchOnAllowlistMiss, refetchOnAllowlistMiss);
|
|
115
|
+
__privateSet(this, _failOnUnavailableRegistry, failOnUnavailableRegistry);
|
|
116
|
+
__privateSet(this, _currentUpdate, null);
|
|
117
|
+
this.messagingSystem.registerActionHandler(
|
|
118
|
+
"SnapsRegistry:get",
|
|
119
|
+
async (...args) => __privateMethod(this, _get, get_fn).call(this, ...args)
|
|
120
|
+
);
|
|
121
|
+
this.messagingSystem.registerActionHandler(
|
|
122
|
+
"SnapsRegistry:getMetadata",
|
|
123
|
+
async (...args) => __privateMethod(this, _getMetadata, getMetadata_fn).call(this, ...args)
|
|
124
|
+
);
|
|
125
|
+
this.messagingSystem.registerActionHandler(
|
|
126
|
+
"SnapsRegistry:resolveVersion",
|
|
127
|
+
async (...args) => __privateMethod(this, _resolveVersion, resolveVersion_fn).call(this, ...args)
|
|
128
|
+
);
|
|
129
|
+
this.messagingSystem.registerActionHandler(
|
|
130
|
+
"SnapsRegistry:update",
|
|
131
|
+
async () => __privateMethod(this, _triggerUpdate, triggerUpdate_fn).call(this)
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
_url = new WeakMap();
|
|
136
|
+
_publicKey = new WeakMap();
|
|
137
|
+
_fetchFunction = new WeakMap();
|
|
138
|
+
_recentFetchThreshold = new WeakMap();
|
|
139
|
+
_refetchOnAllowlistMiss = new WeakMap();
|
|
140
|
+
_failOnUnavailableRegistry = new WeakMap();
|
|
141
|
+
_currentUpdate = new WeakMap();
|
|
142
|
+
_wasRecentlyFetched = new WeakSet();
|
|
143
|
+
wasRecentlyFetched_fn = function() {
|
|
144
|
+
return this.state.lastUpdated && Date.now() - this.state.lastUpdated < __privateGet(this, _recentFetchThreshold);
|
|
145
|
+
};
|
|
146
|
+
_triggerUpdate = new WeakSet();
|
|
147
|
+
triggerUpdate_fn = async function() {
|
|
148
|
+
if (__privateGet(this, _currentUpdate)) {
|
|
149
|
+
await __privateGet(this, _currentUpdate);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (__privateGet(this, _currentUpdate) === null) {
|
|
153
|
+
__privateSet(this, _currentUpdate, __privateMethod(this, _update, update_fn).call(this));
|
|
154
|
+
}
|
|
155
|
+
await __privateGet(this, _currentUpdate);
|
|
156
|
+
__privateSet(this, _currentUpdate, null);
|
|
157
|
+
};
|
|
158
|
+
_update = new WeakSet();
|
|
159
|
+
update_fn = async function() {
|
|
160
|
+
if (__privateMethod(this, _wasRecentlyFetched, wasRecentlyFetched_fn).call(this)) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
try {
|
|
164
|
+
const database = await __privateMethod(this, _safeFetch, safeFetch_fn).call(this, __privateGet(this, _url).registry);
|
|
165
|
+
if (__privateGet(this, _publicKey)) {
|
|
166
|
+
const signature = await __privateMethod(this, _safeFetch, safeFetch_fn).call(this, __privateGet(this, _url).signature);
|
|
167
|
+
__privateMethod(this, _verifySignature, verifySignature_fn).call(this, database, signature);
|
|
168
|
+
}
|
|
169
|
+
this.update((state) => {
|
|
170
|
+
state.database = JSON.parse(database);
|
|
171
|
+
state.lastUpdated = Date.now();
|
|
172
|
+
});
|
|
173
|
+
} catch {
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
_getDatabase = new WeakSet();
|
|
177
|
+
getDatabase_fn = async function() {
|
|
178
|
+
if (this.state.database === null) {
|
|
179
|
+
await __privateMethod(this, _triggerUpdate, triggerUpdate_fn).call(this);
|
|
180
|
+
}
|
|
181
|
+
if (__privateGet(this, _failOnUnavailableRegistry) && this.state.database === null) {
|
|
182
|
+
throw new Error("Snaps registry is unavailable, installation blocked.");
|
|
183
|
+
}
|
|
184
|
+
return this.state.database;
|
|
185
|
+
};
|
|
186
|
+
_getSingle = new WeakSet();
|
|
187
|
+
getSingle_fn = async function(snapId, snapInfo, refetch = false) {
|
|
188
|
+
const database = await __privateMethod(this, _getDatabase, getDatabase_fn).call(this);
|
|
189
|
+
const blockedEntry = database?.blockedSnaps.find((blocked) => {
|
|
190
|
+
if ("id" in blocked) {
|
|
191
|
+
return blocked.id === snapId && satisfiesVersionRange(snapInfo.version, blocked.versionRange);
|
|
192
|
+
}
|
|
193
|
+
return blocked.checksum === snapInfo.checksum;
|
|
194
|
+
});
|
|
195
|
+
if (blockedEntry) {
|
|
196
|
+
return {
|
|
197
|
+
status: 1 /* Blocked */,
|
|
198
|
+
reason: blockedEntry.reason
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
const verified = database?.verifiedSnaps[snapId];
|
|
202
|
+
const version = verified?.versions?.[snapInfo.version];
|
|
203
|
+
if (version && version.checksum === snapInfo.checksum) {
|
|
204
|
+
return { status: 2 /* Verified */ };
|
|
205
|
+
}
|
|
206
|
+
if (__privateGet(this, _refetchOnAllowlistMiss) && !refetch) {
|
|
207
|
+
await __privateMethod(this, _triggerUpdate, triggerUpdate_fn).call(this);
|
|
208
|
+
return __privateMethod(this, _getSingle, getSingle_fn).call(this, snapId, snapInfo, true);
|
|
209
|
+
}
|
|
210
|
+
return { status: 0 /* Unverified */ };
|
|
211
|
+
};
|
|
212
|
+
_get = new WeakSet();
|
|
213
|
+
get_fn = async function(snaps) {
|
|
214
|
+
return Object.entries(snaps).reduce(async (previousPromise, [snapId, snapInfo]) => {
|
|
215
|
+
const result = await __privateMethod(this, _getSingle, getSingle_fn).call(this, snapId, snapInfo);
|
|
216
|
+
const acc = await previousPromise;
|
|
217
|
+
acc[snapId] = result;
|
|
218
|
+
return acc;
|
|
219
|
+
}, Promise.resolve({}));
|
|
220
|
+
};
|
|
221
|
+
_resolveVersion = new WeakSet();
|
|
222
|
+
resolveVersion_fn = async function(snapId, versionRange, refetch = false) {
|
|
223
|
+
const database = await __privateMethod(this, _getDatabase, getDatabase_fn).call(this);
|
|
224
|
+
const versions = database?.verifiedSnaps[snapId]?.versions ?? null;
|
|
225
|
+
if (!versions && __privateGet(this, _refetchOnAllowlistMiss) && !refetch) {
|
|
226
|
+
await __privateMethod(this, _triggerUpdate, triggerUpdate_fn).call(this);
|
|
227
|
+
return __privateMethod(this, _resolveVersion, resolveVersion_fn).call(this, snapId, versionRange, true);
|
|
228
|
+
}
|
|
229
|
+
if (!versions) {
|
|
230
|
+
return versionRange;
|
|
231
|
+
}
|
|
232
|
+
const targetVersion = getTargetVersion(
|
|
233
|
+
Object.keys(versions),
|
|
234
|
+
versionRange
|
|
235
|
+
);
|
|
236
|
+
if (!targetVersion && __privateGet(this, _refetchOnAllowlistMiss) && !refetch) {
|
|
237
|
+
await __privateMethod(this, _triggerUpdate, triggerUpdate_fn).call(this);
|
|
238
|
+
return __privateMethod(this, _resolveVersion, resolveVersion_fn).call(this, snapId, versionRange, true);
|
|
239
|
+
}
|
|
240
|
+
if (!targetVersion) {
|
|
241
|
+
return versionRange;
|
|
242
|
+
}
|
|
243
|
+
assertIsSemVerRange(targetVersion);
|
|
244
|
+
return targetVersion;
|
|
245
|
+
};
|
|
246
|
+
_getMetadata = new WeakSet();
|
|
247
|
+
getMetadata_fn = async function(snapId) {
|
|
248
|
+
const database = await __privateMethod(this, _getDatabase, getDatabase_fn).call(this);
|
|
249
|
+
return database?.verifiedSnaps[snapId]?.metadata ?? null;
|
|
250
|
+
};
|
|
251
|
+
_verifySignature = new WeakSet();
|
|
252
|
+
verifySignature_fn = function(database, signature) {
|
|
253
|
+
assert(__privateGet(this, _publicKey), "No public key provided.");
|
|
254
|
+
const valid = verify({
|
|
255
|
+
registry: database,
|
|
256
|
+
signature: JSON.parse(signature),
|
|
257
|
+
publicKey: __privateGet(this, _publicKey)
|
|
258
|
+
});
|
|
259
|
+
assert(valid, "Invalid registry signature.");
|
|
260
|
+
};
|
|
261
|
+
_safeFetch = new WeakSet();
|
|
262
|
+
safeFetch_fn = async function(url) {
|
|
263
|
+
const response = await __privateGet(this, _fetchFunction).call(this, url);
|
|
264
|
+
if (!response.ok) {
|
|
265
|
+
throw new Error(`Failed to fetch ${url}.`);
|
|
266
|
+
}
|
|
267
|
+
return await response.text();
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
export {
|
|
271
|
+
JsonSnapsRegistry
|
|
272
|
+
};
|
|
273
|
+
//# sourceMappingURL=chunk-DSQYZGBH.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/snaps/registry/json.ts"],"sourcesContent":["import type { RestrictedControllerMessenger } from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { SnapsRegistryDatabase } from '@metamask/snaps-registry';\nimport { verify } from '@metamask/snaps-registry';\nimport { getTargetVersion } from '@metamask/snaps-utils';\nimport type { Hex, SemVerRange, SemVerVersion } from '@metamask/utils';\nimport {\n assert,\n assertIsSemVerRange,\n Duration,\n inMilliseconds,\n satisfiesVersionRange,\n} from '@metamask/utils';\n\nimport type {\n SnapsRegistry,\n SnapsRegistryInfo,\n SnapsRegistryMetadata,\n SnapsRegistryRequest,\n SnapsRegistryResult,\n} from './registry';\nimport { SnapsRegistryStatus } from './registry';\n\n// TODO: Replace with a Codefi URL\nconst SNAP_REGISTRY_URL =\n 'https://cdn.jsdelivr.net/gh/MetaMask/snaps-registry@gh-pages/latest/registry.json';\n\nconst SNAP_REGISTRY_SIGNATURE_URL =\n 'https://cdn.jsdelivr.net/gh/MetaMask/snaps-registry@gh-pages/latest/signature.json';\n\ntype JsonSnapsRegistryUrl = {\n registry: string;\n signature: string;\n};\n\nexport type JsonSnapsRegistryArgs = {\n messenger: SnapsRegistryMessenger;\n state?: SnapsRegistryState;\n fetchFunction?: typeof fetch;\n url?: JsonSnapsRegistryUrl;\n recentFetchThreshold?: number;\n refetchOnAllowlistMiss?: boolean;\n failOnUnavailableRegistry?: boolean;\n publicKey?: Hex;\n};\n\nexport type GetResult = {\n type: `${typeof controllerName}:get`;\n handler: SnapsRegistry['get'];\n};\n\nexport type ResolveVersion = {\n type: `${typeof controllerName}:resolveVersion`;\n handler: SnapsRegistry['resolveVersion'];\n};\n\nexport type GetMetadata = {\n type: `${typeof controllerName}:getMetadata`;\n handler: SnapsRegistry['getMetadata'];\n};\n\nexport type Update = {\n type: `${typeof controllerName}:update`;\n handler: SnapsRegistry['update'];\n};\n\nexport type SnapsRegistryActions =\n | GetResult\n | GetMetadata\n | Update\n | ResolveVersion;\n\nexport type SnapsRegistryEvents = never;\n\nexport type SnapsRegistryMessenger = RestrictedControllerMessenger<\n 'SnapsRegistry',\n SnapsRegistryActions,\n SnapsRegistryEvents,\n SnapsRegistryActions['type'],\n SnapsRegistryEvents['type']\n>;\n\nexport type SnapsRegistryState = {\n database: SnapsRegistryDatabase | null;\n lastUpdated: number | null;\n};\n\nconst controllerName = 'SnapsRegistry';\n\nconst defaultState = {\n database: null,\n lastUpdated: null,\n};\n\nexport class JsonSnapsRegistry extends BaseController<\n typeof controllerName,\n SnapsRegistryState,\n SnapsRegistryMessenger\n> {\n #url: JsonSnapsRegistryUrl;\n\n #publicKey?: Hex;\n\n #fetchFunction: typeof fetch;\n\n #recentFetchThreshold: number;\n\n #refetchOnAllowlistMiss: boolean;\n\n #failOnUnavailableRegistry: boolean;\n\n #currentUpdate: Promise<void> | null;\n\n constructor({\n messenger,\n state,\n url = {\n registry: SNAP_REGISTRY_URL,\n signature: SNAP_REGISTRY_SIGNATURE_URL,\n },\n publicKey,\n fetchFunction = globalThis.fetch.bind(globalThis),\n recentFetchThreshold = inMilliseconds(5, Duration.Minute),\n failOnUnavailableRegistry = true,\n refetchOnAllowlistMiss = true,\n }: JsonSnapsRegistryArgs) {\n super({\n messenger,\n metadata: {\n database: { persist: true, anonymous: false },\n lastUpdated: { persist: true, anonymous: false },\n },\n name: controllerName,\n state: {\n ...defaultState,\n ...state,\n },\n });\n this.#url = url;\n this.#publicKey = publicKey;\n this.#fetchFunction = fetchFunction;\n this.#recentFetchThreshold = recentFetchThreshold;\n this.#refetchOnAllowlistMiss = refetchOnAllowlistMiss;\n this.#failOnUnavailableRegistry = failOnUnavailableRegistry;\n this.#currentUpdate = null;\n\n this.messagingSystem.registerActionHandler(\n 'SnapsRegistry:get',\n async (...args) => this.#get(...args),\n );\n\n this.messagingSystem.registerActionHandler(\n 'SnapsRegistry:getMetadata',\n async (...args) => this.#getMetadata(...args),\n );\n\n this.messagingSystem.registerActionHandler(\n 'SnapsRegistry:resolveVersion',\n async (...args) => this.#resolveVersion(...args),\n );\n\n this.messagingSystem.registerActionHandler(\n 'SnapsRegistry:update',\n async () => this.#triggerUpdate(),\n );\n }\n\n #wasRecentlyFetched() {\n return (\n this.state.lastUpdated &&\n Date.now() - this.state.lastUpdated < this.#recentFetchThreshold\n );\n }\n\n /**\n * Triggers an update of the registry database.\n *\n * If an existing update is in progress this function will await that update.\n */\n async #triggerUpdate() {\n // If an update is ongoing, wait for that.\n if (this.#currentUpdate) {\n await this.#currentUpdate;\n return;\n }\n // If no update exists, create promise and store globally.\n if (this.#currentUpdate === null) {\n this.#currentUpdate = this.#update();\n }\n await this.#currentUpdate;\n this.#currentUpdate = null;\n }\n\n /**\n * Updates the registry database if the registry hasn't been updated recently.\n *\n * NOTE: SHOULD NOT be called directly, instead `triggerUpdate` should be used.\n */\n async #update() {\n // No-op if we recently fetched the registry.\n if (this.#wasRecentlyFetched()) {\n return;\n }\n\n try {\n const database = await this.#safeFetch(this.#url.registry);\n\n if (this.#publicKey) {\n const signature = await this.#safeFetch(this.#url.signature);\n this.#verifySignature(database, signature);\n }\n\n this.update((state) => {\n state.database = JSON.parse(database);\n state.lastUpdated = Date.now();\n });\n } catch {\n // Ignore\n }\n }\n\n async #getDatabase(): Promise<SnapsRegistryDatabase | null> {\n if (this.state.database === null) {\n await this.#triggerUpdate();\n }\n\n // If the database is still null and we require it, throw.\n if (this.#failOnUnavailableRegistry && this.state.database === null) {\n throw new Error('Snaps registry is unavailable, installation blocked.');\n }\n return this.state.database;\n }\n\n async #getSingle(\n snapId: string,\n snapInfo: SnapsRegistryInfo,\n refetch = false,\n ): Promise<SnapsRegistryResult> {\n const database = await this.#getDatabase();\n\n const blockedEntry = database?.blockedSnaps.find((blocked) => {\n if ('id' in blocked) {\n return (\n blocked.id === snapId &&\n satisfiesVersionRange(snapInfo.version, blocked.versionRange)\n );\n }\n\n return blocked.checksum === snapInfo.checksum;\n });\n\n if (blockedEntry) {\n return {\n status: SnapsRegistryStatus.Blocked,\n reason: blockedEntry.reason,\n };\n }\n\n const verified = database?.verifiedSnaps[snapId];\n const version = verified?.versions?.[snapInfo.version];\n if (version && version.checksum === snapInfo.checksum) {\n return { status: SnapsRegistryStatus.Verified };\n }\n // For now, if we have an allowlist miss, we can refetch once and try again.\n if (this.#refetchOnAllowlistMiss && !refetch) {\n await this.#triggerUpdate();\n return this.#getSingle(snapId, snapInfo, true);\n }\n return { status: SnapsRegistryStatus.Unverified };\n }\n\n async #get(\n snaps: SnapsRegistryRequest,\n ): Promise<Record<string, SnapsRegistryResult>> {\n return Object.entries(snaps).reduce<\n Promise<Record<string, SnapsRegistryResult>>\n >(async (previousPromise, [snapId, snapInfo]) => {\n const result = await this.#getSingle(snapId, snapInfo);\n const acc = await previousPromise;\n acc[snapId] = result;\n return acc;\n }, Promise.resolve({}));\n }\n\n /**\n * Find an allowlisted version within a specified version range. Otherwise return the version range itself.\n *\n * @param snapId - The ID of the snap we are trying to resolve a version for.\n * @param versionRange - The version range.\n * @param refetch - An optional flag used to determine if we are refetching the registry.\n * @returns An allowlisted version within the specified version range if available otherwise returns the input version range.\n */\n async #resolveVersion(\n snapId: string,\n versionRange: SemVerRange,\n refetch = false,\n ): Promise<SemVerRange> {\n const database = await this.#getDatabase();\n const versions = database?.verifiedSnaps[snapId]?.versions ?? null;\n\n if (!versions && this.#refetchOnAllowlistMiss && !refetch) {\n await this.#triggerUpdate();\n return this.#resolveVersion(snapId, versionRange, true);\n }\n\n // If we cannot narrow down the version range we return the unaltered version range.\n if (!versions) {\n return versionRange;\n }\n\n const targetVersion = getTargetVersion(\n Object.keys(versions) as SemVerVersion[],\n versionRange,\n );\n\n if (!targetVersion && this.#refetchOnAllowlistMiss && !refetch) {\n await this.#triggerUpdate();\n return this.#resolveVersion(snapId, versionRange, true);\n }\n\n // If we cannot narrow down the version range we return the unaltered version range.\n if (!targetVersion) {\n return versionRange;\n }\n\n // A semver version is technically also a valid semver range.\n assertIsSemVerRange(targetVersion);\n return targetVersion;\n }\n\n /**\n * Get metadata for the given snap ID.\n *\n * @param snapId - The ID of the snap to get metadata for.\n * @returns The metadata for the given snap ID, or `null` if the snap is not\n * verified.\n */\n async #getMetadata(snapId: string): Promise<SnapsRegistryMetadata | null> {\n const database = await this.#getDatabase();\n return database?.verifiedSnaps[snapId]?.metadata ?? null;\n }\n\n /**\n * Verify the signature of the registry.\n *\n * @param database - The registry database.\n * @param signature - The signature of the registry.\n * @throws If the signature is invalid.\n * @private\n */\n #verifySignature(database: string, signature: string) {\n assert(this.#publicKey, 'No public key provided.');\n\n const valid = verify({\n registry: database,\n signature: JSON.parse(signature),\n publicKey: this.#publicKey,\n });\n\n assert(valid, 'Invalid registry signature.');\n }\n\n /**\n * Fetch the given URL, throwing if the response is not OK.\n *\n * @param url - The URL to fetch.\n * @returns The response body.\n * @private\n */\n async #safeFetch(url: string) {\n const response = await this.#fetchFunction(url);\n if (!response.ok) {\n throw new Error(`Failed to fetch ${url}.`);\n }\n\n return await response.text();\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-ESQPQNEF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
2
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
3
|
+
}) : x)(function(x) {
|
|
4
|
+
if (typeof require !== "undefined")
|
|
5
|
+
return require.apply(this, arguments);
|
|
6
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
7
|
+
});
|
|
8
|
+
var __accessCheck = (obj, member, msg) => {
|
|
9
|
+
if (!member.has(obj))
|
|
10
|
+
throw TypeError("Cannot " + msg);
|
|
11
|
+
};
|
|
12
|
+
var __privateGet = (obj, member, getter) => {
|
|
13
|
+
__accessCheck(obj, member, "read from private field");
|
|
14
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
15
|
+
};
|
|
16
|
+
var __privateAdd = (obj, member, value) => {
|
|
17
|
+
if (member.has(obj))
|
|
18
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
19
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
20
|
+
};
|
|
21
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
22
|
+
__accessCheck(obj, member, "write to private field");
|
|
23
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
24
|
+
return value;
|
|
25
|
+
};
|
|
26
|
+
var __privateMethod = (obj, member, method) => {
|
|
27
|
+
__accessCheck(obj, member, "access private method");
|
|
28
|
+
return method;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.__require = __require; exports.__privateGet = __privateGet; exports.__privateAdd = __privateAdd; exports.__privateSet = __privateSet; exports.__privateMethod = __privateMethod;
|
|
38
|
+
//# sourceMappingURL=chunk-EXN2TFDJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-FX5AADOV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkJDHKH5YUjs = require('./chunk-JDHKH5YU.js');
|
|
4
|
+
|
|
5
|
+
// src/services/iframe/IframeExecutionService.ts
|
|
6
|
+
var _postmessagestream = require('@metamask/post-message-stream');
|
|
7
|
+
var _snapsutils = require('@metamask/snaps-utils');
|
|
8
|
+
var IframeExecutionService = class extends _chunkJDHKH5YUjs.AbstractExecutionService {
|
|
9
|
+
constructor({
|
|
10
|
+
iframeUrl,
|
|
11
|
+
messenger,
|
|
12
|
+
setupSnapProvider
|
|
13
|
+
}) {
|
|
14
|
+
super({
|
|
15
|
+
messenger,
|
|
16
|
+
setupSnapProvider
|
|
17
|
+
});
|
|
18
|
+
this.iframeUrl = iframeUrl;
|
|
19
|
+
}
|
|
20
|
+
terminateJob(jobWrapper) {
|
|
21
|
+
document.getElementById(jobWrapper.id)?.remove();
|
|
22
|
+
}
|
|
23
|
+
async initEnvStream(jobId) {
|
|
24
|
+
const iframeWindow = await _snapsutils.createWindow.call(void 0, this.iframeUrl.toString(), jobId);
|
|
25
|
+
const stream = new (0, _postmessagestream.WindowPostMessageStream)({
|
|
26
|
+
name: "parent",
|
|
27
|
+
target: "child",
|
|
28
|
+
targetWindow: iframeWindow,
|
|
29
|
+
targetOrigin: "*"
|
|
30
|
+
});
|
|
31
|
+
return { worker: iframeWindow, stream };
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
exports.IframeExecutionService = IframeExecutionService;
|
|
38
|
+
//# sourceMappingURL=chunk-FZY2Z5NP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/services/iframe/IframeExecutionService.ts"],"names":[],"mappings":";;;;;AACA,SAAS,+BAA+B;AACxC,SAAS,oBAAoB;AAStB,IAAM,yBAAN,cAAqC,yBAAiC;AAAA,EAG3E,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAA0C;AACxC,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IACF,CAAC;AACD,SAAK,YAAY;AAAA,EACnB;AAAA,EAEU,aAAa,YAA+B;AACpD,aAAS,eAAe,WAAW,EAAE,GAAG,OAAO;AAAA,EACjD;AAAA,EAEA,MAAgB,cAAc,OAG3B;AACD,UAAM,eAAe,MAAM,aAAa,KAAK,UAAU,SAAS,GAAG,KAAK;AAExE,UAAM,SAAS,IAAI,wBAAwB;AAAA,MACzC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,cAAc;AAAA,IAChB,CAAC;AAED,WAAO,EAAE,QAAQ,cAAc,OAAO;AAAA,EACxC;AACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { WindowPostMessageStream } from '@metamask/post-message-stream';\nimport { createWindow } from '@metamask/snaps-utils';\n\nimport type { Job, ExecutionServiceArgs } from '../AbstractExecutionService';\nimport { AbstractExecutionService } from '../AbstractExecutionService';\n\ntype IframeExecutionEnvironmentServiceArgs = {\n iframeUrl: URL;\n} & ExecutionServiceArgs;\n\nexport class IframeExecutionService extends AbstractExecutionService<Window> {\n public iframeUrl: URL;\n\n constructor({\n iframeUrl,\n messenger,\n setupSnapProvider,\n }: IframeExecutionEnvironmentServiceArgs) {\n super({\n messenger,\n setupSnapProvider,\n });\n this.iframeUrl = iframeUrl;\n }\n\n protected terminateJob(jobWrapper: Job<Window>): void {\n document.getElementById(jobWrapper.id)?.remove();\n }\n\n protected async initEnvStream(jobId: string): Promise<{\n worker: Window;\n stream: BasePostMessageStream;\n }> {\n const iframeWindow = await createWindow(this.iframeUrl.toString(), jobId);\n\n const stream = new WindowPostMessageStream({\n name: 'parent',\n target: 'child',\n targetWindow: iframeWindow,\n targetOrigin: '*',\n });\n\n return { worker: iframeWindow, stream };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-G66GQJS6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-G7U6WKWS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";//# sourceMappingURL=chunk-HOY6NKQR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-HWJE3SDW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-IABOI7TW.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|