@metamask/snaps-controllers 9.5.0 → 9.6.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 +13 -1
- package/dist/cronjob/CronjobController.cjs +255 -0
- package/dist/cronjob/CronjobController.cjs.map +1 -0
- package/dist/{types/cronjob/CronjobController.d.ts → cronjob/CronjobController.d.cts} +8 -7
- package/dist/cronjob/CronjobController.d.cts.map +1 -0
- package/dist/cronjob/CronjobController.d.mts +121 -0
- package/dist/cronjob/CronjobController.d.mts.map +1 -0
- package/dist/cronjob/CronjobController.mjs +249 -41
- package/dist/cronjob/CronjobController.mjs.map +1 -1
- package/dist/cronjob/index.cjs +18 -0
- package/dist/cronjob/index.cjs.map +1 -0
- package/dist/cronjob/index.d.cts +2 -0
- package/dist/cronjob/index.d.cts.map +1 -0
- package/dist/cronjob/index.d.mts +2 -0
- package/dist/cronjob/index.d.mts.map +1 -0
- package/dist/cronjob/index.mjs +1 -42
- package/dist/cronjob/index.mjs.map +1 -1
- package/dist/fsm.cjs +75 -0
- package/dist/fsm.cjs.map +1 -0
- package/dist/{types/fsm.d.ts → fsm.d.cts} +2 -1
- package/dist/fsm.d.cts.map +1 -0
- package/dist/fsm.d.mts +25 -0
- package/dist/fsm.d.mts.map +1 -0
- package/dist/fsm.mjs +69 -9
- package/dist/fsm.mjs.map +1 -1
- package/dist/index.cjs +23 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +6 -124
- package/dist/index.mjs.map +1 -1
- package/dist/insights/SnapInsightsController.cjs +182 -0
- package/dist/insights/SnapInsightsController.cjs.map +1 -0
- package/dist/{types/insights/SnapInsightsController.d.ts → insights/SnapInsightsController.d.cts} +8 -7
- package/dist/insights/SnapInsightsController.d.cts.map +1 -0
- package/dist/insights/SnapInsightsController.d.mts +38 -0
- package/dist/insights/SnapInsightsController.d.mts.map +1 -0
- package/dist/insights/SnapInsightsController.mjs +176 -23
- package/dist/insights/SnapInsightsController.mjs.map +1 -1
- package/dist/insights/index.cjs +18 -0
- package/dist/insights/index.cjs.map +1 -0
- package/dist/insights/index.d.cts +2 -0
- package/dist/insights/index.d.cts.map +1 -0
- package/dist/insights/index.d.mts +2 -0
- package/dist/insights/index.d.mts.map +1 -0
- package/dist/insights/index.mjs +1 -25
- package/dist/insights/index.mjs.map +1 -1
- package/dist/interface/SnapInterfaceController.cjs +176 -0
- package/dist/interface/SnapInterfaceController.cjs.map +1 -0
- package/dist/{types/interface/SnapInterfaceController.d.ts → interface/SnapInterfaceController.d.cts} +8 -7
- package/dist/interface/SnapInterfaceController.d.cts.map +1 -0
- package/dist/interface/SnapInterfaceController.d.mts +107 -0
- package/dist/interface/SnapInterfaceController.d.mts.map +1 -0
- package/dist/interface/SnapInterfaceController.mjs +170 -7
- package/dist/interface/SnapInterfaceController.mjs.map +1 -1
- package/dist/interface/index.cjs +18 -0
- package/dist/interface/index.cjs.map +1 -0
- package/dist/interface/index.d.cts +2 -0
- package/dist/interface/index.d.cts.map +1 -0
- package/dist/interface/index.d.mts +2 -0
- package/dist/interface/index.d.mts.map +1 -0
- package/dist/interface/index.mjs +1 -9
- package/dist/interface/index.mjs.map +1 -1
- package/dist/interface/utils.cjs +165 -0
- package/dist/interface/utils.cjs.map +1 -0
- package/dist/{types/interface/utils.d.ts → interface/utils.d.cts} +3 -2
- package/dist/interface/utils.d.cts.map +1 -0
- package/dist/interface/utils.d.mts +34 -0
- package/dist/interface/utils.d.mts.map +1 -0
- package/dist/interface/utils.mjs +157 -13
- package/dist/interface/utils.mjs.map +1 -1
- package/dist/logging.cjs +13 -0
- package/dist/logging.cjs.map +1 -0
- package/dist/{types/logging.d.ts → logging.d.cts} +1 -0
- package/dist/logging.d.cts.map +1 -0
- package/dist/logging.d.mts +9 -0
- package/dist/logging.d.mts.map +1 -0
- package/dist/logging.mjs +9 -7
- package/dist/logging.mjs.map +1 -1
- package/dist/node.cjs +20 -0
- package/dist/node.cjs.map +1 -0
- package/dist/node.d.cts +3 -0
- package/dist/node.d.cts.map +1 -0
- package/dist/node.d.mts +3 -0
- package/dist/node.d.mts.map +1 -0
- package/dist/node.mjs +3 -134
- package/dist/node.mjs.map +1 -1
- package/dist/react-native.cjs +20 -0
- package/dist/react-native.cjs.map +1 -0
- package/dist/react-native.d.cts +3 -0
- package/dist/react-native.d.cts.map +1 -0
- package/dist/react-native.d.mts +3 -0
- package/dist/react-native.d.mts.map +1 -0
- package/dist/react-native.mjs +3 -131
- package/dist/react-native.mjs.map +1 -1
- package/dist/services/AbstractExecutionService.cjs +348 -0
- package/dist/services/AbstractExecutionService.cjs.map +1 -0
- package/dist/{types/services/AbstractExecutionService.d.ts → services/AbstractExecutionService.d.cts} +8 -8
- package/dist/services/AbstractExecutionService.d.cts.map +1 -0
- package/dist/services/AbstractExecutionService.d.mts +131 -0
- package/dist/services/AbstractExecutionService.d.mts.map +1 -0
- package/dist/services/AbstractExecutionService.mjs +345 -11
- package/dist/services/AbstractExecutionService.mjs.map +1 -1
- package/dist/services/ExecutionService.cjs +4 -0
- package/dist/services/ExecutionService.cjs.map +1 -0
- package/dist/{types/services/ExecutionService.d.ts → services/ExecutionService.d.cts} +4 -3
- package/dist/services/ExecutionService.d.cts.map +1 -0
- package/dist/services/ExecutionService.d.mts +69 -0
- package/dist/services/ExecutionService.d.mts.map +1 -0
- package/dist/services/ExecutionService.mjs +2 -1
- package/dist/services/ExecutionService.mjs.map +1 -1
- package/dist/services/ProxyPostMessageStream.cjs +58 -0
- package/dist/services/ProxyPostMessageStream.cjs.map +1 -0
- package/dist/{types/services/ProxyPostMessageStream.d.ts → services/ProxyPostMessageStream.d.cts} +3 -2
- package/dist/services/ProxyPostMessageStream.d.cts.map +1 -0
- package/dist/services/ProxyPostMessageStream.d.mts +35 -0
- package/dist/services/ProxyPostMessageStream.d.mts.map +1 -0
- package/dist/services/ProxyPostMessageStream.mjs +53 -6
- package/dist/services/ProxyPostMessageStream.mjs.map +1 -1
- package/dist/services/browser.cjs +27 -0
- package/dist/services/browser.cjs.map +1 -0
- package/dist/services/browser.d.cts +8 -0
- package/dist/services/browser.d.cts.map +1 -0
- package/dist/services/browser.d.mts +8 -0
- package/dist/services/browser.d.mts.map +1 -0
- package/dist/services/browser.mjs +8 -39
- package/dist/services/browser.mjs.map +1 -1
- package/dist/services/iframe/IframeExecutionService.cjs +30 -0
- package/dist/services/iframe/IframeExecutionService.cjs.map +1 -0
- package/dist/{types/services/iframe/IframeExecutionService.d.ts → services/iframe/IframeExecutionService.d.cts} +4 -3
- package/dist/services/iframe/IframeExecutionService.d.cts.map +1 -0
- package/dist/services/iframe/IframeExecutionService.d.mts +17 -0
- package/dist/services/iframe/IframeExecutionService.d.mts.map +1 -0
- package/dist/services/iframe/IframeExecutionService.mjs +26 -11
- package/dist/services/iframe/IframeExecutionService.mjs.map +1 -1
- package/dist/services/iframe/index.cjs +18 -0
- package/dist/services/iframe/index.cjs.map +1 -0
- package/dist/services/iframe/index.d.cts +2 -0
- package/dist/services/iframe/index.d.cts.map +1 -0
- package/dist/services/iframe/index.d.mts +2 -0
- package/dist/services/iframe/index.d.mts.map +1 -0
- package/dist/services/iframe/index.mjs +1 -12
- package/dist/services/iframe/index.mjs.map +1 -1
- package/dist/services/index.cjs +25 -0
- package/dist/services/index.cjs.map +1 -0
- package/dist/services/index.d.cts +7 -0
- package/dist/services/index.d.cts.map +1 -0
- package/dist/services/index.d.mts +7 -0
- package/dist/services/index.d.mts.map +1 -0
- package/dist/services/index.mjs +6 -34
- package/dist/services/index.mjs.map +1 -1
- package/dist/services/node-js/NodeProcessExecutionService.cjs +30 -0
- package/dist/services/node-js/NodeProcessExecutionService.cjs.map +1 -0
- package/dist/{types/services/node-js/NodeProcessExecutionService.d.ts → services/node-js/NodeProcessExecutionService.d.cts} +5 -4
- package/dist/services/node-js/NodeProcessExecutionService.d.cts.map +1 -0
- package/dist/services/node-js/NodeProcessExecutionService.d.mts +13 -0
- package/dist/services/node-js/NodeProcessExecutionService.d.mts.map +1 -0
- package/dist/services/node-js/NodeProcessExecutionService.mjs +26 -21
- package/dist/services/node-js/NodeProcessExecutionService.mjs.map +1 -1
- package/dist/services/node-js/NodeThreadExecutionService.cjs +32 -0
- package/dist/services/node-js/NodeThreadExecutionService.cjs.map +1 -0
- package/dist/{types/services/node-js/NodeThreadExecutionService.d.ts → services/node-js/NodeThreadExecutionService.d.cts} +5 -4
- package/dist/services/node-js/NodeThreadExecutionService.d.cts.map +1 -0
- package/dist/services/node-js/NodeThreadExecutionService.d.mts +13 -0
- package/dist/services/node-js/NodeThreadExecutionService.d.mts.map +1 -0
- package/dist/services/node-js/NodeThreadExecutionService.mjs +28 -21
- package/dist/services/node-js/NodeThreadExecutionService.mjs.map +1 -1
- package/dist/services/node-js/index.cjs +19 -0
- package/dist/services/node-js/index.cjs.map +1 -0
- package/dist/services/node-js/index.d.cts +3 -0
- package/dist/services/node-js/index.d.cts.map +1 -0
- package/dist/services/node-js/index.d.mts +3 -0
- package/dist/services/node-js/index.d.mts.map +1 -0
- package/dist/services/node-js/index.mjs +2 -26
- package/dist/services/node-js/index.mjs.map +1 -1
- package/dist/services/node.cjs +19 -0
- package/dist/services/node.cjs.map +1 -0
- package/dist/services/node.d.cts +3 -0
- package/dist/services/node.d.cts.map +1 -0
- package/dist/services/node.d.mts +3 -0
- package/dist/services/node.d.mts.map +1 -0
- package/dist/services/node.mjs +2 -44
- package/dist/services/node.mjs.map +1 -1
- package/dist/services/offscreen/OffscreenExecutionService.cjs +56 -0
- package/dist/services/offscreen/OffscreenExecutionService.cjs.map +1 -0
- package/dist/{types/services/offscreen/OffscreenExecutionService.d.ts → services/offscreen/OffscreenExecutionService.d.cts} +3 -2
- package/dist/services/offscreen/OffscreenExecutionService.d.cts.map +1 -0
- package/dist/services/offscreen/OffscreenExecutionService.d.mts +33 -0
- package/dist/services/offscreen/OffscreenExecutionService.d.mts.map +1 -0
- package/dist/services/offscreen/OffscreenExecutionService.mjs +51 -12
- package/dist/services/offscreen/OffscreenExecutionService.mjs.map +1 -1
- package/dist/services/offscreen/index.cjs +18 -0
- package/dist/services/offscreen/index.cjs.map +1 -0
- package/dist/services/offscreen/index.d.cts +2 -0
- package/dist/services/offscreen/index.d.cts.map +1 -0
- package/dist/services/offscreen/index.d.mts +2 -0
- package/dist/services/offscreen/index.d.mts.map +1 -0
- package/dist/services/offscreen/index.mjs +1 -14
- package/dist/services/offscreen/index.mjs.map +1 -1
- package/dist/services/proxy/ProxyExecutionService.cjs +85 -0
- package/dist/services/proxy/ProxyExecutionService.cjs.map +1 -0
- package/dist/{types/services/proxy/ProxyExecutionService.d.ts → services/proxy/ProxyExecutionService.d.cts} +6 -4
- package/dist/services/proxy/ProxyExecutionService.d.cts.map +1 -0
- package/dist/services/proxy/ProxyExecutionService.d.mts +41 -0
- package/dist/services/proxy/ProxyExecutionService.d.mts.map +1 -0
- package/dist/services/proxy/ProxyExecutionService.mjs +79 -11
- package/dist/services/proxy/ProxyExecutionService.mjs.map +1 -1
- package/dist/services/react-native.cjs +19 -0
- package/dist/services/react-native.cjs.map +1 -0
- package/dist/services/react-native.d.cts +3 -0
- package/dist/services/react-native.d.cts.map +1 -0
- package/dist/services/react-native.d.mts +3 -0
- package/dist/services/react-native.d.mts.map +1 -0
- package/dist/services/react-native.mjs +2 -41
- package/dist/services/react-native.mjs.map +1 -1
- package/dist/services/webview/WebViewExecutionService.cjs +54 -0
- package/dist/services/webview/WebViewExecutionService.cjs.map +1 -0
- package/dist/{types/services/webview/WebViewExecutionService.d.ts → services/webview/WebViewExecutionService.d.cts} +5 -3
- package/dist/services/webview/WebViewExecutionService.d.cts.map +1 -0
- package/dist/services/webview/WebViewExecutionService.d.mts +22 -0
- package/dist/services/webview/WebViewExecutionService.d.mts.map +1 -0
- package/dist/services/webview/WebViewExecutionService.mjs +48 -13
- package/dist/services/webview/WebViewExecutionService.mjs.map +1 -1
- package/dist/services/webview/WebViewMessageStream.cjs +89 -0
- package/dist/services/webview/WebViewMessageStream.cjs.map +1 -0
- package/dist/{types/services/webview/WebViewMessageStream.d.ts → services/webview/WebViewMessageStream.d.cts} +3 -2
- package/dist/services/webview/WebViewMessageStream.d.cts.map +1 -0
- package/dist/services/webview/WebViewMessageStream.d.mts +33 -0
- package/dist/services/webview/WebViewMessageStream.d.mts.map +1 -0
- package/dist/services/webview/WebViewMessageStream.mjs +84 -6
- package/dist/services/webview/WebViewMessageStream.mjs.map +1 -1
- package/dist/services/webview/index.cjs +18 -0
- package/dist/services/webview/index.cjs.map +1 -0
- package/dist/services/webview/index.d.cts +2 -0
- package/dist/services/webview/index.d.cts.map +1 -0
- package/dist/services/webview/index.d.mts +2 -0
- package/dist/services/webview/index.d.mts.map +1 -0
- package/dist/services/webview/index.mjs +1 -15
- package/dist/services/webview/index.mjs.map +1 -1
- package/dist/services/webworker/WebWorkerExecutionService.cjs +101 -0
- package/dist/services/webworker/WebWorkerExecutionService.cjs.map +1 -0
- package/dist/{types/services/webworker/WebWorkerExecutionService.d.ts → services/webworker/WebWorkerExecutionService.d.cts} +5 -3
- package/dist/services/webworker/WebWorkerExecutionService.d.cts.map +1 -0
- package/dist/services/webworker/WebWorkerExecutionService.d.mts +47 -0
- package/dist/services/webworker/WebWorkerExecutionService.d.mts.map +1 -0
- package/dist/services/webworker/WebWorkerExecutionService.mjs +96 -13
- package/dist/services/webworker/WebWorkerExecutionService.mjs.map +1 -1
- package/dist/services/webworker/index.cjs +18 -0
- package/dist/services/webworker/index.cjs.map +1 -0
- package/dist/services/webworker/index.d.cts +2 -0
- package/dist/services/webworker/index.d.cts.map +1 -0
- package/dist/services/webworker/index.d.mts +2 -0
- package/dist/services/webworker/index.d.mts.map +1 -0
- package/dist/services/webworker/index.mjs +1 -15
- package/dist/services/webworker/index.mjs.map +1 -1
- package/dist/snaps/RequestQueue.cjs +44 -0
- package/dist/snaps/RequestQueue.cjs.map +1 -0
- package/dist/{types/snaps/RequestQueue.d.ts → snaps/RequestQueue.d.cts} +1 -0
- package/dist/snaps/RequestQueue.d.cts.map +1 -0
- package/dist/snaps/RequestQueue.d.mts +25 -0
- package/dist/snaps/RequestQueue.d.mts.map +1 -0
- package/dist/snaps/RequestQueue.mjs +39 -7
- package/dist/snaps/RequestQueue.mjs.map +1 -1
- package/dist/snaps/SnapController.cjs +1896 -0
- package/dist/snaps/SnapController.cjs.map +1 -0
- package/dist/{types/snaps/SnapController.d.ts → snaps/SnapController.d.cts} +33 -20
- package/dist/snaps/SnapController.d.cts.map +1 -0
- package/dist/snaps/SnapController.d.mts +667 -0
- package/dist/snaps/SnapController.d.mts.map +1 -0
- package/dist/snaps/SnapController.mjs +1890 -28
- package/dist/snaps/SnapController.mjs.map +1 -1
- package/dist/snaps/Timer.cjs +103 -0
- package/dist/snaps/Timer.cjs.map +1 -0
- package/dist/{types/snaps/Timer.d.ts → snaps/Timer.d.cts} +1 -0
- package/dist/snaps/Timer.d.cts.map +1 -0
- package/dist/snaps/Timer.d.mts +47 -0
- package/dist/snaps/Timer.d.mts.map +1 -0
- package/dist/snaps/Timer.mjs +98 -7
- package/dist/snaps/Timer.mjs.map +1 -1
- package/dist/snaps/constants.cjs +24 -0
- package/dist/snaps/constants.cjs.map +1 -0
- package/dist/{types/snaps/constants.d.ts → snaps/constants.d.cts} +1 -0
- package/dist/snaps/constants.d.cts.map +1 -0
- package/dist/snaps/constants.d.mts +8 -0
- package/dist/snaps/constants.d.mts.map +1 -0
- package/dist/snaps/constants.mjs +19 -8
- package/dist/snaps/constants.mjs.map +1 -1
- package/dist/snaps/index.cjs +21 -0
- package/dist/snaps/index.cjs.map +1 -0
- package/dist/snaps/index.d.cts +5 -0
- package/dist/snaps/index.d.cts.map +1 -0
- package/dist/snaps/index.d.mts +5 -0
- package/dist/snaps/index.d.mts.map +1 -0
- package/dist/snaps/index.mjs +4 -62
- package/dist/snaps/index.mjs.map +1 -1
- package/dist/snaps/location/http.cjs +75 -0
- package/dist/snaps/location/http.cjs.map +1 -0
- package/dist/{types/snaps/location/http.d.ts → snaps/location/http.d.cts} +4 -3
- package/dist/snaps/location/http.d.cts.map +1 -0
- package/dist/snaps/location/http.d.mts +23 -0
- package/dist/snaps/location/http.d.mts.map +1 -0
- package/dist/snaps/location/http.mjs +70 -7
- package/dist/snaps/location/http.mjs.map +1 -1
- package/dist/snaps/location/index.cjs +21 -0
- package/dist/snaps/location/index.cjs.map +1 -0
- package/dist/snaps/location/index.d.cts +5 -0
- package/dist/snaps/location/index.d.cts.map +1 -0
- package/dist/snaps/location/index.d.mts +5 -0
- package/dist/snaps/location/index.d.mts.map +1 -0
- package/dist/snaps/location/index.mjs +4 -30
- package/dist/snaps/location/index.mjs.map +1 -1
- package/dist/snaps/location/local.cjs +51 -0
- package/dist/snaps/location/local.cjs.map +1 -0
- package/dist/{types/snaps/location/local.d.ts → snaps/location/local.d.cts} +4 -3
- package/dist/snaps/location/local.d.cts.map +1 -0
- package/dist/snaps/location/local.d.mts +11 -0
- package/dist/snaps/location/local.d.mts.map +1 -0
- package/dist/snaps/location/local.mjs +45 -7
- package/dist/snaps/location/local.mjs.map +1 -1
- package/dist/snaps/location/location.cjs +34 -0
- package/dist/{chunk-ZKG6FRKN.mjs.map → snaps/location/location.cjs.map} +1 -1
- package/dist/{types/snaps/location/location.d.ts → snaps/location/location.d.cts} +4 -3
- package/dist/snaps/location/location.d.cts.map +1 -0
- package/dist/snaps/location/location.d.mts +45 -0
- package/dist/snaps/location/location.d.mts.map +1 -0
- package/dist/snaps/location/location.mjs +29 -10
- package/dist/snaps/location/location.mjs.map +1 -1
- package/dist/snaps/location/npm.cjs +335 -0
- package/dist/snaps/location/npm.cjs.map +1 -0
- package/dist/{types/snaps/location/npm.d.ts → snaps/location/npm.d.cts} +5 -4
- package/dist/snaps/location/npm.d.cts.map +1 -0
- package/dist/snaps/location/npm.d.mts +84 -0
- package/dist/snaps/location/npm.d.mts.map +1 -0
- package/dist/snaps/location/npm.mjs +331 -16
- package/dist/snaps/location/npm.mjs.map +1 -1
- package/dist/snaps/registry/index.cjs +19 -0
- package/dist/snaps/registry/index.cjs.map +1 -0
- package/dist/snaps/registry/index.d.cts +3 -0
- package/dist/snaps/registry/index.d.cts.map +1 -0
- package/dist/snaps/registry/index.d.mts +3 -0
- package/dist/snaps/registry/index.d.mts.map +1 -0
- package/dist/snaps/registry/index.mjs +2 -12
- package/dist/snaps/registry/index.mjs.map +1 -1
- package/dist/snaps/registry/json.cjs +224 -0
- package/dist/snaps/registry/json.cjs.map +1 -0
- package/dist/{types/snaps/registry/json.d.ts → snaps/registry/json.d.cts} +6 -5
- package/dist/snaps/registry/json.d.cts.map +1 -0
- package/dist/snaps/registry/json.d.mts +51 -0
- package/dist/snaps/registry/json.d.mts.map +1 -0
- package/dist/snaps/registry/json.mjs +219 -7
- package/dist/snaps/registry/json.mjs.map +1 -1
- package/dist/snaps/registry/registry.cjs +11 -0
- package/dist/snaps/registry/registry.cjs.map +1 -0
- package/dist/{types/snaps/registry/registry.d.ts → snaps/registry/registry.d.cts} +4 -3
- package/dist/snaps/registry/registry.d.cts.map +1 -0
- package/dist/snaps/registry/registry.d.mts +42 -0
- package/dist/snaps/registry/registry.d.mts.map +1 -0
- package/dist/snaps/registry/registry.mjs +7 -7
- package/dist/snaps/registry/registry.mjs.map +1 -1
- package/dist/snaps/selectors.cjs +6 -0
- package/dist/snaps/selectors.cjs.map +1 -0
- package/dist/snaps/selectors.d.cts +3 -0
- package/dist/snaps/selectors.d.cts.map +1 -0
- package/dist/snaps/selectors.d.mts +3 -0
- package/dist/snaps/selectors.d.mts.map +1 -0
- package/dist/snaps/selectors.mjs +1 -7
- package/dist/snaps/selectors.mjs.map +1 -1
- package/dist/types/controllers.cjs +4 -0
- package/dist/types/controllers.cjs.map +1 -0
- package/dist/types/{types/controllers.d.ts → controllers.d.cts} +3 -2
- package/dist/types/controllers.d.cts.map +1 -0
- package/dist/types/controllers.d.mts +132 -0
- package/dist/types/controllers.d.mts.map +1 -0
- package/dist/types/controllers.mjs +2 -1
- package/dist/types/controllers.mjs.map +1 -1
- package/dist/types/encryptor.cjs +3 -0
- package/dist/types/encryptor.cjs.map +1 -0
- package/dist/types/{types/encryptor.d.ts → encryptor.d.cts} +2 -1
- package/dist/types/encryptor.d.cts.map +1 -0
- package/dist/types/encryptor.d.mts +99 -0
- package/dist/types/encryptor.d.mts.map +1 -0
- package/dist/types/encryptor.mjs +1 -1
- package/dist/types/encryptor.mjs.map +1 -1
- package/dist/types/index.cjs +19 -0
- package/dist/types/index.cjs.map +1 -0
- package/dist/types/index.d.cts +3 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.mts +3 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +2 -2
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils.cjs +174 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/{types/utils.d.ts → utils.d.cts} +8 -14
- package/dist/utils.d.cts.map +1 -0
- package/dist/utils.d.mts +245 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +167 -22
- package/dist/utils.mjs.map +1 -1
- package/package.json +42 -30
- package/react-native.d.ts +3 -1
- package/react-native.js +1 -1
- package/dist/chunk-272IFIK7.mjs +0 -1
- package/dist/chunk-272IFIK7.mjs.map +0 -1
- package/dist/chunk-2D5PGL7S.js +0 -253
- package/dist/chunk-2D5PGL7S.js.map +0 -1
- package/dist/chunk-2SRKMEUV.mjs +0 -92
- package/dist/chunk-2SRKMEUV.mjs.map +0 -1
- package/dist/chunk-2XQD4P2S.mjs +0 -1
- package/dist/chunk-2XQD4P2S.mjs.map +0 -1
- package/dist/chunk-36QDTCDZ.js +0 -276
- package/dist/chunk-36QDTCDZ.js.map +0 -1
- package/dist/chunk-3RNW7OKG.mjs +0 -1
- package/dist/chunk-3RNW7OKG.mjs.map +0 -1
- package/dist/chunk-3WWZDKQL.js +0 -40
- package/dist/chunk-3WWZDKQL.js.map +0 -1
- package/dist/chunk-4CA3O64H.js +0 -13
- package/dist/chunk-4CA3O64H.js.map +0 -1
- package/dist/chunk-4HVWEABQ.mjs +0 -9
- package/dist/chunk-4HVWEABQ.mjs.map +0 -1
- package/dist/chunk-4M2FX2AT.mjs +0 -26
- package/dist/chunk-4M2FX2AT.mjs.map +0 -1
- package/dist/chunk-4URGXJP7.js +0 -1
- package/dist/chunk-4URGXJP7.js.map +0 -1
- package/dist/chunk-6EZSNS4O.mjs +0 -59
- package/dist/chunk-6EZSNS4O.mjs.map +0 -1
- package/dist/chunk-6K4MATNG.js +0 -2548
- package/dist/chunk-6K4MATNG.js.map +0 -1
- package/dist/chunk-6WGCLJGC.mjs +0 -58
- package/dist/chunk-6WGCLJGC.mjs.map +0 -1
- package/dist/chunk-6Z4WDAVC.js +0 -48
- package/dist/chunk-6Z4WDAVC.js.map +0 -1
- package/dist/chunk-7BUNUNUC.js +0 -58
- package/dist/chunk-7BUNUNUC.js.map +0 -1
- package/dist/chunk-7Y6P5FRN.js +0 -60
- package/dist/chunk-7Y6P5FRN.js.map +0 -1
- package/dist/chunk-A6WJEA3C.js +0 -1
- package/dist/chunk-A6WJEA3C.js.map +0 -1
- package/dist/chunk-AP7CJ6DA.js +0 -47
- package/dist/chunk-AP7CJ6DA.js.map +0 -1
- package/dist/chunk-B6KTRDBK.js +0 -127
- package/dist/chunk-B6KTRDBK.js.map +0 -1
- package/dist/chunk-B7R3EWM3.mjs +0 -1
- package/dist/chunk-B7R3EWM3.mjs.map +0 -1
- package/dist/chunk-BAEXVO3U.mjs +0 -1
- package/dist/chunk-BAEXVO3U.mjs.map +0 -1
- package/dist/chunk-BAUQWPSP.mjs +0 -331
- package/dist/chunk-BAUQWPSP.mjs.map +0 -1
- package/dist/chunk-BO2ZDPWV.js +0 -59
- package/dist/chunk-BO2ZDPWV.js.map +0 -1
- package/dist/chunk-BOFPNIRX.js +0 -119
- package/dist/chunk-BOFPNIRX.js.map +0 -1
- package/dist/chunk-C4D6GBMY.js +0 -71
- package/dist/chunk-C4D6GBMY.js.map +0 -1
- package/dist/chunk-D66YLO7T.js +0 -38
- package/dist/chunk-D66YLO7T.js.map +0 -1
- package/dist/chunk-D74XJG2L.js +0 -1
- package/dist/chunk-D74XJG2L.js.map +0 -1
- package/dist/chunk-DSOZPX7I.js +0 -283
- package/dist/chunk-DSOZPX7I.js.map +0 -1
- package/dist/chunk-ESQPQNEF.mjs +0 -1
- package/dist/chunk-ESQPQNEF.mjs.map +0 -1
- package/dist/chunk-EXN2TFDJ.js +0 -38
- package/dist/chunk-EXN2TFDJ.js.map +0 -1
- package/dist/chunk-F3ZMDQ52.mjs +0 -276
- package/dist/chunk-F3ZMDQ52.mjs.map +0 -1
- package/dist/chunk-FX5AADOV.mjs +0 -1
- package/dist/chunk-FX5AADOV.mjs.map +0 -1
- package/dist/chunk-FZOI4WPB.js +0 -82
- package/dist/chunk-FZOI4WPB.js.map +0 -1
- package/dist/chunk-G66GQJS6.js +0 -1
- package/dist/chunk-G66GQJS6.js.map +0 -1
- package/dist/chunk-G7U6WKWS.mjs +0 -1
- package/dist/chunk-G7U6WKWS.mjs.map +0 -1
- package/dist/chunk-HLQQTAMM.mjs +0 -105
- package/dist/chunk-HLQQTAMM.mjs.map +0 -1
- package/dist/chunk-HOY6NKQR.js +0 -1
- package/dist/chunk-HOY6NKQR.js.map +0 -1
- package/dist/chunk-HP6S5IOB.js +0 -1
- package/dist/chunk-HP6S5IOB.js.map +0 -1
- package/dist/chunk-HULNFJMA.mjs +0 -108
- package/dist/chunk-HULNFJMA.mjs.map +0 -1
- package/dist/chunk-HWJE3SDW.mjs +0 -1
- package/dist/chunk-HWJE3SDW.mjs.map +0 -1
- package/dist/chunk-I25KLPIS.js +0 -273
- package/dist/chunk-I25KLPIS.js.map +0 -1
- package/dist/chunk-I5V56NYO.mjs +0 -273
- package/dist/chunk-I5V56NYO.mjs.map +0 -1
- package/dist/chunk-IABOI7TW.mjs +0 -1
- package/dist/chunk-IABOI7TW.mjs.map +0 -1
- package/dist/chunk-IDCWJJCQ.js +0 -1
- package/dist/chunk-IDCWJJCQ.js.map +0 -1
- package/dist/chunk-IGC4E7PI.mjs +0 -71
- package/dist/chunk-IGC4E7PI.mjs.map +0 -1
- package/dist/chunk-JAUAKTUL.js +0 -1
- package/dist/chunk-JAUAKTUL.js.map +0 -1
- package/dist/chunk-JQ54YYLU.js +0 -26
- package/dist/chunk-JQ54YYLU.js.map +0 -1
- package/dist/chunk-JW7WBUL7.js +0 -1
- package/dist/chunk-JW7WBUL7.js.map +0 -1
- package/dist/chunk-K3TNQEM5.js +0 -331
- package/dist/chunk-K3TNQEM5.js.map +0 -1
- package/dist/chunk-KCMULJ2M.mjs +0 -1
- package/dist/chunk-KCMULJ2M.mjs.map +0 -1
- package/dist/chunk-KELDSV7H.js +0 -39
- package/dist/chunk-KELDSV7H.js.map +0 -1
- package/dist/chunk-KRI4OKC3.mjs +0 -127
- package/dist/chunk-KRI4OKC3.mjs.map +0 -1
- package/dist/chunk-KYRKZ3RH.mjs +0 -38
- package/dist/chunk-KYRKZ3RH.mjs.map +0 -1
- package/dist/chunk-LDL6LJ3P.mjs +0 -38
- package/dist/chunk-LDL6LJ3P.mjs.map +0 -1
- package/dist/chunk-M7DWHPVM.js +0 -1
- package/dist/chunk-M7DWHPVM.js.map +0 -1
- package/dist/chunk-NC5PBDKD.mjs +0 -47
- package/dist/chunk-NC5PBDKD.mjs.map +0 -1
- package/dist/chunk-NXZVKBSV.js +0 -9
- package/dist/chunk-NXZVKBSV.js.map +0 -1
- package/dist/chunk-NZOUFWUN.mjs +0 -1
- package/dist/chunk-NZOUFWUN.mjs.map +0 -1
- package/dist/chunk-OHMCPTOI.js +0 -1
- package/dist/chunk-OHMCPTOI.js.map +0 -1
- package/dist/chunk-OIEUL55W.js +0 -1
- package/dist/chunk-OIEUL55W.js.map +0 -1
- package/dist/chunk-OVATPF5I.js +0 -58
- package/dist/chunk-OVATPF5I.js.map +0 -1
- package/dist/chunk-P66VIDFG.js +0 -105
- package/dist/chunk-P66VIDFG.js.map +0 -1
- package/dist/chunk-P7Y6MIZW.mjs +0 -7
- package/dist/chunk-P7Y6MIZW.mjs.map +0 -1
- package/dist/chunk-PYSDWIVK.js +0 -38
- package/dist/chunk-PYSDWIVK.js.map +0 -1
- package/dist/chunk-QL3QGUTM.mjs +0 -1
- package/dist/chunk-QL3QGUTM.mjs.map +0 -1
- package/dist/chunk-QRISQRFI.js +0 -399
- package/dist/chunk-QRISQRFI.js.map +0 -1
- package/dist/chunk-QWN3UOMA.mjs +0 -2548
- package/dist/chunk-QWN3UOMA.mjs.map +0 -1
- package/dist/chunk-RZ2NHZXH.js +0 -108
- package/dist/chunk-RZ2NHZXH.js.map +0 -1
- package/dist/chunk-TG6OXBLR.js +0 -1
- package/dist/chunk-TG6OXBLR.js.map +0 -1
- package/dist/chunk-TIURYSSR.js +0 -92
- package/dist/chunk-TIURYSSR.js.map +0 -1
- package/dist/chunk-TMWMIQV4.js +0 -1
- package/dist/chunk-TMWMIQV4.js.map +0 -1
- package/dist/chunk-TSDUJNOP.mjs +0 -399
- package/dist/chunk-TSDUJNOP.mjs.map +0 -1
- package/dist/chunk-U74FML7Z.mjs +0 -1
- package/dist/chunk-U74FML7Z.mjs.map +0 -1
- package/dist/chunk-UM4NFNEI.mjs +0 -48
- package/dist/chunk-UM4NFNEI.mjs.map +0 -1
- package/dist/chunk-V6NFZ47P.mjs +0 -1
- package/dist/chunk-V6NFZ47P.mjs.map +0 -1
- package/dist/chunk-VKMY6CKT.mjs +0 -39
- package/dist/chunk-VKMY6CKT.mjs.map +0 -1
- package/dist/chunk-VNOCJWOK.js +0 -1
- package/dist/chunk-VNOCJWOK.js.map +0 -1
- package/dist/chunk-WEY7ICES.js +0 -1
- package/dist/chunk-WEY7ICES.js.map +0 -1
- package/dist/chunk-WR7CVDEY.mjs +0 -58
- package/dist/chunk-WR7CVDEY.mjs.map +0 -1
- package/dist/chunk-XO7KDFBY.mjs +0 -119
- package/dist/chunk-XO7KDFBY.mjs.map +0 -1
- package/dist/chunk-XOSHP4J3.mjs +0 -82
- package/dist/chunk-XOSHP4J3.mjs.map +0 -1
- package/dist/chunk-YRZVIDCF.mjs +0 -38
- package/dist/chunk-YRZVIDCF.mjs.map +0 -1
- package/dist/chunk-YYPUPKQY.js +0 -7
- package/dist/chunk-YYPUPKQY.js.map +0 -1
- package/dist/chunk-Z4BUMSH3.mjs +0 -283
- package/dist/chunk-Z4BUMSH3.mjs.map +0 -1
- package/dist/chunk-Z5QWRDUN.mjs +0 -253
- package/dist/chunk-Z5QWRDUN.mjs.map +0 -1
- package/dist/chunk-ZKG6FRKN.mjs +0 -40
- package/dist/chunk-ZQAGLOXD.mjs +0 -1
- package/dist/chunk-ZQAGLOXD.mjs.map +0 -1
- package/dist/chunk-ZVOYOZFT.mjs +0 -60
- package/dist/chunk-ZVOYOZFT.mjs.map +0 -1
- package/dist/chunk-ZZD3HUNE.mjs +0 -13
- package/dist/chunk-ZZD3HUNE.mjs.map +0 -1
- package/dist/cronjob/CronjobController.js +0 -43
- package/dist/cronjob/CronjobController.js.map +0 -1
- package/dist/cronjob/index.js +0 -43
- package/dist/cronjob/index.js.map +0 -1
- package/dist/fsm.js +0 -10
- package/dist/fsm.js.map +0 -1
- package/dist/index.js +0 -125
- package/dist/index.js.map +0 -1
- package/dist/insights/SnapInsightsController.js +0 -25
- package/dist/insights/SnapInsightsController.js.map +0 -1
- package/dist/insights/index.js +0 -26
- package/dist/insights/index.js.map +0 -1
- package/dist/interface/SnapInterfaceController.js +0 -9
- package/dist/interface/SnapInterfaceController.js.map +0 -1
- package/dist/interface/index.js +0 -10
- package/dist/interface/index.js.map +0 -1
- package/dist/interface/utils.js +0 -14
- package/dist/interface/utils.js.map +0 -1
- package/dist/logging.js +0 -8
- package/dist/logging.js.map +0 -1
- package/dist/node.js +0 -135
- package/dist/node.js.map +0 -1
- package/dist/react-native.js +0 -132
- package/dist/react-native.js.map +0 -1
- package/dist/services/AbstractExecutionService.js +0 -13
- package/dist/services/AbstractExecutionService.js.map +0 -1
- package/dist/services/ExecutionService.js +0 -2
- package/dist/services/ExecutionService.js.map +0 -1
- package/dist/services/ProxyPostMessageStream.js +0 -8
- package/dist/services/ProxyPostMessageStream.js.map +0 -1
- package/dist/services/browser.js +0 -40
- package/dist/services/browser.js.map +0 -1
- package/dist/services/iframe/IframeExecutionService.js +0 -12
- package/dist/services/iframe/IframeExecutionService.js.map +0 -1
- package/dist/services/iframe/index.js +0 -13
- package/dist/services/iframe/index.js.map +0 -1
- package/dist/services/index.js +0 -35
- package/dist/services/index.js.map +0 -1
- package/dist/services/node-js/NodeProcessExecutionService.js +0 -22
- package/dist/services/node-js/NodeProcessExecutionService.js.map +0 -1
- package/dist/services/node-js/NodeThreadExecutionService.js +0 -22
- package/dist/services/node-js/NodeThreadExecutionService.js.map +0 -1
- package/dist/services/node-js/index.js +0 -27
- package/dist/services/node-js/index.js.map +0 -1
- package/dist/services/node.js +0 -45
- package/dist/services/node.js.map +0 -1
- package/dist/services/offscreen/OffscreenExecutionService.js +0 -14
- package/dist/services/offscreen/OffscreenExecutionService.js.map +0 -1
- package/dist/services/offscreen/index.js +0 -15
- package/dist/services/offscreen/index.js.map +0 -1
- package/dist/services/proxy/ProxyExecutionService.js +0 -13
- package/dist/services/proxy/ProxyExecutionService.js.map +0 -1
- package/dist/services/react-native.js +0 -42
- package/dist/services/react-native.js.map +0 -1
- package/dist/services/webview/WebViewExecutionService.js +0 -15
- package/dist/services/webview/WebViewExecutionService.js.map +0 -1
- package/dist/services/webview/WebViewMessageStream.js +0 -8
- package/dist/services/webview/WebViewMessageStream.js.map +0 -1
- package/dist/services/webview/index.js +0 -16
- package/dist/services/webview/index.js.map +0 -1
- package/dist/services/webworker/WebWorkerExecutionService.js +0 -15
- package/dist/services/webworker/WebWorkerExecutionService.js.map +0 -1
- package/dist/services/webworker/index.js +0 -16
- package/dist/services/webworker/index.js.map +0 -1
- package/dist/snaps/RequestQueue.js +0 -8
- package/dist/snaps/RequestQueue.js.map +0 -1
- package/dist/snaps/SnapController.js +0 -30
- package/dist/snaps/SnapController.js.map +0 -1
- package/dist/snaps/Timer.js +0 -8
- package/dist/snaps/Timer.js.map +0 -1
- package/dist/snaps/constants.js +0 -10
- package/dist/snaps/constants.js.map +0 -1
- package/dist/snaps/index.js +0 -63
- package/dist/snaps/index.js.map +0 -1
- package/dist/snaps/location/http.js +0 -8
- package/dist/snaps/location/http.js.map +0 -1
- package/dist/snaps/location/index.js +0 -31
- package/dist/snaps/location/index.js.map +0 -1
- package/dist/snaps/location/local.js +0 -9
- package/dist/snaps/location/local.js.map +0 -1
- package/dist/snaps/location/location.js +0 -11
- package/dist/snaps/location/location.js.map +0 -1
- package/dist/snaps/location/npm.js +0 -18
- package/dist/snaps/location/npm.js.map +0 -1
- package/dist/snaps/registry/index.js +0 -13
- package/dist/snaps/registry/index.js.map +0 -1
- package/dist/snaps/registry/json.js +0 -9
- package/dist/snaps/registry/json.js.map +0 -1
- package/dist/snaps/registry/registry.js +0 -8
- package/dist/snaps/registry/registry.js.map +0 -1
- package/dist/snaps/selectors.js +0 -8
- package/dist/snaps/selectors.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/types/controllers.js +0 -2
- package/dist/types/controllers.js.map +0 -1
- package/dist/types/cronjob/index.d.ts +0 -1
- package/dist/types/encryptor.js +0 -2
- package/dist/types/encryptor.js.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/insights/index.d.ts +0 -1
- package/dist/types/interface/index.d.ts +0 -1
- package/dist/types/node.d.ts +0 -2
- package/dist/types/react-native.d.ts +0 -2
- package/dist/types/services/browser.d.ts +0 -7
- package/dist/types/services/iframe/index.d.ts +0 -1
- package/dist/types/services/index.d.ts +0 -6
- package/dist/types/services/node-js/index.d.ts +0 -2
- package/dist/types/services/node.d.ts +0 -2
- package/dist/types/services/offscreen/index.d.ts +0 -1
- package/dist/types/services/react-native.d.ts +0 -2
- package/dist/types/services/webview/index.d.ts +0 -1
- package/dist/types/services/webworker/index.d.ts +0 -1
- package/dist/types/snaps/index.d.ts +0 -4
- package/dist/types/snaps/location/index.d.ts +0 -4
- package/dist/types/snaps/registry/index.d.ts +0 -2
- package/dist/types/snaps/selectors.d.ts +0 -2
- package/dist/types/types/index.d.ts +0 -2
- package/dist/types/vendor/global.d.js +0 -1
- package/dist/types/vendor/global.d.js.map +0 -1
- package/dist/types/vendor/global.d.mjs +0 -1
- package/dist/types/vendor/global.d.mjs.map +0 -1
- package/dist/types/vendor/readable-stream.d.js +0 -1
- package/dist/types/vendor/readable-stream.d.js.map +0 -1
- package/dist/types/vendor/readable-stream.d.mjs +0 -1
- package/dist/types/vendor/readable-stream.d.mjs.map +0 -1
- package/dist/types/vendor/zlib.d.js +0 -1
- package/dist/types/vendor/zlib.d.js.map +0 -1
- package/dist/types/vendor/zlib.d.mjs +0 -1
- package/dist/types/vendor/zlib.d.mjs.map +0 -1
- package/dist/utils.js +0 -23
- package/dist/utils.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/SnapInterfaceController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AcceptRequest,\n HasApprovalRequest,\n} from '@metamask/approval-controller';\nimport type {\n RestrictedControllerMessenger,\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type {\n MaybeUpdateState,\n TestOrigin,\n} from '@metamask/phishing-controller';\nimport type {\n InterfaceState,\n SnapId,\n ComponentOrElement,\n InterfaceContext,\n} from '@metamask/snaps-sdk';\nimport type { JSXElement } from '@metamask/snaps-sdk/jsx';\nimport { getJsonSizeUnsafe, validateJsxLinks } from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\nimport { assert } from '@metamask/utils';\nimport { nanoid } from 'nanoid';\n\nimport {\n constructState,\n getJsxInterface,\n validateInterfaceContext,\n} from './utils';\n\nconst MAX_UI_CONTENT_SIZE = 10_000_000; // 10 mb\n\nconst controllerName = 'SnapInterfaceController';\n\nexport type CreateInterface = {\n type: `${typeof controllerName}:createInterface`;\n handler: SnapInterfaceController['createInterface'];\n};\n\nexport type GetInterface = {\n type: `${typeof controllerName}:getInterface`;\n handler: SnapInterfaceController['getInterface'];\n};\n\nexport type UpdateInterface = {\n type: `${typeof controllerName}:updateInterface`;\n handler: SnapInterfaceController['updateInterface'];\n};\n\nexport type DeleteInterface = {\n type: `${typeof controllerName}:deleteInterface`;\n handler: SnapInterfaceController['deleteInterface'];\n};\n\nexport type UpdateInterfaceState = {\n type: `${typeof controllerName}:updateInterfaceState`;\n handler: SnapInterfaceController['updateInterfaceState'];\n};\n\nexport type ResolveInterface = {\n type: `${typeof controllerName}:resolveInterface`;\n handler: SnapInterfaceController['resolveInterface'];\n};\n\nexport type SnapInterfaceControllerGetStateAction = ControllerGetStateAction<\n typeof controllerName,\n SnapInterfaceControllerState\n>;\n\nexport type SnapInterfaceControllerAllowedActions =\n | TestOrigin\n | MaybeUpdateState\n | HasApprovalRequest\n | AcceptRequest;\n\nexport type SnapInterfaceControllerActions =\n | CreateInterface\n | GetInterface\n | UpdateInterface\n | DeleteInterface\n | UpdateInterfaceState\n | ResolveInterface\n | SnapInterfaceControllerGetStateAction;\n\nexport type SnapInterfaceControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n SnapInterfaceControllerState\n >;\n\nexport type SnapInterfaceControllerEvents =\n SnapInterfaceControllerStateChangeEvent;\n\nexport type SnapInterfaceControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n SnapInterfaceControllerActions | SnapInterfaceControllerAllowedActions,\n SnapInterfaceControllerEvents,\n SnapInterfaceControllerAllowedActions['type'],\n SnapInterfaceControllerEvents['type']\n>;\n\nexport type StoredInterface = {\n snapId: SnapId;\n content: JSXElement;\n state: InterfaceState;\n context: InterfaceContext | null;\n};\n\nexport type SnapInterfaceControllerState = {\n interfaces: Record<string, StoredInterface>;\n};\n\nexport type SnapInterfaceControllerArgs = {\n messenger: SnapInterfaceControllerMessenger;\n state?: SnapInterfaceControllerState;\n};\n\n/**\n * Use this controller to manage snaps UI interfaces using RPC method hooks.\n */\nexport class SnapInterfaceController extends BaseController<\n typeof controllerName,\n SnapInterfaceControllerState,\n SnapInterfaceControllerMessenger\n> {\n constructor({ messenger, state }: SnapInterfaceControllerArgs) {\n super({\n messenger,\n metadata: {\n interfaces: { persist: false, anonymous: false },\n },\n name: controllerName,\n state: { interfaces: {}, ...state },\n });\n\n this.#registerMessageHandlers();\n }\n\n /**\n * Constructor helper for registering this controller's messaging system\n * actions.\n */\n #registerMessageHandlers() {\n this.messagingSystem.registerActionHandler(\n `${controllerName}:createInterface`,\n this.createInterface.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n `${controllerName}:getInterface`,\n this.getInterface.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n `${controllerName}:updateInterface`,\n this.updateInterface.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n `${controllerName}:deleteInterface`,\n this.deleteInterface.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n `${controllerName}:updateInterfaceState`,\n this.updateInterfaceState.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n `${controllerName}:resolveInterface`,\n this.resolveInterface.bind(this),\n );\n }\n\n /**\n * Create an interface in the controller state with the associated data.\n *\n * @param snapId - The snap id that created the interface.\n * @param content - The interface content.\n * @param context - An optional interface context object.\n * @returns The newly interface id.\n */\n async createInterface(\n snapId: SnapId,\n content: ComponentOrElement,\n context?: InterfaceContext,\n ) {\n const element = getJsxInterface(content);\n await this.#validateContent(element);\n validateInterfaceContext(context);\n\n const id = nanoid();\n const componentState = constructState({}, element);\n\n this.update((draftState) => {\n // @ts-expect-error - TS2589: Type instantiation is excessively deep and\n // possibly infinite.\n draftState.interfaces[id] = {\n snapId,\n content: element,\n state: componentState,\n context: context ?? null,\n };\n });\n\n return id;\n }\n\n /**\n * Get the data of a given interface id.\n *\n * @param snapId - The snap id requesting the interface data.\n * @param id - The interface id.\n * @returns The interface state.\n */\n getInterface(snapId: SnapId, id: string) {\n this.#validateArgs(snapId, id);\n\n return this.state.interfaces[id];\n }\n\n /**\n * Update the interface with the given content.\n *\n * @param snapId - The snap id requesting the update.\n * @param id - The interface id.\n * @param content - The new content.\n */\n async updateInterface(\n snapId: SnapId,\n id: string,\n content: ComponentOrElement,\n ) {\n this.#validateArgs(snapId, id);\n const element = getJsxInterface(content);\n await this.#validateContent(element);\n\n const oldState = this.state.interfaces[id].state;\n const newState = constructState(oldState, element);\n\n this.update((draftState) => {\n draftState.interfaces[id].state = newState;\n draftState.interfaces[id].content = element;\n });\n }\n\n /**\n * Delete an interface from state.\n *\n * @param id - The interface id.\n */\n deleteInterface(id: string) {\n this.update((draftState) => {\n delete draftState.interfaces[id];\n });\n }\n\n /**\n * Update the interface state.\n *\n * @param id - The interface id.\n * @param state - The new state.\n */\n updateInterfaceState(id: string, state: InterfaceState) {\n this.update((draftState) => {\n draftState.interfaces[id].state = state;\n });\n }\n\n /**\n * Resolve the promise of a given interface approval request.\n * The approval needs to have the same ID as the interface.\n *\n * @param snapId - The snap id.\n * @param id - The interface id.\n * @param value - The value to resolve the promise with.\n */\n async resolveInterface(snapId: SnapId, id: string, value: Json) {\n this.#validateArgs(snapId, id);\n this.#validateApproval(id);\n\n await this.#acceptApprovalRequest(id, value);\n\n this.deleteInterface(id);\n }\n\n /**\n * Utility function to validate the args passed to the other methods.\n *\n * @param snapId - The snap id.\n * @param id - The interface id.\n */\n #validateArgs(snapId: SnapId, id: string) {\n const existingInterface = this.state.interfaces[id];\n\n assert(\n existingInterface !== undefined,\n `Interface with id '${id}' not found.`,\n );\n assert(\n existingInterface.snapId === snapId,\n `Interface not created by ${snapId}.`,\n );\n }\n\n /**\n * Utility function to validate that the approval request exists.\n *\n * @param id - The interface id.\n */\n #validateApproval(id: string) {\n assert(\n this.#hasApprovalRequest(id),\n `Approval request with id '${id}' not found.`,\n );\n }\n\n /**\n * Trigger a Phishing list update if needed.\n */\n async #triggerPhishingListUpdate() {\n await this.messagingSystem.call('PhishingController:maybeUpdateState');\n }\n\n /**\n * Check an origin against the phishing list.\n *\n * @param origin - The origin to check.\n * @returns True if the origin is on the phishing list, otherwise false.\n */\n #checkPhishingList(origin: string) {\n return this.messagingSystem.call('PhishingController:testOrigin', origin)\n .result;\n }\n\n /**\n * Check if an approval request exists for a given interface by looking up\n * if the ApprovalController has a request with the given interface ID.\n *\n * @param id - The interface id.\n * @returns True if an approval request exists, otherwise false.\n */\n #hasApprovalRequest(id: string) {\n return this.messagingSystem.call('ApprovalController:hasRequest', {\n id,\n });\n }\n\n /**\n * Accept an approval request for a given interface.\n *\n * @param id - The interface id.\n * @param value - The value to resolve the promise with.\n */\n async #acceptApprovalRequest(id: string, value: Json) {\n await this.messagingSystem.call(\n 'ApprovalController:acceptRequest',\n id,\n value,\n );\n }\n\n /**\n * Utility function to validate the components of an interface.\n * Throws if something is invalid.\n *\n * @param element - The JSX element to verify.\n */\n async #validateContent(element: JSXElement) {\n // We assume the validity of this JSON to be validated by the caller.\n // E.g., in the RPC method implementation.\n const size = getJsonSizeUnsafe(element);\n assert(\n size <= MAX_UI_CONTENT_SIZE,\n `A Snap UI may not be larger than ${MAX_UI_CONTENT_SIZE / 1000000} MB.`,\n );\n\n await this.#triggerPhishingListUpdate();\n validateJsxLinks(element, this.#checkPhishingList.bind(this));\n }\n}\n"]}
|
package/dist/chunk-2SRKMEUV.mjs
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
// src/snaps/location/http.ts
|
|
2
|
-
import {
|
|
3
|
-
VirtualFile,
|
|
4
|
-
HttpSnapIdStruct,
|
|
5
|
-
NpmSnapFileNames,
|
|
6
|
-
createSnapManifest,
|
|
7
|
-
normalizeRelative,
|
|
8
|
-
parseJson
|
|
9
|
-
} from "@metamask/snaps-utils";
|
|
10
|
-
import { assert, assertStruct } from "@metamask/utils";
|
|
11
|
-
var HttpLocation = class {
|
|
12
|
-
constructor(url, opts = {}) {
|
|
13
|
-
// We keep contents separate because then we can use only one Blob in cache,
|
|
14
|
-
// which we convert to Uint8Array when actually returning the file.
|
|
15
|
-
//
|
|
16
|
-
// That avoids deepCloning file contents.
|
|
17
|
-
// I imagine ArrayBuffers are copy-on-write optimized, meaning
|
|
18
|
-
// in most often case we'll only have one file contents in common case.
|
|
19
|
-
this.cache = /* @__PURE__ */ new Map();
|
|
20
|
-
assertStruct(url.toString(), HttpSnapIdStruct, "Invalid Snap Id: ");
|
|
21
|
-
this.fetchFn = opts.fetch ?? globalThis.fetch.bind(void 0);
|
|
22
|
-
this.fetchOptions = opts.fetchOptions;
|
|
23
|
-
this.url = url;
|
|
24
|
-
}
|
|
25
|
-
async manifest() {
|
|
26
|
-
if (this.validatedManifest) {
|
|
27
|
-
return this.validatedManifest.clone();
|
|
28
|
-
}
|
|
29
|
-
const canonicalPath = new URL(
|
|
30
|
-
NpmSnapFileNames.Manifest,
|
|
31
|
-
this.url
|
|
32
|
-
).toString();
|
|
33
|
-
const response = await this.fetchFn(canonicalPath, this.fetchOptions);
|
|
34
|
-
if (!response.ok) {
|
|
35
|
-
throw new Error(
|
|
36
|
-
`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
const contents = await response.text();
|
|
40
|
-
const manifest = parseJson(contents);
|
|
41
|
-
const vfile = new VirtualFile({
|
|
42
|
-
value: contents,
|
|
43
|
-
result: createSnapManifest(manifest),
|
|
44
|
-
path: NpmSnapFileNames.Manifest,
|
|
45
|
-
data: { canonicalPath }
|
|
46
|
-
});
|
|
47
|
-
this.validatedManifest = vfile;
|
|
48
|
-
return this.manifest();
|
|
49
|
-
}
|
|
50
|
-
async fetch(path) {
|
|
51
|
-
const relativePath = normalizeRelative(path);
|
|
52
|
-
const cached = this.cache.get(relativePath);
|
|
53
|
-
if (cached !== void 0) {
|
|
54
|
-
const { file, contents } = cached;
|
|
55
|
-
const value = new Uint8Array(await contents.arrayBuffer());
|
|
56
|
-
const vfile2 = file.clone();
|
|
57
|
-
vfile2.value = value;
|
|
58
|
-
return vfile2;
|
|
59
|
-
}
|
|
60
|
-
const canonicalPath = this.toCanonical(relativePath).toString();
|
|
61
|
-
const response = await this.fetchFn(canonicalPath, this.fetchOptions);
|
|
62
|
-
if (!response.ok) {
|
|
63
|
-
throw new Error(
|
|
64
|
-
`Failed to fetch "${canonicalPath}". Status code: ${response.status}.`
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
const vfile = new VirtualFile({
|
|
68
|
-
value: "",
|
|
69
|
-
path: relativePath,
|
|
70
|
-
data: { canonicalPath }
|
|
71
|
-
});
|
|
72
|
-
const blob = await response.blob();
|
|
73
|
-
assert(
|
|
74
|
-
!this.cache.has(relativePath),
|
|
75
|
-
"Corrupted cache, multiple files with same path."
|
|
76
|
-
);
|
|
77
|
-
this.cache.set(relativePath, { file: vfile, contents: blob });
|
|
78
|
-
return this.fetch(relativePath);
|
|
79
|
-
}
|
|
80
|
-
get root() {
|
|
81
|
-
return new URL(this.url);
|
|
82
|
-
}
|
|
83
|
-
toCanonical(path) {
|
|
84
|
-
assert(!path.startsWith("/"), "Tried to parse absolute path.");
|
|
85
|
-
return new URL(path, this.url);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export {
|
|
90
|
-
HttpLocation
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=chunk-2SRKMEUV.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/snaps/location/http.ts"],"sourcesContent":["import type { SnapManifest } from '@metamask/snaps-utils';\nimport {\n VirtualFile,\n HttpSnapIdStruct,\n NpmSnapFileNames,\n createSnapManifest,\n normalizeRelative,\n parseJson,\n} from '@metamask/snaps-utils';\nimport { assert, assertStruct } from '@metamask/utils';\n\nimport type { SnapLocation } from './location';\n\nexport interface HttpOptions {\n /**\n * @default fetch\n */\n fetch?: typeof fetch;\n fetchOptions?: RequestInit;\n}\n\nexport class HttpLocation implements SnapLocation {\n // We keep contents separate because then we can use only one Blob in cache,\n // which we convert to Uint8Array when actually returning the file.\n //\n // That avoids deepCloning file contents.\n // I imagine ArrayBuffers are copy-on-write optimized, meaning\n // in most often case we'll only have one file contents in common case.\n private readonly cache = new Map<\n string,\n { file: VirtualFile; contents: Blob }\n >();\n\n private validatedManifest?: VirtualFile<SnapManifest>;\n\n private readonly url: URL;\n\n private readonly fetchFn: typeof fetch;\n\n private readonly fetchOptions?: RequestInit;\n\n constructor(url: URL, opts: HttpOptions = {}) {\n assertStruct(url.toString(), HttpSnapIdStruct, 'Invalid Snap Id: ');\n this.fetchFn = opts.fetch ?? globalThis.fetch.bind(undefined);\n this.fetchOptions = opts.fetchOptions;\n this.url = url;\n }\n\n async manifest(): Promise<VirtualFile<SnapManifest>> {\n if (this.validatedManifest) {\n return this.validatedManifest.clone();\n }\n\n // jest-fetch-mock doesn't handle new URL(), we need to convert .toString()\n const canonicalPath = new URL(\n NpmSnapFileNames.Manifest,\n this.url,\n ).toString();\n\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const contents = await response.text();\n const manifest = parseJson(contents);\n const vfile = new VirtualFile<SnapManifest>({\n value: contents,\n result: createSnapManifest(manifest),\n path: NpmSnapFileNames.Manifest,\n data: { canonicalPath },\n });\n this.validatedManifest = vfile;\n\n return this.manifest();\n }\n\n async fetch(path: string): Promise<VirtualFile> {\n const relativePath = normalizeRelative(path);\n const cached = this.cache.get(relativePath);\n if (cached !== undefined) {\n const { file, contents } = cached;\n const value = new Uint8Array(await contents.arrayBuffer());\n const vfile = file.clone();\n vfile.value = value;\n return vfile;\n }\n\n const canonicalPath = this.toCanonical(relativePath).toString();\n const response = await this.fetchFn(canonicalPath, this.fetchOptions);\n if (!response.ok) {\n throw new Error(\n `Failed to fetch \"${canonicalPath}\". Status code: ${response.status}.`,\n );\n }\n const vfile = new VirtualFile({\n value: '',\n path: relativePath,\n data: { canonicalPath },\n });\n const blob = await response.blob();\n assert(\n !this.cache.has(relativePath),\n 'Corrupted cache, multiple files with same path.',\n );\n this.cache.set(relativePath, { file: vfile, contents: blob });\n\n return this.fetch(relativePath);\n }\n\n get root(): URL {\n return new URL(this.url);\n }\n\n private toCanonical(path: string): URL {\n assert(!path.startsWith('/'), 'Tried to parse absolute path.');\n return new URL(path, this.url);\n }\n}\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,QAAQ,oBAAoB;AAY9B,IAAM,eAAN,MAA2C;AAAA,EAoBhD,YAAY,KAAU,OAAoB,CAAC,GAAG;AAb9C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAiB,QAAQ,oBAAI,IAG3B;AAWA,iBAAa,IAAI,SAAS,GAAG,kBAAkB,mBAAmB;AAClE,SAAK,UAAU,KAAK,SAAS,WAAW,MAAM,KAAK,MAAS;AAC5D,SAAK,eAAe,KAAK;AACzB,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,MAAM,WAA+C;AACnD,QAAI,KAAK,mBAAmB;AAC1B,aAAO,KAAK,kBAAkB,MAAM;AAAA,IACtC;AAGA,UAAM,gBAAgB,IAAI;AAAA,MACxB,iBAAiB;AAAA,MACjB,KAAK;AAAA,IACP,EAAE,SAAS;AAEX,UAAM,WAAW,MAAM,KAAK,QAAQ,eAAe,KAAK,YAAY;AACpE,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,oBAAoB,aAAa,mBAAmB,SAAS,MAAM;AAAA,MACrE;AAAA,IACF;AACA,UAAM,WAAW,MAAM,SAAS,KAAK;AACrC,UAAM,WAAW,UAAU,QAAQ;AACnC,UAAM,QAAQ,IAAI,YAA0B;AAAA,MAC1C,OAAO;AAAA,MACP,QAAQ,mBAAmB,QAAQ;AAAA,MACnC,MAAM,iBAAiB;AAAA,MACvB,MAAM,EAAE,cAAc;AAAA,IACxB,CAAC;AACD,SAAK,oBAAoB;AAEzB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,MAAM,MAAM,MAAoC;AAC9C,UAAM,eAAe,kBAAkB,IAAI;AAC3C,UAAM,SAAS,KAAK,MAAM,IAAI,YAAY;AAC1C,QAAI,WAAW,QAAW;AACxB,YAAM,EAAE,MAAM,SAAS,IAAI;AAC3B,YAAM,QAAQ,IAAI,WAAW,MAAM,SAAS,YAAY,CAAC;AACzD,YAAMA,SAAQ,KAAK,MAAM;AACzB,MAAAA,OAAM,QAAQ;AACd,aAAOA;AAAA,IACT;AAEA,UAAM,gBAAgB,KAAK,YAAY,YAAY,EAAE,SAAS;AAC9D,UAAM,WAAW,MAAM,KAAK,QAAQ,eAAe,KAAK,YAAY;AACpE,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI;AAAA,QACR,oBAAoB,aAAa,mBAAmB,SAAS,MAAM;AAAA,MACrE;AAAA,IACF;AACA,UAAM,QAAQ,IAAI,YAAY;AAAA,MAC5B,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM,EAAE,cAAc;AAAA,IACxB,CAAC;AACD,UAAM,OAAO,MAAM,SAAS,KAAK;AACjC;AAAA,MACE,CAAC,KAAK,MAAM,IAAI,YAAY;AAAA,MAC5B;AAAA,IACF;AACA,SAAK,MAAM,IAAI,cAAc,EAAE,MAAM,OAAO,UAAU,KAAK,CAAC;AAE5D,WAAO,KAAK,MAAM,YAAY;AAAA,EAChC;AAAA,EAEA,IAAI,OAAY;AACd,WAAO,IAAI,IAAI,KAAK,GAAG;AAAA,EACzB;AAAA,EAEQ,YAAY,MAAmB;AACrC,WAAO,CAAC,KAAK,WAAW,GAAG,GAAG,+BAA+B;AAC7D,WAAO,IAAI,IAAI,MAAM,KAAK,GAAG;AAAA,EAC/B;AACF;","names":["vfile"]}
|
package/dist/chunk-2XQD4P2S.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-2XQD4P2S.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-36QDTCDZ.js
DELETED
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunkYYPUPKQYjs = require('./chunk-YYPUPKQY.js');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkEXN2TFDJjs = require('./chunk-EXN2TFDJ.js');
|
|
8
|
-
|
|
9
|
-
// src/insights/SnapInsightsController.ts
|
|
10
|
-
var _basecontroller = require('@metamask/base-controller');
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var _snapsrpcmethods = require('@metamask/snaps-rpc-methods');
|
|
16
|
-
var _snapsutils = require('@metamask/snaps-utils');
|
|
17
|
-
var _utils = require('@metamask/utils');
|
|
18
|
-
var controllerName = "SnapInsightsController";
|
|
19
|
-
var _hasInsight, hasInsight_fn, _getSnapsWithPermission, getSnapsWithPermission_fn, _handleTransaction, handleTransaction_fn, _handleSignatureStateChange, handleSignatureStateChange_fn, _handleSignature, handleSignature_fn, _handleTransactionStatusUpdate, handleTransactionStatusUpdate_fn, _handleInsightCleanup, handleInsightCleanup_fn, _handleSnapRequest, handleSnapRequest_fn, _handleSnapResponse, handleSnapResponse_fn;
|
|
20
|
-
var SnapInsightsController = class extends _basecontroller.BaseController {
|
|
21
|
-
constructor({ messenger, state }) {
|
|
22
|
-
super({
|
|
23
|
-
messenger,
|
|
24
|
-
metadata: {
|
|
25
|
-
insights: { persist: false, anonymous: false }
|
|
26
|
-
},
|
|
27
|
-
name: controllerName,
|
|
28
|
-
state: { insights: {}, ...state }
|
|
29
|
-
});
|
|
30
|
-
/**
|
|
31
|
-
* Check if an insight already exists for a given ID.
|
|
32
|
-
*
|
|
33
|
-
* @param id - The ID.
|
|
34
|
-
* @returns True if the insight already exists, otherwise false.
|
|
35
|
-
*/
|
|
36
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _hasInsight);
|
|
37
|
-
/**
|
|
38
|
-
* Get a list of runnable Snaps that have a given permission.
|
|
39
|
-
* Also includes the permission object itself.
|
|
40
|
-
*
|
|
41
|
-
* @param permissionName - The permission name.
|
|
42
|
-
* @returns A list of objects containing Snap IDs and the permission object.
|
|
43
|
-
*/
|
|
44
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getSnapsWithPermission);
|
|
45
|
-
/**
|
|
46
|
-
* Handle a newly added unapproved transaction.
|
|
47
|
-
* This function fetches insights from all available Snaps
|
|
48
|
-
* and populates the insights state blob with the responses.
|
|
49
|
-
*
|
|
50
|
-
* @param transaction - The transaction object.
|
|
51
|
-
*/
|
|
52
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleTransaction);
|
|
53
|
-
/**
|
|
54
|
-
* Handle the stateChange event emitted by the SignatureController.
|
|
55
|
-
* This function will remove existing insights from the state when applicable, as well as
|
|
56
|
-
* trigger insight fetching for newly added signatures.
|
|
57
|
-
*
|
|
58
|
-
* @param state - The SignatureController state blob.
|
|
59
|
-
*/
|
|
60
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleSignatureStateChange);
|
|
61
|
-
/**
|
|
62
|
-
* Handle a newly added unapproved signature.
|
|
63
|
-
* This function fetches insights from all available Snaps
|
|
64
|
-
* and populates the insights state blob with the responses.
|
|
65
|
-
*
|
|
66
|
-
* @param snaps - A list of Snaps to invoke.
|
|
67
|
-
* @param signature - The signature object.
|
|
68
|
-
*/
|
|
69
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleSignature);
|
|
70
|
-
/**
|
|
71
|
-
* Handle the transactionStatusUpdated event emitted by the TransactionController.
|
|
72
|
-
* This function will remove insights for the transaction in question
|
|
73
|
-
* once the transaction status has changed from unapproved.
|
|
74
|
-
*
|
|
75
|
-
* @param args - An options bag.
|
|
76
|
-
* @param args.transactionMeta - The transaction.
|
|
77
|
-
*/
|
|
78
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleTransactionStatusUpdate);
|
|
79
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleInsightCleanup);
|
|
80
|
-
/**
|
|
81
|
-
* Handle sending a request to a given Snap with a given payload.
|
|
82
|
-
*
|
|
83
|
-
* @param args - An options bag.
|
|
84
|
-
* @param args.snapId - The Snap ID.
|
|
85
|
-
* @param args.handler - The handler to invoke.
|
|
86
|
-
* @param args.params - The JSON-RPC params to send.
|
|
87
|
-
* @returns The response from the Snap.
|
|
88
|
-
*/
|
|
89
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleSnapRequest);
|
|
90
|
-
/**
|
|
91
|
-
* Handle response from a given Snap by persisting the response or error in state.
|
|
92
|
-
*
|
|
93
|
-
* @param args - An options bag.
|
|
94
|
-
* @param args.id - The transaction or signature ID.
|
|
95
|
-
* @param args.snapId - The Snap ID.
|
|
96
|
-
* @param args.response - An optional response object returned by the Snap.
|
|
97
|
-
* @param args.error - An optional error returned by the Snap.
|
|
98
|
-
*/
|
|
99
|
-
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _handleSnapResponse);
|
|
100
|
-
this.messagingSystem.subscribe(
|
|
101
|
-
"TransactionController:unapprovedTransactionAdded",
|
|
102
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleTransaction, handleTransaction_fn).bind(this)
|
|
103
|
-
);
|
|
104
|
-
this.messagingSystem.subscribe(
|
|
105
|
-
"TransactionController:transactionStatusUpdated",
|
|
106
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleTransactionStatusUpdate, handleTransactionStatusUpdate_fn).bind(this)
|
|
107
|
-
);
|
|
108
|
-
this.messagingSystem.subscribe(
|
|
109
|
-
"SignatureController:stateChange",
|
|
110
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSignatureStateChange, handleSignatureStateChange_fn).bind(this)
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
_hasInsight = new WeakSet();
|
|
115
|
-
hasInsight_fn = function(id) {
|
|
116
|
-
return _utils.hasProperty.call(void 0, this.state.insights, id);
|
|
117
|
-
};
|
|
118
|
-
_getSnapsWithPermission = new WeakSet();
|
|
119
|
-
getSnapsWithPermission_fn = function(permissionName) {
|
|
120
|
-
const allSnaps = this.messagingSystem.call("SnapController:getAll");
|
|
121
|
-
const filteredSnaps = _chunkYYPUPKQYjs.getRunnableSnaps.call(void 0, allSnaps);
|
|
122
|
-
return filteredSnaps.reduce((accumulator, snap) => {
|
|
123
|
-
const permissions = this.messagingSystem.call(
|
|
124
|
-
"PermissionController:getPermissions",
|
|
125
|
-
snap.id
|
|
126
|
-
);
|
|
127
|
-
if (permissions && _utils.hasProperty.call(void 0, permissions, permissionName)) {
|
|
128
|
-
accumulator.push({
|
|
129
|
-
snapId: snap.id,
|
|
130
|
-
permission: permissions[permissionName]
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
return accumulator;
|
|
134
|
-
}, []);
|
|
135
|
-
};
|
|
136
|
-
_handleTransaction = new WeakSet();
|
|
137
|
-
handleTransaction_fn = function(transaction) {
|
|
138
|
-
const { id, txParams, chainId, origin } = transaction;
|
|
139
|
-
const caipChainId = `eip155:${parseInt(chainId, 16)}`;
|
|
140
|
-
const snaps = _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _getSnapsWithPermission, getSnapsWithPermission_fn).call(this, _snapsrpcmethods.SnapEndowments.TransactionInsight);
|
|
141
|
-
snaps.forEach(({ snapId, permission }) => {
|
|
142
|
-
const hasTransactionOriginCaveat = _snapsrpcmethods.getTransactionOriginCaveat.call(void 0, permission);
|
|
143
|
-
const transactionOrigin = hasTransactionOriginCaveat && origin ? origin : null;
|
|
144
|
-
this.update((state) => {
|
|
145
|
-
var _a;
|
|
146
|
-
(_a = state.insights)[id] ?? (_a[id] = {});
|
|
147
|
-
state.insights[id][snapId] = { snapId, loading: true };
|
|
148
|
-
});
|
|
149
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapRequest, handleSnapRequest_fn).call(this, {
|
|
150
|
-
snapId,
|
|
151
|
-
handler: _snapsutils.HandlerType.OnTransaction,
|
|
152
|
-
params: {
|
|
153
|
-
transaction: txParams,
|
|
154
|
-
chainId: caipChainId,
|
|
155
|
-
transactionOrigin
|
|
156
|
-
}
|
|
157
|
-
}).then(
|
|
158
|
-
(response) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapResponse, handleSnapResponse_fn).call(this, {
|
|
159
|
-
id,
|
|
160
|
-
snapId,
|
|
161
|
-
response
|
|
162
|
-
})
|
|
163
|
-
).catch((error) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapResponse, handleSnapResponse_fn).call(this, { id, snapId, error }));
|
|
164
|
-
});
|
|
165
|
-
};
|
|
166
|
-
_handleSignatureStateChange = new WeakSet();
|
|
167
|
-
handleSignatureStateChange_fn = function(state) {
|
|
168
|
-
for (const id of Object.keys(this.state.insights)) {
|
|
169
|
-
if (!_utils.hasProperty.call(void 0, state.unapprovedTypedMessages, id) && !_utils.hasProperty.call(void 0, state.unapprovedPersonalMsgs, id)) {
|
|
170
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleInsightCleanup, handleInsightCleanup_fn).call(this, id);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
if (state.unapprovedPersonalMsgCount > 0 || state.unapprovedTypedMessagesCount > 0) {
|
|
174
|
-
const snaps = _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _getSnapsWithPermission, getSnapsWithPermission_fn).call(this, _snapsrpcmethods.SnapEndowments.SignatureInsight);
|
|
175
|
-
for (const personalSignature of Object.values(
|
|
176
|
-
state.unapprovedPersonalMsgs
|
|
177
|
-
)) {
|
|
178
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSignature, handleSignature_fn).call(this, snaps, personalSignature);
|
|
179
|
-
}
|
|
180
|
-
for (const typedMessage of Object.values(state.unapprovedTypedMessages)) {
|
|
181
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSignature, handleSignature_fn).call(this, snaps, typedMessage);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
_handleSignature = new WeakSet();
|
|
186
|
-
handleSignature_fn = function(snaps, signature) {
|
|
187
|
-
const { id, msgParams } = signature;
|
|
188
|
-
if (_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _hasInsight, hasInsight_fn).call(this, id)) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const { from, data, signatureMethod, origin } = msgParams;
|
|
192
|
-
const shouldParse = signatureMethod === "eth_signTypedData_v3" || signatureMethod === "eth_signTypedData_v4";
|
|
193
|
-
const payload = {
|
|
194
|
-
from,
|
|
195
|
-
data: shouldParse ? JSON.parse(data) : data,
|
|
196
|
-
signatureMethod
|
|
197
|
-
};
|
|
198
|
-
snaps.forEach(({ snapId, permission }) => {
|
|
199
|
-
const hasSignatureOriginCaveat = _snapsrpcmethods.getSignatureOriginCaveat.call(void 0, permission);
|
|
200
|
-
const signatureOrigin = origin && hasSignatureOriginCaveat ? origin : null;
|
|
201
|
-
this.update((state) => {
|
|
202
|
-
var _a;
|
|
203
|
-
(_a = state.insights)[id] ?? (_a[id] = {});
|
|
204
|
-
state.insights[id][snapId] = { snapId, loading: true };
|
|
205
|
-
});
|
|
206
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapRequest, handleSnapRequest_fn).call(this, {
|
|
207
|
-
snapId,
|
|
208
|
-
handler: _snapsutils.HandlerType.OnSignature,
|
|
209
|
-
params: { signature: payload, signatureOrigin }
|
|
210
|
-
}).then(
|
|
211
|
-
(response) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapResponse, handleSnapResponse_fn).call(this, {
|
|
212
|
-
id,
|
|
213
|
-
snapId,
|
|
214
|
-
response
|
|
215
|
-
})
|
|
216
|
-
).catch((error) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleSnapResponse, handleSnapResponse_fn).call(this, { id, snapId, error }));
|
|
217
|
-
});
|
|
218
|
-
};
|
|
219
|
-
_handleTransactionStatusUpdate = new WeakSet();
|
|
220
|
-
handleTransactionStatusUpdate_fn = function({
|
|
221
|
-
transactionMeta
|
|
222
|
-
}) {
|
|
223
|
-
if (transactionMeta.status !== "unapproved") {
|
|
224
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handleInsightCleanup, handleInsightCleanup_fn).call(this, transactionMeta.id);
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
_handleInsightCleanup = new WeakSet();
|
|
228
|
-
handleInsightCleanup_fn = function(id) {
|
|
229
|
-
if (!_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _hasInsight, hasInsight_fn).call(this, id)) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
Object.values(this.state.insights[id]).filter((insight) => insight.interfaceId).forEach((insight) => {
|
|
233
|
-
this.messagingSystem.call(
|
|
234
|
-
"SnapInterfaceController:deleteInterface",
|
|
235
|
-
insight.interfaceId
|
|
236
|
-
);
|
|
237
|
-
});
|
|
238
|
-
this.update((state) => {
|
|
239
|
-
delete state.insights[id];
|
|
240
|
-
});
|
|
241
|
-
};
|
|
242
|
-
_handleSnapRequest = new WeakSet();
|
|
243
|
-
handleSnapRequest_fn = async function({
|
|
244
|
-
snapId,
|
|
245
|
-
handler,
|
|
246
|
-
params
|
|
247
|
-
}) {
|
|
248
|
-
return this.messagingSystem.call("SnapController:handleRequest", {
|
|
249
|
-
snapId,
|
|
250
|
-
origin: "",
|
|
251
|
-
handler,
|
|
252
|
-
request: {
|
|
253
|
-
method: "",
|
|
254
|
-
params
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
};
|
|
258
|
-
_handleSnapResponse = new WeakSet();
|
|
259
|
-
handleSnapResponse_fn = function({
|
|
260
|
-
id,
|
|
261
|
-
snapId,
|
|
262
|
-
response,
|
|
263
|
-
error
|
|
264
|
-
}) {
|
|
265
|
-
this.update((state) => {
|
|
266
|
-
state.insights[id][snapId].loading = false;
|
|
267
|
-
state.insights[id][snapId].interfaceId = response?.id;
|
|
268
|
-
state.insights[id][snapId].severity = response?.severity;
|
|
269
|
-
state.insights[id][snapId].error = error?.message;
|
|
270
|
-
});
|
|
271
|
-
};
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
exports.SnapInsightsController = SnapInsightsController;
|
|
276
|
-
//# sourceMappingURL=chunk-36QDTCDZ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/insights/SnapInsightsController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n RestrictedControllerMessenger,\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type {\n Caveat,\n GetPermissions,\n ValidPermission,\n} from '@metamask/permission-controller';\nimport {\n getSignatureOriginCaveat,\n getTransactionOriginCaveat,\n SnapEndowments,\n} from '@metamask/snaps-rpc-methods';\nimport type { Json, SnapId } from '@metamask/snaps-sdk';\nimport { HandlerType } from '@metamask/snaps-utils';\nimport { hasProperty } from '@metamask/utils';\n\nimport type { DeleteInterface } from '../interface';\nimport type { GetAllSnaps, HandleSnapRequest } from '../snaps';\nimport { getRunnableSnaps } from '../snaps';\nimport type {\n TransactionControllerUnapprovedTransactionAddedEvent,\n TransactionMeta,\n SignatureStateChange,\n SignatureControllerState,\n StateSignature,\n TransactionControllerTransactionStatusUpdatedEvent,\n} from '../types';\n\nconst controllerName = 'SnapInsightsController';\n\nexport type SnapInsightsControllerAllowedActions =\n | HandleSnapRequest\n | GetAllSnaps\n | GetPermissions\n | DeleteInterface;\n\nexport type SnapInsightsControllerGetStateAction = ControllerGetStateAction<\n typeof controllerName,\n SnapInsightsControllerState\n>;\n\nexport type SnapInsightsControllerActions =\n SnapInsightsControllerGetStateAction;\n\nexport type SnapInsightControllerStateChangeEvent = ControllerStateChangeEvent<\n typeof controllerName,\n SnapInsightsControllerState\n>;\n\nexport type SnapInsightControllerEvents = SnapInsightControllerStateChangeEvent;\n\nexport type SnapInsightsControllerAllowedEvents =\n | TransactionControllerUnapprovedTransactionAddedEvent\n | TransactionControllerTransactionStatusUpdatedEvent\n | SignatureStateChange;\n\nexport type SnapInsightsControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n SnapInsightsControllerActions | SnapInsightsControllerAllowedActions,\n SnapInsightControllerEvents | SnapInsightsControllerAllowedEvents,\n SnapInsightsControllerAllowedActions['type'],\n SnapInsightsControllerAllowedEvents['type']\n>;\n\nexport type SnapInsight = {\n snapId: SnapId;\n interfaceId?: string | null;\n error?: string;\n loading: boolean;\n severity?: string;\n};\n\nexport type SnapInsightsControllerState = {\n insights: Record<string, Record<SnapId, SnapInsight>>;\n};\n\nexport type SnapInsightsControllerArgs = {\n messenger: SnapInsightsControllerMessenger;\n state?: SnapInsightsControllerState;\n};\n\ntype SnapWithPermission = {\n snapId: SnapId;\n permission: ValidPermission<string, Caveat<string, Json>>;\n};\n\n/**\n * Controller for monitoring for new transactions and signatures to provide insight for.\n */\nexport class SnapInsightsController extends BaseController<\n typeof controllerName,\n SnapInsightsControllerState,\n SnapInsightsControllerMessenger\n> {\n constructor({ messenger, state }: SnapInsightsControllerArgs) {\n super({\n messenger,\n metadata: {\n insights: { persist: false, anonymous: false },\n },\n name: controllerName,\n state: { insights: {}, ...state },\n });\n\n this.messagingSystem.subscribe(\n 'TransactionController:unapprovedTransactionAdded',\n this.#handleTransaction.bind(this),\n );\n\n this.messagingSystem.subscribe(\n 'TransactionController:transactionStatusUpdated',\n this.#handleTransactionStatusUpdate.bind(this),\n );\n\n this.messagingSystem.subscribe(\n 'SignatureController:stateChange',\n this.#handleSignatureStateChange.bind(this),\n );\n }\n\n /**\n * Check if an insight already exists for a given ID.\n *\n * @param id - The ID.\n * @returns True if the insight already exists, otherwise false.\n */\n #hasInsight(id: string) {\n return hasProperty(this.state.insights, id);\n }\n\n /**\n * Get a list of runnable Snaps that have a given permission.\n * Also includes the permission object itself.\n *\n * @param permissionName - The permission name.\n * @returns A list of objects containing Snap IDs and the permission object.\n */\n #getSnapsWithPermission(permissionName: string) {\n const allSnaps = this.messagingSystem.call('SnapController:getAll');\n const filteredSnaps = getRunnableSnaps(allSnaps);\n\n return filteredSnaps.reduce<SnapWithPermission[]>((accumulator, snap) => {\n const permissions = this.messagingSystem.call(\n 'PermissionController:getPermissions',\n snap.id,\n );\n if (permissions && hasProperty(permissions, permissionName)) {\n accumulator.push({\n snapId: snap.id,\n permission: permissions[permissionName],\n });\n }\n\n return accumulator;\n }, []);\n }\n\n /**\n * Handle a newly added unapproved transaction.\n * This function fetches insights from all available Snaps\n * and populates the insights state blob with the responses.\n *\n * @param transaction - The transaction object.\n */\n #handleTransaction(transaction: TransactionMeta) {\n const { id, txParams, chainId, origin } = transaction;\n\n // This assumes that the transactions are EVM-compatible for now.\n const caipChainId = `eip155:${parseInt(chainId, 16)}`;\n\n const snaps = this.#getSnapsWithPermission(\n SnapEndowments.TransactionInsight,\n );\n\n snaps.forEach(({ snapId, permission }) => {\n const hasTransactionOriginCaveat = getTransactionOriginCaveat(permission);\n const transactionOrigin =\n hasTransactionOriginCaveat && origin ? origin : null;\n\n this.update((state) => {\n state.insights[id] ??= {};\n state.insights[id][snapId] = { snapId, loading: true };\n });\n\n this.#handleSnapRequest({\n snapId,\n handler: HandlerType.OnTransaction,\n params: {\n transaction: txParams,\n chainId: caipChainId,\n transactionOrigin,\n },\n })\n .then((response) =>\n this.#handleSnapResponse({\n id,\n snapId,\n response: response as Record<string, Json>,\n }),\n )\n .catch((error) => this.#handleSnapResponse({ id, snapId, error }));\n });\n }\n\n /**\n * Handle the stateChange event emitted by the SignatureController.\n * This function will remove existing insights from the state when applicable, as well as\n * trigger insight fetching for newly added signatures.\n *\n * @param state - The SignatureController state blob.\n */\n #handleSignatureStateChange(state: SignatureControllerState) {\n // If any IDs have disappeared since the last state update, the insight may be cleaned up.\n for (const id of Object.keys(this.state.insights)) {\n if (\n !hasProperty(state.unapprovedTypedMessages, id) &&\n !hasProperty(state.unapprovedPersonalMsgs, id)\n ) {\n this.#handleInsightCleanup(id);\n }\n }\n\n if (\n state.unapprovedPersonalMsgCount > 0 ||\n state.unapprovedTypedMessagesCount > 0\n ) {\n const snaps = this.#getSnapsWithPermission(\n SnapEndowments.SignatureInsight,\n );\n\n // This isn't very efficient, but SignatureController doesn't expose a better event for us to use yet.\n for (const personalSignature of Object.values(\n state.unapprovedPersonalMsgs,\n )) {\n this.#handleSignature(snaps, personalSignature);\n }\n\n for (const typedMessage of Object.values(state.unapprovedTypedMessages)) {\n this.#handleSignature(snaps, typedMessage);\n }\n }\n }\n\n /**\n * Handle a newly added unapproved signature.\n * This function fetches insights from all available Snaps\n * and populates the insights state blob with the responses.\n *\n * @param snaps - A list of Snaps to invoke.\n * @param signature - The signature object.\n */\n #handleSignature(snaps: SnapWithPermission[], signature: StateSignature) {\n const { id, msgParams } = signature;\n\n if (this.#hasInsight(id)) {\n return;\n }\n\n const { from, data, signatureMethod, origin } = msgParams;\n\n /**\n * Both eth_signTypedData_v3 and eth_signTypedData_v4 methods\n * need to be parsed because their data is stringified. All other\n * signature methods do not, so they are ignored.\n */\n const shouldParse =\n signatureMethod === 'eth_signTypedData_v3' ||\n signatureMethod === 'eth_signTypedData_v4';\n\n const payload = {\n from,\n data: shouldParse ? JSON.parse(data as string) : data,\n signatureMethod,\n };\n\n snaps.forEach(({ snapId, permission }) => {\n const hasSignatureOriginCaveat = getSignatureOriginCaveat(permission);\n const signatureOrigin =\n origin && hasSignatureOriginCaveat ? origin : null;\n\n this.update((state) => {\n state.insights[id] ??= {};\n state.insights[id][snapId] = { snapId, loading: true };\n });\n\n this.#handleSnapRequest({\n snapId,\n handler: HandlerType.OnSignature,\n params: { signature: payload, signatureOrigin },\n })\n .then((response) =>\n this.#handleSnapResponse({\n id,\n snapId,\n response: response as Record<string, Json>,\n }),\n )\n .catch((error) => this.#handleSnapResponse({ id, snapId, error }));\n });\n }\n\n /**\n * Handle the transactionStatusUpdated event emitted by the TransactionController.\n * This function will remove insights for the transaction in question\n * once the transaction status has changed from unapproved.\n *\n * @param args - An options bag.\n * @param args.transactionMeta - The transaction.\n */\n #handleTransactionStatusUpdate({\n transactionMeta,\n }: {\n transactionMeta: TransactionMeta;\n }) {\n if (transactionMeta.status !== 'unapproved') {\n this.#handleInsightCleanup(transactionMeta.id);\n }\n }\n\n #handleInsightCleanup(id: string) {\n if (!this.#hasInsight(id)) {\n return;\n }\n\n // Delete interfaces from interface controller.\n Object.values(this.state.insights[id])\n .filter((insight) => insight.interfaceId)\n .forEach((insight) => {\n this.messagingSystem.call(\n 'SnapInterfaceController:deleteInterface',\n insight.interfaceId as string,\n );\n });\n\n this.update((state) => {\n delete state.insights[id];\n });\n }\n\n /**\n * Handle sending a request to a given Snap with a given payload.\n *\n * @param args - An options bag.\n * @param args.snapId - The Snap ID.\n * @param args.handler - The handler to invoke.\n * @param args.params - The JSON-RPC params to send.\n * @returns The response from the Snap.\n */\n async #handleSnapRequest({\n snapId,\n handler,\n params,\n }: {\n snapId: SnapId;\n handler: HandlerType.OnTransaction | HandlerType.OnSignature;\n params: Record<string, Json>;\n }) {\n return this.messagingSystem.call('SnapController:handleRequest', {\n snapId,\n origin: '',\n handler,\n request: {\n method: '',\n params,\n },\n });\n }\n\n /**\n * Handle response from a given Snap by persisting the response or error in state.\n *\n * @param args - An options bag.\n * @param args.id - The transaction or signature ID.\n * @param args.snapId - The Snap ID.\n * @param args.response - An optional response object returned by the Snap.\n * @param args.error - An optional error returned by the Snap.\n */\n #handleSnapResponse({\n id,\n snapId,\n response,\n error,\n }: {\n id: string;\n snapId: SnapId;\n response?: Record<string, Json>;\n error?: Error;\n }) {\n this.update((state) => {\n state.insights[id][snapId].loading = false;\n state.insights[id][snapId].interfaceId = response?.id as string;\n state.insights[id][snapId].severity = response?.severity as string;\n state.insights[id][snapId].error = error?.message;\n });\n }\n}\n"]}
|
package/dist/chunk-3RNW7OKG.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-3RNW7OKG.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-3WWZDKQL.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
var _chunk6Z4WDAVCjs = require('./chunk-6Z4WDAVC.js');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _chunkTIURYSSRjs = require('./chunk-TIURYSSR.js');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _chunkK3TNQEM5js = require('./chunk-K3TNQEM5.js');
|
|
10
|
-
|
|
11
|
-
// src/snaps/location/location.ts
|
|
12
|
-
var _utils = require('@metamask/utils');
|
|
13
|
-
function detectSnapLocation(location, opts) {
|
|
14
|
-
const allowHttp = opts?.allowHttp ?? false;
|
|
15
|
-
const allowLocal = opts?.allowLocal ?? false;
|
|
16
|
-
const root = new URL(location);
|
|
17
|
-
switch (root.protocol) {
|
|
18
|
-
case "npm:":
|
|
19
|
-
return new (0, _chunkK3TNQEM5js.NpmLocation)(root, opts);
|
|
20
|
-
case "local:":
|
|
21
|
-
_utils.assert.call(void 0, allowLocal, new TypeError("Fetching local snaps is disabled."));
|
|
22
|
-
return new (0, _chunk6Z4WDAVCjs.LocalLocation)(root, opts);
|
|
23
|
-
case "http:":
|
|
24
|
-
case "https:":
|
|
25
|
-
_utils.assert.call(void 0,
|
|
26
|
-
allowHttp,
|
|
27
|
-
new TypeError("Fetching snaps through http/https is disabled.")
|
|
28
|
-
);
|
|
29
|
-
return new (0, _chunkTIURYSSRjs.HttpLocation)(root, opts);
|
|
30
|
-
default:
|
|
31
|
-
throw new TypeError(
|
|
32
|
-
`Unrecognized "${root.protocol}" snap location protocol.`
|
|
33
|
-
);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
exports.detectSnapLocation = detectSnapLocation;
|
|
40
|
-
//# sourceMappingURL=chunk-3WWZDKQL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/snaps/location/location.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,SAAS,cAAc;AAoDhB,SAAS,mBACd,UACA,MACc;AACd,QAAM,YAAY,MAAM,aAAa;AACrC,QAAM,aAAa,MAAM,cAAc;AACvC,QAAM,OAAO,IAAI,IAAI,QAAQ;AAC7B,UAAQ,KAAK,UAAU;AAAA,IACrB,KAAK;AACH,aAAO,IAAI,YAAY,MAAM,IAAI;AAAA,IACnC,KAAK;AACH,aAAO,YAAY,IAAI,UAAU,mCAAmC,CAAC;AACrE,aAAO,IAAI,cAAc,MAAM,IAAI;AAAA,IACrC,KAAK;AAAA,IACL,KAAK;AACH;AAAA,QACE;AAAA,QACA,IAAI,UAAU,gDAAgD;AAAA,MAChE;AACA,aAAO,IAAI,aAAa,MAAM,IAAI;AAAA,IACpC;AACE,YAAM,IAAI;AAAA,QACR,iBAAiB,KAAK,QAAQ;AAAA,MAChC;AAAA,EACJ;AACF","sourcesContent":["import type { SnapManifest, VirtualFile } from '@metamask/snaps-utils';\nimport type { SemVerRange } from '@metamask/utils';\nimport { assert } from '@metamask/utils';\n\nimport { HttpLocation } from './http';\nimport { LocalLocation } from './local';\nimport type { NpmOptions } from './npm';\nimport { NpmLocation } from './npm';\n\ndeclare module '@metamask/snaps-utils' {\n interface DataMap {\n /**\n * Fully qualified, canonical path for the file in {@link https://github.com/MetaMask/SIPs/blob/main/SIPS/sip-8.md SIP-8 } URI format.\n */\n canonicalPath: string;\n }\n}\n\nexport interface SnapLocation {\n /**\n * All files are relative to the manifest, except the manifest itself.\n */\n manifest(): Promise<VirtualFile<SnapManifest>>;\n fetch(path: string): Promise<VirtualFile>;\n\n readonly shouldAlwaysReload?: boolean;\n}\n\nexport type DetectSnapLocationOptions = NpmOptions & {\n /**\n * The function used to fetch data.\n *\n * @default globalThis.fetch\n */\n fetch?: typeof fetch;\n /**\n * @default false\n */\n allowHttp?: boolean;\n /**\n * @default false\n */\n allowLocal?: boolean;\n\n resolveVersion?: (range: SemVerRange) => Promise<SemVerRange>;\n};\n\n/**\n * Auto-magically detects which SnapLocation object to create based on the provided {@link location}.\n *\n * @param location - A {@link https://github.com/MetaMask/SIPs/blob/main/SIPS/sip-8.md SIP-8} uri.\n * @param opts - NPM options and feature flags.\n * @returns SnapLocation based on url.\n */\nexport function detectSnapLocation(\n location: string | URL,\n opts?: DetectSnapLocationOptions,\n): SnapLocation {\n const allowHttp = opts?.allowHttp ?? false;\n const allowLocal = opts?.allowLocal ?? false;\n const root = new URL(location);\n switch (root.protocol) {\n case 'npm:':\n return new NpmLocation(root, opts);\n case 'local:':\n assert(allowLocal, new TypeError('Fetching local snaps is disabled.'));\n return new LocalLocation(root, opts);\n case 'http:':\n case 'https:':\n assert(\n allowHttp,\n new TypeError('Fetching snaps through http/https is disabled.'),\n );\n return new HttpLocation(root, opts);\n default:\n throw new TypeError(\n `Unrecognized \"${root.protocol}\" snap location protocol.`,\n );\n }\n}\n"]}
|
package/dist/chunk-4CA3O64H.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/snaps/registry/registry.ts
|
|
2
|
-
var SnapsRegistryStatus = /* @__PURE__ */ ((SnapsRegistryStatus2) => {
|
|
3
|
-
SnapsRegistryStatus2[SnapsRegistryStatus2["Unverified"] = 0] = "Unverified";
|
|
4
|
-
SnapsRegistryStatus2[SnapsRegistryStatus2["Blocked"] = 1] = "Blocked";
|
|
5
|
-
SnapsRegistryStatus2[SnapsRegistryStatus2["Verified"] = 2] = "Verified";
|
|
6
|
-
SnapsRegistryStatus2[SnapsRegistryStatus2["Unavailable"] = 3] = "Unavailable";
|
|
7
|
-
return SnapsRegistryStatus2;
|
|
8
|
-
})(SnapsRegistryStatus || {});
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
exports.SnapsRegistryStatus = SnapsRegistryStatus;
|
|
13
|
-
//# sourceMappingURL=chunk-4CA3O64H.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/snaps/registry/registry.ts"],"names":["SnapsRegistryStatus"],"mappings":";AAYO,IAAK,sBAAL,kBAAKA,yBAAL;AACL,EAAAA,0CAAA,gBAAa,KAAb;AACA,EAAAA,0CAAA,aAAU,KAAV;AACA,EAAAA,0CAAA,cAAW,KAAX;AACA,EAAAA,0CAAA,iBAAc,KAAd;AAJU,SAAAA;AAAA,GAAA","sourcesContent":["import type {\n BlockReason,\n SnapsRegistryDatabase,\n} from '@metamask/snaps-registry';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport type { SemVerRange, SemVerVersion } from '@metamask/utils';\n\nexport type SnapsRegistryInfo = { version: SemVerVersion; checksum: string };\nexport type SnapsRegistryRequest = Record<SnapId, SnapsRegistryInfo>;\nexport type SnapsRegistryMetadata =\n SnapsRegistryDatabase['verifiedSnaps'][SnapId]['metadata'];\n\nexport enum SnapsRegistryStatus {\n Unverified = 0,\n Blocked = 1,\n Verified = 2,\n Unavailable = 3,\n}\n\nexport type SnapsRegistryResult = {\n status: SnapsRegistryStatus;\n reason?: BlockReason;\n};\n\nexport type SnapsRegistry = {\n get(\n snaps: SnapsRegistryRequest,\n ): Promise<Record<SnapId, SnapsRegistryResult>>;\n\n update(): Promise<void>;\n\n /**\n * Find an allowlisted version within a specified version range.\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.\n * @throws If an allowlisted version does not exist within the version range.\n */\n resolveVersion(\n snapId: SnapId,\n versionRange: SemVerRange,\n ): Promise<SemVerRange>;\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 getMetadata(snapId: SnapId): Promise<SnapsRegistryMetadata | null>;\n};\n"]}
|
package/dist/chunk-4HVWEABQ.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// src/logging.ts
|
|
2
|
-
import { snapsLogger } from "@metamask/snaps-utils";
|
|
3
|
-
import { createModuleLogger } from "@metamask/utils";
|
|
4
|
-
var log = createModuleLogger(snapsLogger, "snaps-controllers");
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
log
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=chunk-4HVWEABQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/logging.ts"],"sourcesContent":["import { snapsLogger } from '@metamask/snaps-utils';\nimport { createModuleLogger } from '@metamask/utils';\n\n/**\n * A logging function specific to this package. The log messages don't show up\n * by default, but they can be enabled by setting the environment variable:\n * - `DEBUG=metamask:snaps:snaps-controllers`, or\n * - `DEBUG=metamask:snaps:*` to enable all logs from `@metamask/snaps-*`.\n */\nexport const log = createModuleLogger(snapsLogger, 'snaps-controllers');\n"],"mappings":";AAAA,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;AAQ5B,IAAM,MAAM,mBAAmB,aAAa,mBAAmB;","names":[]}
|
package/dist/chunk-4M2FX2AT.mjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
// src/snaps/constants.ts
|
|
2
|
-
import { SnapEndowments } from "@metamask/snaps-rpc-methods";
|
|
3
|
-
var ALLOWED_PERMISSIONS = Object.freeze([
|
|
4
|
-
"snap_dialog",
|
|
5
|
-
"snap_manageState",
|
|
6
|
-
"snap_notify",
|
|
7
|
-
"snap_getLocale",
|
|
8
|
-
SnapEndowments.Cronjob,
|
|
9
|
-
SnapEndowments.HomePage,
|
|
10
|
-
SnapEndowments.LifecycleHooks,
|
|
11
|
-
SnapEndowments.EthereumProvider,
|
|
12
|
-
SnapEndowments.TransactionInsight,
|
|
13
|
-
SnapEndowments.SignatureInsight
|
|
14
|
-
]);
|
|
15
|
-
var LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {
|
|
16
|
-
algorithm: "PBKDF2",
|
|
17
|
-
params: {
|
|
18
|
-
iterations: 1e4
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export {
|
|
23
|
-
ALLOWED_PERMISSIONS,
|
|
24
|
-
LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=chunk-4M2FX2AT.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/snaps/constants.ts"],"sourcesContent":["import { SnapEndowments } from '@metamask/snaps-rpc-methods';\n\n// These permissions are allowed without being on the allowlist.\nexport const ALLOWED_PERMISSIONS = Object.freeze([\n 'snap_dialog',\n 'snap_manageState',\n 'snap_notify',\n 'snap_getLocale',\n SnapEndowments.Cronjob,\n SnapEndowments.HomePage,\n SnapEndowments.LifecycleHooks,\n SnapEndowments.EthereumProvider,\n SnapEndowments.TransactionInsight,\n SnapEndowments.SignatureInsight,\n]);\n\nexport const LEGACY_ENCRYPTION_KEY_DERIVATION_OPTIONS = {\n algorithm: 'PBKDF2' as const,\n params: {\n iterations: 10_000,\n },\n};\n"],"mappings":";AAAA,SAAS,sBAAsB;AAGxB,IAAM,sBAAsB,OAAO,OAAO;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AACjB,CAAC;AAEM,IAAM,2CAA2C;AAAA,EACtD,WAAW;AAAA,EACX,QAAQ;AAAA,IACN,YAAY;AAAA,EACd;AACF;","names":[]}
|
package/dist/chunk-4URGXJP7.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";//# sourceMappingURL=chunk-4URGXJP7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/dist/chunk-6EZSNS4O.mjs
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// src/fsm.ts
|
|
2
|
-
import { assert } from "@metamask/utils";
|
|
3
|
-
import { InterpreterStatus } from "@xstate/fsm";
|
|
4
|
-
function validateMachine(machine) {
|
|
5
|
-
assert("_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
|
-
assert(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) => assert(
|
|
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
|
-
assert(!onInitialCalled || state.changed, "Invalid state transition");
|
|
43
|
-
onInitialCalled = true;
|
|
44
|
-
});
|
|
45
|
-
const ogSend = interpreter.send.bind(interpreter);
|
|
46
|
-
interpreter.send = (...args) => {
|
|
47
|
-
assert(
|
|
48
|
-
interpreter.status === InterpreterStatus.Running,
|
|
49
|
-
"Interpreter is stopped"
|
|
50
|
-
);
|
|
51
|
-
return ogSend(...args);
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export {
|
|
56
|
-
validateMachine,
|
|
57
|
-
forceStrict
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=chunk-6EZSNS4O.mjs.map
|