@metamask/snaps-controllers 9.5.0 → 9.7.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 +21 -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 +28 -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 +30 -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} +4 -3
- 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} +6 -4
- 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 +1898 -0
- package/dist/snaps/SnapController.cjs.map +1 -0
- package/dist/{types/snaps/SnapController.d.ts → snaps/SnapController.d.cts} +34 -20
- package/dist/snaps/SnapController.d.cts.map +1 -0
- package/dist/snaps/SnapController.d.mts +668 -0
- package/dist/snaps/SnapController.d.mts.map +1 -0
- package/dist/snaps/SnapController.mjs +1892 -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
|
@@ -0,0 +1,668 @@
|
|
|
1
|
+
import type { AddApprovalRequest, UpdateRequestState } from "@metamask/approval-controller";
|
|
2
|
+
import type { RestrictedControllerMessenger, ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
|
|
3
|
+
import { BaseController } from "@metamask/base-controller";
|
|
4
|
+
import type { GetEndowments, GetPermissions, GetSubjectMetadata, AddSubjectMetadata, GetSubjects, GrantPermissions, HasPermission, HasPermissions, RevokeAllPermissions, RevokePermissionForAllSubjects, RevokePermissions, UpdateCaveat } from "@metamask/permission-controller";
|
|
5
|
+
import type { BlockReason } from "@metamask/snaps-registry";
|
|
6
|
+
import type { RequestSnapsParams, RequestSnapsResult, SnapId } from "@metamask/snaps-sdk";
|
|
7
|
+
import { AuxiliaryFileEncoding } from "@metamask/snaps-sdk";
|
|
8
|
+
import type { PersistedSnap, Snap, SnapManifest, SnapRpcHookArgs, StatusContext, StatusEvents, StatusStates, TruncatedSnap } from "@metamask/snaps-utils";
|
|
9
|
+
import { SnapStatusEvents } from "@metamask/snaps-utils";
|
|
10
|
+
import type { Json, NonEmptyArray } from "@metamask/utils";
|
|
11
|
+
import type { StateMachine } from "@xstate/fsm";
|
|
12
|
+
import type { Patch } from "immer";
|
|
13
|
+
import type { CreateInterface, GetInterface } from "../interface/index.mjs";
|
|
14
|
+
import type { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from "../services/index.mjs";
|
|
15
|
+
import { type ExportableKeyEncryptor } from "../types/index.mjs";
|
|
16
|
+
import type { SnapLocation } from "./location/index.mjs";
|
|
17
|
+
import { detectSnapLocation } from "./location/index.mjs";
|
|
18
|
+
import type { GetMetadata, GetResult, ResolveVersion, SnapsRegistryMetadata, Update } from "./registry/index.mjs";
|
|
19
|
+
import { Timer } from "./Timer.mjs";
|
|
20
|
+
export declare const controllerName = "SnapController";
|
|
21
|
+
export declare const SNAP_APPROVAL_INSTALL = "wallet_installSnap";
|
|
22
|
+
export declare const SNAP_APPROVAL_UPDATE = "wallet_updateSnap";
|
|
23
|
+
export declare const SNAP_APPROVAL_RESULT = "wallet_installSnapResult";
|
|
24
|
+
export type PendingRequest = {
|
|
25
|
+
requestId: unknown;
|
|
26
|
+
timer: Timer;
|
|
27
|
+
};
|
|
28
|
+
export interface PreinstalledSnapFile {
|
|
29
|
+
path: string;
|
|
30
|
+
value: string | Uint8Array;
|
|
31
|
+
}
|
|
32
|
+
export interface PreinstalledSnap {
|
|
33
|
+
snapId: SnapId;
|
|
34
|
+
manifest: SnapManifest;
|
|
35
|
+
files: PreinstalledSnapFile[];
|
|
36
|
+
removable?: boolean;
|
|
37
|
+
hidden?: boolean;
|
|
38
|
+
hideSnapBranding?: boolean;
|
|
39
|
+
}
|
|
40
|
+
type SnapRpcHandler = (options: SnapRpcHookArgs & {
|
|
41
|
+
timeout: number;
|
|
42
|
+
}) => Promise<unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* A wrapper type for any data stored during runtime of Snaps.
|
|
45
|
+
* It is not persisted in state as it contains non-serializable data and is only relevant for the
|
|
46
|
+
* current session.
|
|
47
|
+
*/
|
|
48
|
+
export interface SnapRuntimeData {
|
|
49
|
+
/**
|
|
50
|
+
* A promise that resolves when the Snap has finished installing
|
|
51
|
+
*/
|
|
52
|
+
installPromise: null | Promise<PersistedSnap>;
|
|
53
|
+
/**
|
|
54
|
+
* A Unix timestamp for the last time the Snap received an RPC request
|
|
55
|
+
*/
|
|
56
|
+
lastRequest: null | number;
|
|
57
|
+
/**
|
|
58
|
+
* The current number of active references where this Snap is being used
|
|
59
|
+
*/
|
|
60
|
+
activeReferences: number;
|
|
61
|
+
/**
|
|
62
|
+
* The current pending inbound requests, meaning requests that are processed by snaps.
|
|
63
|
+
*/
|
|
64
|
+
pendingInboundRequests: PendingRequest[];
|
|
65
|
+
/**
|
|
66
|
+
* The current pending outbound requests, meaning requests made from snaps towards the MetaMask
|
|
67
|
+
* extension.
|
|
68
|
+
*/
|
|
69
|
+
pendingOutboundRequests: number;
|
|
70
|
+
/**
|
|
71
|
+
* RPC handler designated for the Snap
|
|
72
|
+
*/
|
|
73
|
+
rpcHandler: null | SnapRpcHandler;
|
|
74
|
+
/**
|
|
75
|
+
* The finite state machine interpreter for possible states that the Snap can be in such as
|
|
76
|
+
* stopped, running, blocked
|
|
77
|
+
*
|
|
78
|
+
* @see {@link SnapController:constructor}
|
|
79
|
+
*/
|
|
80
|
+
interpreter: StateMachine.Service<StatusContext, StatusEvents, StatusStates>;
|
|
81
|
+
/**
|
|
82
|
+
* Cached encryption key used for state encryption.
|
|
83
|
+
*/
|
|
84
|
+
encryptionKey: string | null;
|
|
85
|
+
/**
|
|
86
|
+
* Cached encryption salt used for state encryption.
|
|
87
|
+
*/
|
|
88
|
+
encryptionSalt: string | null;
|
|
89
|
+
/**
|
|
90
|
+
* A boolean flag to determine whether the Snap is currently being stopped.
|
|
91
|
+
*/
|
|
92
|
+
stopping: boolean;
|
|
93
|
+
}
|
|
94
|
+
export type SnapError = {
|
|
95
|
+
message: string;
|
|
96
|
+
code: number;
|
|
97
|
+
data?: Json;
|
|
98
|
+
};
|
|
99
|
+
type CloseAllConnectionsFunction = (origin: string) => void;
|
|
100
|
+
type StoredSnaps = Record<SnapId, Snap>;
|
|
101
|
+
export type SnapControllerState = {
|
|
102
|
+
snaps: StoredSnaps;
|
|
103
|
+
snapStates: Record<SnapId, string | null>;
|
|
104
|
+
unencryptedSnapStates: Record<SnapId, string | null>;
|
|
105
|
+
};
|
|
106
|
+
export type PersistedSnapControllerState = SnapControllerState & {
|
|
107
|
+
snaps: Record<SnapId, PersistedSnap>;
|
|
108
|
+
snapStates: Record<SnapId, string>;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Gets the specified Snap from state.
|
|
112
|
+
*/
|
|
113
|
+
export type GetSnap = {
|
|
114
|
+
type: `${typeof controllerName}:get`;
|
|
115
|
+
handler: SnapController['get'];
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Handles sending an inbound request to a snap and returns its result.
|
|
119
|
+
*/
|
|
120
|
+
export type HandleSnapRequest = {
|
|
121
|
+
type: `${typeof controllerName}:handleRequest`;
|
|
122
|
+
handler: SnapController['handleRequest'];
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Gets the specified Snap's persisted state.
|
|
126
|
+
*/
|
|
127
|
+
export type GetSnapState = {
|
|
128
|
+
type: `${typeof controllerName}:getSnapState`;
|
|
129
|
+
handler: SnapController['getSnapState'];
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Checks if the specified snap exists in state.
|
|
133
|
+
*/
|
|
134
|
+
export type HasSnap = {
|
|
135
|
+
type: `${typeof controllerName}:has`;
|
|
136
|
+
handler: SnapController['has'];
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Updates the specified Snap's persisted state.
|
|
140
|
+
*/
|
|
141
|
+
export type UpdateSnapState = {
|
|
142
|
+
type: `${typeof controllerName}:updateSnapState`;
|
|
143
|
+
handler: SnapController['updateSnapState'];
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Clears the specified Snap's persisted state.
|
|
147
|
+
*/
|
|
148
|
+
export type ClearSnapState = {
|
|
149
|
+
type: `${typeof controllerName}:clearSnapState`;
|
|
150
|
+
handler: SnapController['clearSnapState'];
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Checks all installed snaps against the blocklist.
|
|
154
|
+
*/
|
|
155
|
+
export type UpdateBlockedSnaps = {
|
|
156
|
+
type: `${typeof controllerName}:updateBlockedSnaps`;
|
|
157
|
+
handler: SnapController['updateBlockedSnaps'];
|
|
158
|
+
};
|
|
159
|
+
export type EnableSnap = {
|
|
160
|
+
type: `${typeof controllerName}:enable`;
|
|
161
|
+
handler: SnapController['enableSnap'];
|
|
162
|
+
};
|
|
163
|
+
export type DisableSnap = {
|
|
164
|
+
type: `${typeof controllerName}:disable`;
|
|
165
|
+
handler: SnapController['disableSnap'];
|
|
166
|
+
};
|
|
167
|
+
export type RemoveSnap = {
|
|
168
|
+
type: `${typeof controllerName}:remove`;
|
|
169
|
+
handler: SnapController['removeSnap'];
|
|
170
|
+
};
|
|
171
|
+
export type GetPermittedSnaps = {
|
|
172
|
+
type: `${typeof controllerName}:getPermitted`;
|
|
173
|
+
handler: SnapController['getPermittedSnaps'];
|
|
174
|
+
};
|
|
175
|
+
export type GetAllSnaps = {
|
|
176
|
+
type: `${typeof controllerName}:getAll`;
|
|
177
|
+
handler: SnapController['getAllSnaps'];
|
|
178
|
+
};
|
|
179
|
+
export type StopAllSnaps = {
|
|
180
|
+
type: `${typeof controllerName}:stopAllSnaps`;
|
|
181
|
+
handler: SnapController['stopAllSnaps'];
|
|
182
|
+
};
|
|
183
|
+
export type IncrementActiveReferences = {
|
|
184
|
+
type: `${typeof controllerName}:incrementActiveReferences`;
|
|
185
|
+
handler: SnapController['incrementActiveReferences'];
|
|
186
|
+
};
|
|
187
|
+
export type DecrementActiveReferences = {
|
|
188
|
+
type: `${typeof controllerName}:decrementActiveReferences`;
|
|
189
|
+
handler: SnapController['decrementActiveReferences'];
|
|
190
|
+
};
|
|
191
|
+
export type InstallSnaps = {
|
|
192
|
+
type: `${typeof controllerName}:install`;
|
|
193
|
+
handler: SnapController['installSnaps'];
|
|
194
|
+
};
|
|
195
|
+
export type GetRegistryMetadata = {
|
|
196
|
+
type: `${typeof controllerName}:getRegistryMetadata`;
|
|
197
|
+
handler: SnapController['getRegistryMetadata'];
|
|
198
|
+
};
|
|
199
|
+
export type DisconnectOrigin = {
|
|
200
|
+
type: `${typeof controllerName}:disconnectOrigin`;
|
|
201
|
+
handler: SnapController['removeSnapFromSubject'];
|
|
202
|
+
};
|
|
203
|
+
export type RevokeDynamicPermissions = {
|
|
204
|
+
type: `${typeof controllerName}:revokeDynamicPermissions`;
|
|
205
|
+
handler: SnapController['revokeDynamicSnapPermissions'];
|
|
206
|
+
};
|
|
207
|
+
export type GetSnapFile = {
|
|
208
|
+
type: `${typeof controllerName}:getFile`;
|
|
209
|
+
handler: SnapController['getSnapFile'];
|
|
210
|
+
};
|
|
211
|
+
export type SnapControllerGetStateAction = ControllerGetStateAction<typeof controllerName, SnapControllerState>;
|
|
212
|
+
export type SnapControllerActions = ClearSnapState | GetSnap | GetSnapState | HandleSnapRequest | HasSnap | UpdateBlockedSnaps | UpdateSnapState | EnableSnap | DisableSnap | RemoveSnap | GetPermittedSnaps | InstallSnaps | GetAllSnaps | IncrementActiveReferences | DecrementActiveReferences | GetRegistryMetadata | DisconnectOrigin | RevokeDynamicPermissions | GetSnapFile | SnapControllerGetStateAction | StopAllSnaps;
|
|
213
|
+
export type SnapStateChange = {
|
|
214
|
+
type: `${typeof controllerName}:stateChange`;
|
|
215
|
+
payload: [SnapControllerState, Patch[]];
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Emitted when an installed snap has been blocked.
|
|
219
|
+
*/
|
|
220
|
+
export type SnapBlocked = {
|
|
221
|
+
type: `${typeof controllerName}:snapBlocked`;
|
|
222
|
+
payload: [snapId: string, blockedSnapInfo?: BlockReason];
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Emitted when a snap installation or update is started.
|
|
226
|
+
*/
|
|
227
|
+
export type SnapInstallStarted = {
|
|
228
|
+
type: `${typeof controllerName}:snapInstallStarted`;
|
|
229
|
+
payload: [snapId: SnapId, origin: string, isUpdate: boolean];
|
|
230
|
+
};
|
|
231
|
+
/**
|
|
232
|
+
* Emitted when a snap installation or update failed.
|
|
233
|
+
*/
|
|
234
|
+
export type SnapInstallFailed = {
|
|
235
|
+
type: `${typeof controllerName}:snapInstallFailed`;
|
|
236
|
+
payload: [snapId: SnapId, origin: string, isUpdate: boolean, error: string];
|
|
237
|
+
};
|
|
238
|
+
/**
|
|
239
|
+
* Emitted when a snap has been started after being added and authorized during
|
|
240
|
+
* installation.
|
|
241
|
+
*/
|
|
242
|
+
export type SnapInstalled = {
|
|
243
|
+
type: `${typeof controllerName}:snapInstalled`;
|
|
244
|
+
payload: [snap: TruncatedSnap, origin: string];
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* Emitted when a snap that has previously been fully installed, is uninstalled.
|
|
248
|
+
*/
|
|
249
|
+
export type SnapUninstalled = {
|
|
250
|
+
type: `${typeof controllerName}:snapUninstalled`;
|
|
251
|
+
payload: [snap: TruncatedSnap];
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Emitted when an installed snap has been unblocked.
|
|
255
|
+
*/
|
|
256
|
+
export type SnapUnblocked = {
|
|
257
|
+
type: `${typeof controllerName}:snapUnblocked`;
|
|
258
|
+
payload: [snapId: string];
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Emitted when a snap is updated.
|
|
262
|
+
*/
|
|
263
|
+
export type SnapUpdated = {
|
|
264
|
+
type: `${typeof controllerName}:snapUpdated`;
|
|
265
|
+
payload: [snap: TruncatedSnap, oldVersion: string, origin: string];
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Emitted when a snap is rolled back.
|
|
269
|
+
*/
|
|
270
|
+
export type SnapRolledback = {
|
|
271
|
+
type: `${typeof controllerName}:snapRolledback`;
|
|
272
|
+
payload: [snap: TruncatedSnap, failedVersion: string];
|
|
273
|
+
};
|
|
274
|
+
/**
|
|
275
|
+
* Emitted when a Snap is terminated. This is different from the snap being
|
|
276
|
+
* stopped as it can also be triggered when a snap fails initialization.
|
|
277
|
+
*/
|
|
278
|
+
export type SnapTerminated = {
|
|
279
|
+
type: `${typeof controllerName}:snapTerminated`;
|
|
280
|
+
payload: [snap: TruncatedSnap];
|
|
281
|
+
};
|
|
282
|
+
/**
|
|
283
|
+
* Emitted when a Snap is enabled by a user.
|
|
284
|
+
* This is not emitted by default when installing a snap.
|
|
285
|
+
*/
|
|
286
|
+
export type SnapEnabled = {
|
|
287
|
+
type: `${typeof controllerName}:snapEnabled`;
|
|
288
|
+
payload: [snap: TruncatedSnap];
|
|
289
|
+
};
|
|
290
|
+
/**
|
|
291
|
+
* Emitted when a Snap is disabled by a user.
|
|
292
|
+
*/
|
|
293
|
+
export type SnapDisabled = {
|
|
294
|
+
type: `${typeof controllerName}:snapDisabled`;
|
|
295
|
+
payload: [snap: TruncatedSnap];
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* Emitted when there is a state change.
|
|
299
|
+
*/
|
|
300
|
+
export type SnapControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, SnapControllerState>;
|
|
301
|
+
export type SnapControllerEvents = SnapBlocked | SnapInstalled | SnapUninstalled | SnapInstallStarted | SnapInstallFailed | SnapStateChange | SnapUnblocked | SnapUpdated | SnapRolledback | SnapTerminated | SnapEnabled | SnapDisabled | SnapControllerStateChangeEvent;
|
|
302
|
+
export type AllowedActions = GetEndowments | GetPermissions | GetSubjects | GetSubjectMetadata | AddSubjectMetadata | HasPermission | HasPermissions | RevokePermissions | RevokeAllPermissions | RevokePermissionForAllSubjects | GrantPermissions | AddApprovalRequest | HandleRpcRequestAction | ExecuteSnapAction | TerminateAllSnapsAction | TerminateSnapAction | UpdateCaveat | UpdateRequestState | GetResult | GetMetadata | Update | ResolveVersion | CreateInterface | GetInterface;
|
|
303
|
+
export type AllowedEvents = ExecutionServiceEvents | SnapInstalled | SnapUpdated;
|
|
304
|
+
type SnapControllerMessenger = RestrictedControllerMessenger<typeof controllerName, SnapControllerActions | AllowedActions, SnapControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
305
|
+
type FeatureFlags = {
|
|
306
|
+
requireAllowlist?: boolean;
|
|
307
|
+
allowLocalSnaps?: boolean;
|
|
308
|
+
disableSnapInstallation?: boolean;
|
|
309
|
+
};
|
|
310
|
+
type DynamicFeatureFlags = {
|
|
311
|
+
disableSnaps?: boolean;
|
|
312
|
+
};
|
|
313
|
+
type SnapControllerArgs = {
|
|
314
|
+
/**
|
|
315
|
+
* A teardown function that allows the host to clean up its instrumentation
|
|
316
|
+
* for a running snap.
|
|
317
|
+
*/
|
|
318
|
+
closeAllConnections?: CloseAllConnectionsFunction;
|
|
319
|
+
/**
|
|
320
|
+
* A list of permissions that are allowed to be dynamic, meaning they can be revoked from the snap whenever.
|
|
321
|
+
*/
|
|
322
|
+
dynamicPermissions?: string[];
|
|
323
|
+
/**
|
|
324
|
+
* The names of endowment permissions whose values are the names of JavaScript
|
|
325
|
+
* APIs that will be added to the snap execution environment at runtime.
|
|
326
|
+
*/
|
|
327
|
+
environmentEndowmentPermissions?: string[];
|
|
328
|
+
/**
|
|
329
|
+
* Excluded permissions with its associated error message used to forbid certain permssions.
|
|
330
|
+
*/
|
|
331
|
+
excludedPermissions?: Record<string, string>;
|
|
332
|
+
/**
|
|
333
|
+
* The function that will be used by the controller fo make network requests.
|
|
334
|
+
* Should be compatible with {@link fetch}.
|
|
335
|
+
*/
|
|
336
|
+
fetchFunction?: typeof fetch;
|
|
337
|
+
/**
|
|
338
|
+
* Flags that enable or disable features in the controller.
|
|
339
|
+
* See {@link FeatureFlags}.
|
|
340
|
+
*/
|
|
341
|
+
featureFlags: FeatureFlags;
|
|
342
|
+
/**
|
|
343
|
+
* How frequently to check whether a snap is idle.
|
|
344
|
+
*/
|
|
345
|
+
idleTimeCheckInterval?: number;
|
|
346
|
+
/**
|
|
347
|
+
* The maximum amount of time that a snap may be idle.
|
|
348
|
+
*/
|
|
349
|
+
maxIdleTime?: number;
|
|
350
|
+
/**
|
|
351
|
+
* The controller messenger.
|
|
352
|
+
*/
|
|
353
|
+
messenger: SnapControllerMessenger;
|
|
354
|
+
/**
|
|
355
|
+
* The maximum amount of time a snap may take to process an RPC request,
|
|
356
|
+
* unless it is permitted to take longer.
|
|
357
|
+
*/
|
|
358
|
+
maxRequestTime?: number;
|
|
359
|
+
/**
|
|
360
|
+
* The npm registry URL that will be used to fetch published snaps.
|
|
361
|
+
*/
|
|
362
|
+
npmRegistryUrl?: string;
|
|
363
|
+
/**
|
|
364
|
+
* Persisted state that will be used for rehydration.
|
|
365
|
+
*/
|
|
366
|
+
state?: PersistedSnapControllerState;
|
|
367
|
+
/**
|
|
368
|
+
* A function that takes Snap Id and converts it into a class that fetches files.
|
|
369
|
+
*
|
|
370
|
+
* Used for test overrides.
|
|
371
|
+
*/
|
|
372
|
+
detectSnapLocation?: typeof detectSnapLocation;
|
|
373
|
+
/**
|
|
374
|
+
* A list of snaps to be preinstalled into the SnapController state on initialization.
|
|
375
|
+
*/
|
|
376
|
+
preinstalledSnaps?: PreinstalledSnap[] | null;
|
|
377
|
+
/**
|
|
378
|
+
* A utility object containing functions required for state encryption.
|
|
379
|
+
*/
|
|
380
|
+
encryptor: ExportableKeyEncryptor;
|
|
381
|
+
/**
|
|
382
|
+
* A hook to access the mnemonic of the user's primary keyring.
|
|
383
|
+
*
|
|
384
|
+
* @returns The mnemonic as bytes.
|
|
385
|
+
*/
|
|
386
|
+
getMnemonic: () => Promise<Uint8Array>;
|
|
387
|
+
/**
|
|
388
|
+
* A hook to get dynamic feature flags at runtime.
|
|
389
|
+
*
|
|
390
|
+
* @returns The feature flags.
|
|
391
|
+
*/
|
|
392
|
+
getFeatureFlags: () => DynamicFeatureFlags;
|
|
393
|
+
};
|
|
394
|
+
export declare class SnapController extends BaseController<string, SnapControllerState, SnapControllerMessenger> {
|
|
395
|
+
#private;
|
|
396
|
+
private readonly maxRequestTime;
|
|
397
|
+
constructor({ closeAllConnections, messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonic, getFeatureFlags, }: SnapControllerArgs);
|
|
398
|
+
/**
|
|
399
|
+
* Checks all installed snaps against the block list and
|
|
400
|
+
* blocks/unblocks snaps as appropriate. See {@link SnapController.blockSnap}
|
|
401
|
+
* for more information.
|
|
402
|
+
*/
|
|
403
|
+
updateBlockedSnaps(): Promise<void>;
|
|
404
|
+
_onUnhandledSnapError(snapId: string, _error: SnapErrorJson): void;
|
|
405
|
+
_onOutboundRequest(snapId: string): void;
|
|
406
|
+
_onOutboundResponse(snapId: string): void;
|
|
407
|
+
/**
|
|
408
|
+
* Starts the given snap. Throws an error if no such snap exists
|
|
409
|
+
* or if it is already running.
|
|
410
|
+
*
|
|
411
|
+
* @param snapId - The id of the Snap to start.
|
|
412
|
+
*/
|
|
413
|
+
startSnap(snapId: SnapId): Promise<void>;
|
|
414
|
+
/**
|
|
415
|
+
* Enables the given snap. A snap can only be started if it is enabled. A snap
|
|
416
|
+
* can only be enabled if it isn't blocked.
|
|
417
|
+
*
|
|
418
|
+
* @param snapId - The id of the Snap to enable.
|
|
419
|
+
*/
|
|
420
|
+
enableSnap(snapId: SnapId): void;
|
|
421
|
+
/**
|
|
422
|
+
* Disables the given snap. A snap can only be started if it is enabled.
|
|
423
|
+
*
|
|
424
|
+
* @param snapId - The id of the Snap to disable.
|
|
425
|
+
* @returns A promise that resolves once the snap has been disabled.
|
|
426
|
+
*/
|
|
427
|
+
disableSnap(snapId: SnapId): Promise<void>;
|
|
428
|
+
/**
|
|
429
|
+
* Stops the given snap, removes all hooks, closes all connections, and
|
|
430
|
+
* terminates its worker.
|
|
431
|
+
*
|
|
432
|
+
* @param snapId - The id of the Snap to stop.
|
|
433
|
+
* @param statusEvent - The Snap status event that caused the snap to be
|
|
434
|
+
* stopped.
|
|
435
|
+
*/
|
|
436
|
+
stopSnap(snapId: SnapId, statusEvent?: SnapStatusEvents.Stop | SnapStatusEvents.Crash): Promise<void>;
|
|
437
|
+
/**
|
|
438
|
+
* Stops all running snaps, removes all hooks, closes all connections, and
|
|
439
|
+
* terminates their workers.
|
|
440
|
+
*
|
|
441
|
+
* @param statusEvent - The Snap status event that caused the snap to be
|
|
442
|
+
* stopped.
|
|
443
|
+
*/
|
|
444
|
+
stopAllSnaps(statusEvent?: SnapStatusEvents.Stop | SnapStatusEvents.Crash): Promise<void>;
|
|
445
|
+
/**
|
|
446
|
+
* Returns whether the given snap is running.
|
|
447
|
+
* Throws an error if the snap doesn't exist.
|
|
448
|
+
*
|
|
449
|
+
* @param snapId - The id of the Snap to check.
|
|
450
|
+
* @returns `true` if the snap is running, otherwise `false`.
|
|
451
|
+
*/
|
|
452
|
+
isRunning(snapId: SnapId): boolean;
|
|
453
|
+
/**
|
|
454
|
+
* Returns whether the given snap has been added to state.
|
|
455
|
+
*
|
|
456
|
+
* @param snapId - The id of the Snap to check for.
|
|
457
|
+
* @returns `true` if the snap exists in the controller state, otherwise `false`.
|
|
458
|
+
*/
|
|
459
|
+
has(snapId: SnapId): boolean;
|
|
460
|
+
/**
|
|
461
|
+
* Gets the snap with the given id if it exists, including all data.
|
|
462
|
+
* This should not be used if the snap is to be serializable, as e.g.
|
|
463
|
+
* the snap sourceCode may be quite large.
|
|
464
|
+
*
|
|
465
|
+
* @param snapId - The id of the Snap to get.
|
|
466
|
+
* @returns The entire snap object from the controller state.
|
|
467
|
+
*/
|
|
468
|
+
get(snapId: string): Snap | undefined;
|
|
469
|
+
/**
|
|
470
|
+
* Gets the snap with the given id, throws if doesn't.
|
|
471
|
+
* This should not be used if the snap is to be serializable, as e.g.
|
|
472
|
+
* the snap sourceCode may be quite large.
|
|
473
|
+
*
|
|
474
|
+
* @see {@link SnapController.get}
|
|
475
|
+
* @throws {@link Error}. If the snap doesn't exist
|
|
476
|
+
* @param snapId - The id of the snap to get.
|
|
477
|
+
* @returns The entire snap object.
|
|
478
|
+
*/
|
|
479
|
+
getExpect(snapId: SnapId): Snap;
|
|
480
|
+
/**
|
|
481
|
+
* Gets the snap with the given id if it exists, excluding any
|
|
482
|
+
* non-serializable or expensive-to-serialize data.
|
|
483
|
+
*
|
|
484
|
+
* @param snapId - The id of the Snap to get.
|
|
485
|
+
* @returns A truncated version of the snap state, that is less expensive to serialize.
|
|
486
|
+
*/
|
|
487
|
+
getTruncated(snapId: SnapId): TruncatedSnap | null;
|
|
488
|
+
/**
|
|
489
|
+
* Gets the snap with the given id, throw if it doesn't exist.
|
|
490
|
+
*
|
|
491
|
+
* @throws {@link Error}. If snap doesn't exist
|
|
492
|
+
* @param snapId - The id of the snap to get.
|
|
493
|
+
* @returns A truncated version of the snap state, that is less expensive to serialize.
|
|
494
|
+
*/
|
|
495
|
+
getTruncatedExpect(snapId: SnapId): TruncatedSnap;
|
|
496
|
+
/**
|
|
497
|
+
* Updates the own state of the snap with the given id.
|
|
498
|
+
* This is distinct from the state MetaMask uses to manage snaps.
|
|
499
|
+
*
|
|
500
|
+
* @param snapId - The id of the Snap whose state should be updated.
|
|
501
|
+
* @param newSnapState - The new state of the snap.
|
|
502
|
+
* @param encrypted - A flag to indicate whether to use encrypted storage or not.
|
|
503
|
+
*/
|
|
504
|
+
updateSnapState(snapId: SnapId, newSnapState: Record<string, Json>, encrypted: boolean): Promise<void>;
|
|
505
|
+
/**
|
|
506
|
+
* Clears the state of the snap with the given id.
|
|
507
|
+
* This is distinct from the state MetaMask uses to manage snaps.
|
|
508
|
+
*
|
|
509
|
+
* @param snapId - The id of the Snap whose state should be cleared.
|
|
510
|
+
* @param encrypted - A flag to indicate whether to use encrypted storage or not.
|
|
511
|
+
*/
|
|
512
|
+
clearSnapState(snapId: SnapId, encrypted: boolean): void;
|
|
513
|
+
/**
|
|
514
|
+
* Gets the own state of the snap with the given id.
|
|
515
|
+
* This is distinct from the state MetaMask uses to manage snaps.
|
|
516
|
+
*
|
|
517
|
+
* @param snapId - The id of the Snap whose state to get.
|
|
518
|
+
* @param encrypted - A flag to indicate whether to use encrypted storage or not.
|
|
519
|
+
* @returns The requested snap state or null if no state exists.
|
|
520
|
+
*/
|
|
521
|
+
getSnapState(snapId: SnapId, encrypted: boolean): Promise<Json>;
|
|
522
|
+
/**
|
|
523
|
+
* Gets a static auxiliary snap file in a chosen file encoding.
|
|
524
|
+
*
|
|
525
|
+
* @param snapId - The id of the Snap whose state to get.
|
|
526
|
+
* @param path - The path to the requested file.
|
|
527
|
+
* @param encoding - An optional requested file encoding.
|
|
528
|
+
* @returns The file requested in the chosen file encoding or null if the file is not found.
|
|
529
|
+
*/
|
|
530
|
+
getSnapFile(snapId: SnapId, path: string, encoding?: AuxiliaryFileEncoding): Promise<string | null>;
|
|
531
|
+
/**
|
|
532
|
+
* Completely clear the controller's state: delete all associated data,
|
|
533
|
+
* handlers, event listeners, and permissions; tear down all snap providers.
|
|
534
|
+
*/
|
|
535
|
+
clearState(): Promise<void>;
|
|
536
|
+
/**
|
|
537
|
+
* Removes the given snap from state, and clears all associated handlers
|
|
538
|
+
* and listeners.
|
|
539
|
+
*
|
|
540
|
+
* @param snapId - The id of the Snap.
|
|
541
|
+
* @returns A promise that resolves once the snap has been removed.
|
|
542
|
+
*/
|
|
543
|
+
removeSnap(snapId: SnapId): Promise<void>;
|
|
544
|
+
/**
|
|
545
|
+
* Stops the given snaps, removes them from state, and clears all associated
|
|
546
|
+
* permissions, handlers, and listeners.
|
|
547
|
+
*
|
|
548
|
+
* @param snapIds - The ids of the Snaps.
|
|
549
|
+
*/
|
|
550
|
+
removeSnaps(snapIds: SnapId[]): Promise<void>;
|
|
551
|
+
/**
|
|
552
|
+
* Removes a snap's permission (caveat) from the specified subject.
|
|
553
|
+
*
|
|
554
|
+
* @param origin - The origin from which to remove the snap.
|
|
555
|
+
* @param snapId - The id of the snap to remove.
|
|
556
|
+
*/
|
|
557
|
+
removeSnapFromSubject(origin: string, snapId: SnapId): void;
|
|
558
|
+
/**
|
|
559
|
+
* Checks if a list of permissions are dynamic and allowed to be revoked, if they are they will all be revoked.
|
|
560
|
+
*
|
|
561
|
+
* @param snapId - The snap ID.
|
|
562
|
+
* @param permissionNames - The names of the permissions.
|
|
563
|
+
* @throws If non-dynamic permissions are passed.
|
|
564
|
+
*/
|
|
565
|
+
revokeDynamicSnapPermissions(snapId: string, permissionNames: NonEmptyArray<string>): void;
|
|
566
|
+
/**
|
|
567
|
+
* Handles incrementing the activeReferences counter.
|
|
568
|
+
*
|
|
569
|
+
* @param snapId - The snap id of the snap that was referenced.
|
|
570
|
+
*/
|
|
571
|
+
incrementActiveReferences(snapId: SnapId): void;
|
|
572
|
+
/**
|
|
573
|
+
* Handles decrement the activeReferences counter.
|
|
574
|
+
*
|
|
575
|
+
* @param snapId - The snap id of the snap that was referenced..
|
|
576
|
+
*/
|
|
577
|
+
decrementActiveReferences(snapId: SnapId): void;
|
|
578
|
+
/**
|
|
579
|
+
* Gets all snaps in their truncated format.
|
|
580
|
+
*
|
|
581
|
+
* @returns All installed snaps in their truncated format.
|
|
582
|
+
*/
|
|
583
|
+
getAllSnaps(): TruncatedSnap[];
|
|
584
|
+
/**
|
|
585
|
+
* Gets the serialized permitted snaps of the given origin, if any.
|
|
586
|
+
*
|
|
587
|
+
* @param origin - The origin whose permitted snaps to retrieve.
|
|
588
|
+
* @returns The serialized permitted snaps for the origin.
|
|
589
|
+
*/
|
|
590
|
+
getPermittedSnaps(origin: string): RequestSnapsResult;
|
|
591
|
+
/**
|
|
592
|
+
* Installs the snaps requested by the given origin, returning the snap
|
|
593
|
+
* object if the origin is permitted to install it, and an authorization error
|
|
594
|
+
* otherwise.
|
|
595
|
+
*
|
|
596
|
+
* @param origin - The origin that requested to install the snaps.
|
|
597
|
+
* @param requestedSnaps - The snaps to install.
|
|
598
|
+
* @returns An object of snap ids and snap objects, or errors if a
|
|
599
|
+
* snap couldn't be installed.
|
|
600
|
+
*/
|
|
601
|
+
installSnaps(origin: string, requestedSnaps: RequestSnapsParams): Promise<RequestSnapsResult>;
|
|
602
|
+
/**
|
|
603
|
+
* Adds, authorizes, and runs the given snap with a snap provider.
|
|
604
|
+
* Results from this method should be efficiently serializable.
|
|
605
|
+
*
|
|
606
|
+
* @param origin - The origin requesting the snap.
|
|
607
|
+
* @param snapId - The id of the snap.
|
|
608
|
+
* @param location - The location implementation of the snap.
|
|
609
|
+
* @param versionRange - The semver range of the snap to install.
|
|
610
|
+
* @returns The resulting snap object, or an error if something went wrong.
|
|
611
|
+
*/
|
|
612
|
+
private processRequestedSnap;
|
|
613
|
+
/**
|
|
614
|
+
* Updates an installed snap. The flow is similar to
|
|
615
|
+
* {@link SnapController.installSnaps}. The user will be asked if they want
|
|
616
|
+
* to update, then approve any permission changes, and finally the snap will
|
|
617
|
+
* be restarted.
|
|
618
|
+
*
|
|
619
|
+
* The update will fail if the user rejects any prompt or if the new version
|
|
620
|
+
* of the snap is blocked.
|
|
621
|
+
*
|
|
622
|
+
* If the original version of the snap was blocked and the update succeeded,
|
|
623
|
+
* the snap will be unblocked and enabled before it is restarted.
|
|
624
|
+
*
|
|
625
|
+
* @param origin - The origin requesting the snap update.
|
|
626
|
+
* @param snapId - The id of the Snap to be updated.
|
|
627
|
+
* @param location - The location implementation of the snap.
|
|
628
|
+
* @param newVersionRange - A semver version range in which the maximum version will be chosen.
|
|
629
|
+
* @param emitEvent - An optional boolean flag to indicate whether this update should emit an event.
|
|
630
|
+
* @returns The snap metadata if updated, `null` otherwise.
|
|
631
|
+
*/
|
|
632
|
+
updateSnap(origin: string, snapId: SnapId, location: SnapLocation, newVersionRange?: string, emitEvent?: boolean): Promise<TruncatedSnap>;
|
|
633
|
+
/**
|
|
634
|
+
* Get metadata for the given snap ID.
|
|
635
|
+
*
|
|
636
|
+
* @param snapId - The ID of the snap to get metadata for.
|
|
637
|
+
* @returns The metadata for the given snap ID, or `null` if the snap is not
|
|
638
|
+
* verified.
|
|
639
|
+
*/
|
|
640
|
+
getRegistryMetadata(snapId: SnapId): Promise<SnapsRegistryMetadata | null>;
|
|
641
|
+
/**
|
|
642
|
+
* Initiates a request for the given snap's initial permissions.
|
|
643
|
+
* Must be called in order. See processRequestedSnap.
|
|
644
|
+
*
|
|
645
|
+
* This function is not hash private yet because of tests.
|
|
646
|
+
*
|
|
647
|
+
* @param snapId - The id of the Snap.
|
|
648
|
+
* @param pendingApproval - Pending approval to update.
|
|
649
|
+
* @returns The snap's approvedPermissions.
|
|
650
|
+
*/
|
|
651
|
+
private authorize;
|
|
652
|
+
destroy(): void;
|
|
653
|
+
/**
|
|
654
|
+
* Passes a JSON-RPC request object to the RPC handler function of a snap.
|
|
655
|
+
*
|
|
656
|
+
* @param options - A bag of options.
|
|
657
|
+
* @param options.snapId - The ID of the recipient snap.
|
|
658
|
+
* @param options.origin - The origin of the RPC request.
|
|
659
|
+
* @param options.handler - The handler to trigger on the snap for the request.
|
|
660
|
+
* @param options.request - The JSON-RPC request object.
|
|
661
|
+
* @returns The result of the JSON-RPC request.
|
|
662
|
+
*/
|
|
663
|
+
handleRequest({ snapId, origin, handler: handlerType, request: rawRequest, }: SnapRpcHookArgs & {
|
|
664
|
+
snapId: SnapId;
|
|
665
|
+
}): Promise<unknown>;
|
|
666
|
+
}
|
|
667
|
+
export {};
|
|
668
|
+
//# sourceMappingURL=SnapController.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnapController.d.mts","sourceRoot":"","sources":["../../src/snaps/SnapController.ts"],"names":[],"mappings":"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"}
|