@metamask/snaps-controllers 0.38.0-flask.1 → 1.0.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 +568 -11
- package/dist/{types/cronjob → cronjob}/CronjobController.d.ts +6 -7
- package/dist/cronjob/CronjobController.js +248 -0
- package/dist/cronjob/CronjobController.js.map +1 -0
- package/dist/cronjob/index.js +18 -0
- package/dist/cronjob/index.js.map +1 -0
- package/dist/{types/fsm.d.ts → fsm.d.ts} +1 -1
- package/dist/fsm.js +75 -0
- package/dist/fsm.js.map +1 -0
- package/dist/{types/index.d.ts → index.d.ts} +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/logging.js +13 -0
- package/dist/logging.js.map +1 -0
- package/dist/multichain/MultiChainController.d.ts +137 -0
- package/dist/multichain/MultiChainController.js +339 -0
- package/dist/multichain/MultiChainController.js.map +1 -0
- package/dist/multichain/index.d.ts +3 -0
- package/dist/multichain/index.js +20 -0
- package/dist/multichain/index.js.map +1 -0
- package/dist/multichain/matching.d.ts +9 -0
- package/dist/multichain/matching.js +57 -0
- package/dist/multichain/matching.js.map +1 -0
- package/dist/multichain/middleware.d.ts +14 -0
- package/dist/multichain/middleware.js +42 -0
- package/dist/multichain/middleware.js.map +1 -0
- package/dist/{types/services → services}/AbstractExecutionService.d.ts +4 -4
- package/dist/services/AbstractExecutionService.js +318 -0
- package/dist/services/AbstractExecutionService.js.map +1 -0
- package/dist/{types/services → services}/ExecutionService.d.ts +3 -3
- package/dist/services/ExecutionService.js +4 -0
- package/dist/services/ExecutionService.js.map +1 -0
- package/dist/{types/services → services}/browser.d.ts +0 -2
- package/dist/services/browser.js +22 -0
- package/dist/services/browser.js.map +1 -0
- package/dist/{types/services → services}/iframe/IframeExecutionService.d.ts +2 -3
- package/dist/services/iframe/IframeExecutionService.js +30 -0
- package/dist/services/iframe/IframeExecutionService.js.map +1 -0
- package/dist/services/iframe/index.js +18 -0
- package/dist/services/iframe/index.js.map +1 -0
- package/dist/{types/services → services}/index.d.ts +0 -2
- package/dist/services/index.js +22 -0
- package/dist/services/index.js.map +1 -0
- package/dist/{types/services → services}/node/NodeProcessExecutionService.d.ts +3 -4
- package/dist/services/node/NodeProcessExecutionService.js +18 -0
- package/dist/services/node/NodeProcessExecutionService.js.map +1 -0
- package/dist/{types/services → services}/node/NodeThreadExecutionService.d.ts +2 -3
- package/dist/services/node/NodeThreadExecutionService.js +19 -0
- package/dist/services/node/NodeThreadExecutionService.js.map +1 -0
- package/dist/services/node/index.js +19 -0
- package/dist/services/node/index.js.map +1 -0
- package/dist/{types/services → services}/offscreen/OffscreenExecutionService.d.ts +3 -4
- package/dist/services/offscreen/OffscreenExecutionService.js +100 -0
- package/dist/services/offscreen/OffscreenExecutionService.js.map +1 -0
- package/dist/{types/services/ProxyPostMessageStream.d.ts → services/offscreen/OffscreenPostMessageStream.d.ts} +10 -10
- package/dist/services/offscreen/OffscreenPostMessageStream.js +66 -0
- package/dist/services/offscreen/OffscreenPostMessageStream.js.map +1 -0
- package/dist/services/offscreen/index.d.ts +2 -0
- package/dist/services/offscreen/index.js +19 -0
- package/dist/services/offscreen/index.js.map +1 -0
- package/dist/snaps/RequestQueue.js +44 -0
- package/dist/snaps/RequestQueue.js.map +1 -0
- package/dist/{types/snaps → snaps}/SnapController.d.ts +38 -62
- package/dist/snaps/SnapController.js +1478 -0
- package/dist/snaps/SnapController.js.map +1 -0
- package/dist/snaps/Timer.js +86 -0
- package/dist/snaps/Timer.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/cronjob.d.ts +3 -5
- package/dist/snaps/endowments/cronjob.js +105 -0
- package/dist/snaps/endowments/cronjob.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/enum.d.ts +2 -2
- package/dist/snaps/endowments/enum.js +15 -0
- package/dist/snaps/endowments/enum.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/ethereum-provider.d.ts +1 -2
- package/dist/snaps/endowments/ethereum-provider.js +32 -0
- package/dist/snaps/endowments/ethereum-provider.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/index.d.ts +14 -11
- package/dist/snaps/endowments/index.js +60 -0
- package/dist/snaps/endowments/index.js.map +1 -0
- package/dist/snaps/endowments/keyring.d.ts +40 -0
- package/dist/snaps/endowments/keyring.js +103 -0
- package/dist/snaps/endowments/keyring.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/long-running.d.ts +1 -2
- package/dist/snaps/endowments/long-running.js +29 -0
- package/dist/snaps/endowments/long-running.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/network-access.d.ts +1 -2
- package/dist/snaps/endowments/network-access.js +30 -0
- package/dist/snaps/endowments/network-access.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/rpc.d.ts +3 -5
- package/dist/snaps/endowments/rpc.js +92 -0
- package/dist/snaps/endowments/rpc.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/transaction-insight.d.ts +2 -3
- package/dist/snaps/endowments/transaction-insight.js +106 -0
- package/dist/snaps/endowments/transaction-insight.js.map +1 -0
- package/dist/{types/snaps → snaps}/endowments/web-assembly.d.ts +1 -2
- package/dist/snaps/endowments/web-assembly.js +31 -0
- package/dist/snaps/endowments/web-assembly.js.map +1 -0
- package/dist/{types/snaps → snaps}/index.d.ts +0 -2
- package/dist/snaps/index.js +21 -0
- package/dist/snaps/index.js.map +1 -0
- package/dist/{types/snaps → snaps}/location/http.d.ts +2 -3
- package/dist/{esm/snaps → snaps}/location/http.js +31 -52
- package/dist/snaps/location/http.js.map +1 -0
- package/dist/snaps/location/index.js +21 -0
- package/dist/snaps/location/index.js.map +1 -0
- package/dist/{types/snaps → snaps}/location/local.d.ts +3 -3
- package/dist/snaps/location/local.js +51 -0
- package/dist/snaps/location/local.js.map +1 -0
- package/dist/{types/snaps → snaps}/location/location.d.ts +2 -2
- package/dist/snaps/location/location.js +34 -0
- package/dist/snaps/location/location.js.map +1 -0
- package/dist/snaps/location/npm.d.ts +28 -0
- package/dist/{esm/snaps → snaps}/location/npm.js +117 -141
- package/dist/snaps/location/npm.js.map +1 -0
- package/dist/snaps/registry/index.js +19 -0
- package/dist/snaps/registry/index.js.map +1 -0
- package/dist/{types/snaps → snaps}/registry/json.d.ts +4 -5
- package/dist/snaps/registry/json.js +171 -0
- package/dist/snaps/registry/json.js.map +1 -0
- package/dist/{types/snaps → snaps}/registry/registry.d.ts +5 -5
- package/dist/snaps/registry/registry.js +11 -0
- package/dist/snaps/registry/registry.js.map +1 -0
- package/dist/snaps/selectors.d.ts +2 -0
- package/dist/snaps/selectors.js +6 -0
- package/dist/snaps/selectors.js.map +1 -0
- package/dist/{types/utils.d.ts → utils.d.ts} +14 -14
- package/dist/{esm/utils.js → utils.js} +30 -21
- package/dist/utils.js.map +1 -0
- package/package.json +32 -46
- package/dist/cjs/cronjob/CronjobController.js +0 -290
- package/dist/cjs/cronjob/CronjobController.js.map +0 -1
- package/dist/cjs/cronjob/index.js +0 -20
- package/dist/cjs/cronjob/index.js.map +0 -1
- package/dist/cjs/fsm.js +0 -69
- package/dist/cjs/fsm.js.map +0 -1
- package/dist/cjs/index.js +0 -23
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/logging.js +0 -15
- package/dist/cjs/logging.js.map +0 -1
- package/dist/cjs/services/AbstractExecutionService.js +0 -386
- package/dist/cjs/services/AbstractExecutionService.js.map +0 -1
- package/dist/cjs/services/ExecutionService.js +0 -7
- package/dist/cjs/services/ExecutionService.js.map +0 -1
- package/dist/cjs/services/ProxyPostMessageStream.js +0 -116
- package/dist/cjs/services/ProxyPostMessageStream.js.map +0 -1
- package/dist/cjs/services/browser.js +0 -32
- package/dist/cjs/services/browser.js.map +0 -1
- package/dist/cjs/services/iframe/IframeExecutionService.js +0 -54
- package/dist/cjs/services/iframe/IframeExecutionService.js.map +0 -1
- package/dist/cjs/services/iframe/index.js +0 -20
- package/dist/cjs/services/iframe/index.js.map +0 -1
- package/dist/cjs/services/index.js +0 -32
- package/dist/cjs/services/index.js.map +0 -1
- package/dist/cjs/services/node/NodeProcessExecutionService.js +0 -30
- package/dist/cjs/services/node/NodeProcessExecutionService.js.map +0 -1
- package/dist/cjs/services/node/NodeThreadExecutionService.js +0 -30
- package/dist/cjs/services/node/NodeThreadExecutionService.js.map +0 -1
- package/dist/cjs/services/node/index.js +0 -21
- package/dist/cjs/services/node/index.js.map +0 -1
- package/dist/cjs/services/offscreen/OffscreenExecutionService.js +0 -159
- package/dist/cjs/services/offscreen/OffscreenExecutionService.js.map +0 -1
- package/dist/cjs/services/offscreen/index.js +0 -20
- package/dist/cjs/services/offscreen/index.js.map +0 -1
- package/dist/cjs/services/webworker/WebWorkerExecutionService.js +0 -148
- package/dist/cjs/services/webworker/WebWorkerExecutionService.js.map +0 -1
- package/dist/cjs/services/webworker/index.js +0 -20
- package/dist/cjs/services/webworker/index.js.map +0 -1
- package/dist/cjs/snaps/RequestQueue.js +0 -63
- package/dist/cjs/snaps/RequestQueue.js.map +0 -1
- package/dist/cjs/snaps/SnapController.js +0 -1735
- package/dist/cjs/snaps/SnapController.js.map +0 -1
- package/dist/cjs/snaps/Timer.js +0 -117
- package/dist/cjs/snaps/Timer.js.map +0 -1
- package/dist/cjs/snaps/endowments/cronjob.js +0 -100
- package/dist/cjs/snaps/endowments/cronjob.js.map +0 -1
- package/dist/cjs/snaps/endowments/enum.js +0 -23
- package/dist/cjs/snaps/endowments/enum.js.map +0 -1
- package/dist/cjs/snaps/endowments/ethereum-provider.js +0 -43
- package/dist/cjs/snaps/endowments/ethereum-provider.js.map +0 -1
- package/dist/cjs/snaps/endowments/index.js +0 -82
- package/dist/cjs/snaps/endowments/index.js.map +0 -1
- package/dist/cjs/snaps/endowments/lifecycle-hooks.js +0 -37
- package/dist/cjs/snaps/endowments/lifecycle-hooks.js.map +0 -1
- package/dist/cjs/snaps/endowments/long-running.js +0 -38
- package/dist/cjs/snaps/endowments/long-running.js.map +0 -1
- package/dist/cjs/snaps/endowments/network-access.js +0 -44
- package/dist/cjs/snaps/endowments/network-access.js.map +0 -1
- package/dist/cjs/snaps/endowments/rpc.js +0 -99
- package/dist/cjs/snaps/endowments/rpc.js.map +0 -1
- package/dist/cjs/snaps/endowments/transaction-insight.js +0 -106
- package/dist/cjs/snaps/endowments/transaction-insight.js.map +0 -1
- package/dist/cjs/snaps/endowments/web-assembly.js +0 -42
- package/dist/cjs/snaps/endowments/web-assembly.js.map +0 -1
- package/dist/cjs/snaps/index.js +0 -25
- package/dist/cjs/snaps/index.js.map +0 -1
- package/dist/cjs/snaps/location/http.js +0 -106
- package/dist/cjs/snaps/location/http.js.map +0 -1
- package/dist/cjs/snaps/location/index.js +0 -23
- package/dist/cjs/snaps/location/index.js.map +0 -1
- package/dist/cjs/snaps/location/local.js +0 -93
- package/dist/cjs/snaps/location/local.js.map +0 -1
- package/dist/cjs/snaps/location/location.js +0 -34
- package/dist/cjs/snaps/location/location.js.map +0 -1
- package/dist/cjs/snaps/location/npm.js +0 -291
- package/dist/cjs/snaps/location/npm.js.map +0 -1
- package/dist/cjs/snaps/permissions.js +0 -61
- package/dist/cjs/snaps/permissions.js.map +0 -1
- package/dist/cjs/snaps/registry/index.js +0 -21
- package/dist/cjs/snaps/registry/index.js.map +0 -1
- package/dist/cjs/snaps/registry/json.js +0 -250
- package/dist/cjs/snaps/registry/json.js.map +0 -1
- package/dist/cjs/snaps/registry/registry.js +0 -18
- package/dist/cjs/snaps/registry/registry.js.map +0 -1
- package/dist/cjs/snaps/selectors.js +0 -13
- package/dist/cjs/snaps/selectors.js.map +0 -1
- package/dist/cjs/utils.js +0 -70
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/cronjob/CronjobController.js +0 -275
- package/dist/esm/cronjob/CronjobController.js.map +0 -1
- package/dist/esm/cronjob/index.js +0 -3
- package/dist/esm/cronjob/index.js.map +0 -1
- package/dist/esm/fsm.js +0 -70
- package/dist/esm/fsm.js.map +0 -1
- package/dist/esm/index.js +0 -6
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/logging.js +0 -10
- package/dist/esm/logging.js.map +0 -1
- package/dist/esm/services/AbstractExecutionService.js +0 -369
- package/dist/esm/services/AbstractExecutionService.js.map +0 -1
- package/dist/esm/services/ExecutionService.js +0 -4
- package/dist/esm/services/ExecutionService.js.map +0 -1
- package/dist/esm/services/ProxyPostMessageStream.js +0 -109
- package/dist/esm/services/ProxyPostMessageStream.js.map +0 -1
- package/dist/esm/services/browser.js +0 -9
- package/dist/esm/services/browser.js.map +0 -1
- package/dist/esm/services/iframe/IframeExecutionService.js +0 -44
- package/dist/esm/services/iframe/IframeExecutionService.js.map +0 -1
- package/dist/esm/services/iframe/index.js +0 -3
- package/dist/esm/services/iframe/index.js.map +0 -1
- package/dist/esm/services/index.js +0 -9
- package/dist/esm/services/index.js.map +0 -1
- package/dist/esm/services/node/NodeProcessExecutionService.js +0 -20
- package/dist/esm/services/node/NodeProcessExecutionService.js.map +0 -1
- package/dist/esm/services/node/NodeThreadExecutionService.js +0 -21
- package/dist/esm/services/node/NodeThreadExecutionService.js.map +0 -1
- package/dist/esm/services/node/index.js +0 -4
- package/dist/esm/services/node/index.js.map +0 -1
- package/dist/esm/services/offscreen/OffscreenExecutionService.js +0 -149
- package/dist/esm/services/offscreen/OffscreenExecutionService.js.map +0 -1
- package/dist/esm/services/offscreen/index.js +0 -3
- package/dist/esm/services/offscreen/index.js.map +0 -1
- package/dist/esm/services/webworker/WebWorkerExecutionService.js +0 -130
- package/dist/esm/services/webworker/WebWorkerExecutionService.js.map +0 -1
- package/dist/esm/services/webworker/index.js +0 -3
- package/dist/esm/services/webworker/index.js.map +0 -1
- package/dist/esm/snaps/RequestQueue.js +0 -53
- package/dist/esm/snaps/RequestQueue.js.map +0 -1
- package/dist/esm/snaps/SnapController.js +0 -1714
- package/dist/esm/snaps/SnapController.js.map +0 -1
- package/dist/esm/snaps/Timer.js +0 -107
- package/dist/esm/snaps/Timer.js.map +0 -1
- package/dist/esm/snaps/endowments/cronjob.js +0 -99
- package/dist/esm/snaps/endowments/cronjob.js.map +0 -1
- package/dist/esm/snaps/endowments/enum.js +0 -13
- package/dist/esm/snaps/endowments/enum.js.map +0 -1
- package/dist/esm/snaps/endowments/ethereum-provider.js +0 -33
- package/dist/esm/snaps/endowments/ethereum-provider.js.map +0 -1
- package/dist/esm/snaps/endowments/index.js +0 -41
- package/dist/esm/snaps/endowments/index.js.map +0 -1
- package/dist/esm/snaps/endowments/lifecycle-hooks.js +0 -27
- package/dist/esm/snaps/endowments/lifecycle-hooks.js.map +0 -1
- package/dist/esm/snaps/endowments/long-running.js +0 -28
- package/dist/esm/snaps/endowments/long-running.js.map +0 -1
- package/dist/esm/snaps/endowments/network-access.js +0 -34
- package/dist/esm/snaps/endowments/network-access.js.map +0 -1
- package/dist/esm/snaps/endowments/rpc.js +0 -88
- package/dist/esm/snaps/endowments/rpc.js.map +0 -1
- package/dist/esm/snaps/endowments/transaction-insight.js +0 -99
- package/dist/esm/snaps/endowments/transaction-insight.js.map +0 -1
- package/dist/esm/snaps/endowments/web-assembly.js +0 -32
- package/dist/esm/snaps/endowments/web-assembly.js.map +0 -1
- package/dist/esm/snaps/index.js +0 -8
- package/dist/esm/snaps/index.js.map +0 -1
- package/dist/esm/snaps/location/http.js.map +0 -1
- package/dist/esm/snaps/location/index.js +0 -6
- package/dist/esm/snaps/location/index.js.map +0 -1
- package/dist/esm/snaps/location/local.js +0 -83
- package/dist/esm/snaps/location/local.js.map +0 -1
- package/dist/esm/snaps/location/location.js +0 -30
- package/dist/esm/snaps/location/location.js.map +0 -1
- package/dist/esm/snaps/location/npm.js.map +0 -1
- package/dist/esm/snaps/permissions.js +0 -50
- package/dist/esm/snaps/permissions.js.map +0 -1
- package/dist/esm/snaps/registry/index.js +0 -4
- package/dist/esm/snaps/registry/index.js.map +0 -1
- package/dist/esm/snaps/registry/json.js +0 -240
- package/dist/esm/snaps/registry/json.js.map +0 -1
- package/dist/esm/snaps/registry/registry.js +0 -8
- package/dist/esm/snaps/registry/registry.js.map +0 -1
- package/dist/esm/snaps/selectors.js +0 -3
- package/dist/esm/snaps/selectors.js.map +0 -1
- package/dist/esm/utils.js.map +0 -1
- package/dist/types/services/offscreen/index.d.ts +0 -1
- package/dist/types/services/webworker/WebWorkerExecutionService.d.ts +0 -45
- package/dist/types/services/webworker/index.d.ts +0 -1
- package/dist/types/snaps/endowments/lifecycle-hooks.d.ts +0 -15
- package/dist/types/snaps/location/npm.d.ts +0 -49
- package/dist/types/snaps/permissions.d.ts +0 -16
- package/dist/types/snaps/selectors.d.ts +0 -2
- /package/dist/{types/cronjob → cronjob}/index.d.ts +0 -0
- /package/dist/{types/logging.d.ts → logging.d.ts} +0 -0
- /package/dist/{types/services → services}/iframe/index.d.ts +0 -0
- /package/dist/{types/services → services}/node/index.d.ts +0 -0
- /package/dist/{types/snaps → snaps}/RequestQueue.d.ts +0 -0
- /package/dist/{types/snaps → snaps}/Timer.d.ts +0 -0
- /package/dist/{types/snaps → snaps}/location/index.d.ts +0 -0
- /package/dist/{types/snaps → snaps}/registry/index.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,20 +6,577 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
## [0.
|
|
10
|
-
### Added
|
|
11
|
-
- Add `onInstall` and `onUpdate` lifecycle hooks ([#1643](https://github.com/MetaMask/snaps/pull/1643))
|
|
12
|
-
|
|
9
|
+
## [1.0.0]
|
|
13
10
|
### Changed
|
|
14
11
|
- Make `updateBlockedSnaps` update the registry ([#1625](https://github.com/MetaMask/snaps/pull/1625))
|
|
15
12
|
- Move source code and snap state back to controller state ([#1634](https://github.com/MetaMask/snaps/pull/1634))
|
|
16
13
|
|
|
17
|
-
## [0.
|
|
14
|
+
## [1.0.0-prerelease.1]
|
|
15
|
+
### Added
|
|
16
|
+
- Add export for `getRpcCaveatOrigins` ([#1533](https://github.com/MetaMask/snaps/pull/1533))
|
|
17
|
+
- Add subject type restrictions to snap-specific permissions ([#1366](https://github.com/MetaMask/snaps/pull/1366))
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- **BREAKING:** Rename `targetKey` to `targetName` as part of updating `PermissionController` ([#1450](https://github.com/MetaMask/snaps/pull/1450))
|
|
21
|
+
- **BREAKING:** Disallow deriving Ethereum keys ([#1217](https://github.com/MetaMask/snaps/pull/1217))
|
|
22
|
+
- Coin type `60` is now blocked for derivation.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- Improve JSON parsing safety ([#1499](https://github.com/MetaMask/snaps/pull/1499))
|
|
26
|
+
|
|
27
|
+
## [0.32.2]
|
|
28
|
+
### Fixed
|
|
29
|
+
- Properly handle Promise in `JsonSnapsRegistry` signature verification ([#1317](https://github.com/MetaMask/snaps-monorepo/pull/1317))
|
|
30
|
+
|
|
31
|
+
## [0.32.1]
|
|
32
|
+
### Changed
|
|
33
|
+
- No changes this release.
|
|
34
|
+
|
|
35
|
+
## [0.32.0]
|
|
36
|
+
### Added
|
|
37
|
+
- Add verification of registry signature ([#1291](https://github.com/MetaMask/snaps-monorepo/pull/1291))
|
|
38
|
+
- Add types to result approvals ([#1288](https://github.com/MetaMask/snaps-monorepo/pull/1288))
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- **BREAKING:** Convert registry to a caching controller ([#1305](https://github.com/MetaMask/snaps-monorepo/pull/1305))
|
|
42
|
+
- **BREAKING:** Require snaps to request at least one handler permission ([#1294](https://github.com/MetaMask/snaps-monorepo/pull/1294))
|
|
43
|
+
- Use side effects to install snaps via `wallet_snap` permission ([#1301](https://github.com/MetaMask/snaps-monorepo/pull/1301))
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
- Fix a few issues with installation and updating ([#1308](https://github.com/MetaMask/snaps-monorepo/pull/1308))
|
|
47
|
+
|
|
48
|
+
## [0.31.0]
|
|
49
|
+
### Changed
|
|
50
|
+
- **BREAKING:** Target `ES2020` ([#1247](https://github.com/MetaMask/snaps-monorepo/pull/1247))
|
|
51
|
+
- **BREAKING:** Combine snap installation popups ([#1261](https://github.com/MetaMask/snaps-monorepo/pull/1261))
|
|
52
|
+
- Throw errors on failed `fetch` ([#1227](https://github.com/MetaMask/snaps-monorepo/pull/1227))
|
|
53
|
+
- Improve validation and sanitizing of snap IDs ([#1237](https://github.com/MetaMask/snaps-monorepo/pull/1237))
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
- Fix smaller installation issues affecting local snaps ([#1248](https://github.com/MetaMask/snaps-monorepo/pull/1248))
|
|
57
|
+
|
|
58
|
+
## [0.30.0]
|
|
59
|
+
### Added
|
|
60
|
+
- Add WebAssembly permission ([#1185](https://github.com/MetaMask/snaps-monorepo/pull/1185))
|
|
61
|
+
|
|
62
|
+
### Fixed
|
|
63
|
+
- Fix an issue with removing snaps ([#1194](https://github.com/MetaMask/snaps-monorepo/pull/1194))
|
|
64
|
+
- Previously, the `SnapController` was not requesting revocation of the `wallet_snap` permission from the `PermissionController` if an origin no longer had any permitted snaps, logic has been updated to account for this
|
|
65
|
+
|
|
66
|
+
## [0.29.0]
|
|
67
|
+
### Added
|
|
68
|
+
- Add method to get metadata from the Snaps registry ([#1173](https://github.com/MetaMask/snaps-monorepo/pull/1173))
|
|
69
|
+
- Set pre-fetch NPM tarball size limit ([#1169](https://github.com/MetaMask/snaps-monorepo/pull/1169))
|
|
70
|
+
- NPM packages now have a size limit of 250 MB
|
|
71
|
+
|
|
72
|
+
### Changed
|
|
73
|
+
- **BREAKING:** Updated controllers to accomodate new `wallet_snap` permission ([#1182](https://github.com/MetaMask/snaps-monorepo/pull/1182))
|
|
74
|
+
- **BREAKING:** Change checksum calculation ([#1128](https://github.com/MetaMask/snaps-monorepo/pull/1128))
|
|
75
|
+
- The checksum has changed for all snaps, and needs to be updated
|
|
76
|
+
|
|
77
|
+
## [0.28.0]
|
|
78
|
+
### Added
|
|
79
|
+
- Add `endowment:long-running` deprecation warning ([#1126](https://github.com/MetaMask/snaps-monorepo/pull/1126))
|
|
80
|
+
- Add experimental offscreen execution environment ([#1082](https://github.com/MetaMask/snaps-monorepo/pull/1082))
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
- **BREAKING:** Add support for snap registries ([#1090](https://github.com/MetaMask/snaps-monorepo/pull/1090))
|
|
84
|
+
- This removes the `checkBlockList` constructor argument in favor of `registry`
|
|
85
|
+
- A registry implementation can be passed here, defaulting to a hosted JSON file
|
|
86
|
+
- Requiring a snap to be on the allowlist can be toggled with the feature flag `requireAllowlist`
|
|
87
|
+
- **BREAKING:** Disallow local snaps by default ([#1123](https://github.com/MetaMask/snaps-monorepo/pull/1123))
|
|
88
|
+
- They can be re-enabled by using the feature flag `allowLocalSnaps`
|
|
89
|
+
- Allow updating crashed snaps ([#1113](https://github.com/MetaMask/snaps-monorepo/pull/1113))
|
|
90
|
+
- Add safety measures for malicious tarballs ([#1116](https://github.com/MetaMask/snaps-monorepo/pull/1116))
|
|
91
|
+
- Make `installSnaps` throw on excluded permissions ([#1125](https://github.com/MetaMask/snaps-monorepo/pull/1125))
|
|
92
|
+
|
|
93
|
+
### Removed
|
|
94
|
+
- **BREAKING:** Remove `WebSocket` endowment ([#1122](https://github.com/MetaMask/snaps-monorepo/pull/1122))
|
|
95
|
+
|
|
96
|
+
## [0.27.1]
|
|
97
|
+
### Changed
|
|
98
|
+
- No changes this release.
|
|
99
|
+
|
|
100
|
+
## [0.27.0]
|
|
101
|
+
### Changed
|
|
102
|
+
- **BREAKING:** Use SIP-6 algorithm for state encryption ([#1055](https://github.com/MetaMask/snaps-monorepo/pull/1055))
|
|
103
|
+
- This breaks all existing snaps that use `snap_manageState`
|
|
104
|
+
|
|
105
|
+
## [0.26.2]
|
|
106
|
+
### Changed
|
|
107
|
+
- No changes this release.
|
|
108
|
+
|
|
109
|
+
## [0.26.1]
|
|
110
|
+
### Fixed
|
|
111
|
+
- Fix some paths being wrongly normalized ([#1053](https://github.com/MetaMask/snaps-monorepo/pull/1053))
|
|
112
|
+
- Fix some issues with fetching snaps ([#1050](https://github.com/MetaMask/snaps-monorepo/pull/1050))
|
|
113
|
+
|
|
114
|
+
## [0.26.0]
|
|
115
|
+
### Changed
|
|
116
|
+
- **BREAKING:** Snap installation refactor ([#1023](https://github.com/MetaMask/snaps-monorepo/pull/1023))
|
|
117
|
+
- `wallet_requestSnaps` will now throw an error and roll back any changes made if installation of any snap fails
|
|
118
|
+
|
|
119
|
+
### Fixed
|
|
120
|
+
- Fix an issue processing non-snap permissions ([#1044](https://github.com/MetaMask/snaps-monorepo/pull/1044))
|
|
121
|
+
|
|
122
|
+
## [0.25.0]
|
|
123
|
+
### Added
|
|
124
|
+
- **BREAKING:** Add JSON-RPC handler permission ([#905](https://github.com/MetaMask/snaps-monorepo/pull/905))
|
|
125
|
+
- Snaps are now required to request `endowment:rpc` to receive RPC requests.
|
|
126
|
+
- Add transaction origin caveat export ([#1010](https://github.com/MetaMask/snaps-monorepo/pull/1010))
|
|
127
|
+
|
|
128
|
+
## [0.24.1]
|
|
129
|
+
### Changed
|
|
130
|
+
- No changes this release.
|
|
131
|
+
|
|
132
|
+
## [0.24.0]
|
|
133
|
+
### Added
|
|
134
|
+
- Add transaction insight caveat for accessing transaction origin ([#902](https://github.com/MetaMask/snaps-monorepo/pull/902))
|
|
135
|
+
|
|
18
136
|
### Changed
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
137
|
+
- **BREAKING:** Rename package to start with `snaps-` ([#937](https://github.com/MetaMask/snaps-monorepo/pull/937))
|
|
138
|
+
- **BREAKING:** Remove `wallet` global in favor of `snap` and `ethereum` ([#939](https://github.com/MetaMask/snaps-monorepo/pull/939))
|
|
139
|
+
- Add permission validation to `snap.manifest.json` ([#910](https://github.com/MetaMask/snaps-monorepo/pull/910))
|
|
140
|
+
|
|
141
|
+
## [0.23.0]
|
|
142
|
+
### Added
|
|
143
|
+
- Add snap cronjobs ([#651](https://github.com/MetaMask/snaps-monorepo/pull/651), [#890](https://github.com/MetaMask/snaps-monorepo/pull/890))
|
|
144
|
+
|
|
145
|
+
### Changed
|
|
146
|
+
- **BREAKING:** Make `SnapController.add()` private ([#883](https://github.com/MetaMask/snaps-monorepo/pull/883))
|
|
147
|
+
- **BREAKING:** Stop including snap state in SnapController state ([#876](https://github.com/MetaMask/snaps-monorepo/pull/876))
|
|
148
|
+
- **BREAKING:** Stop including source code in SnapController state ([#861](https://github.com/MetaMask/snaps-monorepo/pull/861))
|
|
149
|
+
- Improve keyring endowment error messaging ([#884](https://github.com/MetaMask/snaps-monorepo/pull/884))
|
|
150
|
+
- Replace JSON schema validation with structs ([#862](https://github.com/MetaMask/snaps-monorepo/pull/862))
|
|
151
|
+
|
|
152
|
+
## [0.22.3]
|
|
153
|
+
### Changed
|
|
154
|
+
- No changes this release.
|
|
155
|
+
|
|
156
|
+
## [0.22.2]
|
|
157
|
+
### Fixed
|
|
158
|
+
- Fix an issue with installing snaps that request the `eth_accounts` permission ([#839](https://github.com/MetaMask/snaps-monorepo/pull/839))
|
|
159
|
+
|
|
160
|
+
## [0.22.1]
|
|
161
|
+
### Fixed
|
|
162
|
+
- Assert that multichain RPC methods are supported before usage ([#814](https://github.com/MetaMask/snaps-monorepo/pull/814))
|
|
163
|
+
|
|
164
|
+
## [0.22.0]
|
|
165
|
+
### Added
|
|
166
|
+
- Add Snap Keyring support ([#700](https://github.com/MetaMask/snaps-monorepo/pull/700), [#775](https://github.com/MetaMask/snaps-monorepo/pull/775), [#777](https://github.com/MetaMask/snaps-monorepo/pull/777), [#740](https://github.com/MetaMask/snaps-monorepo/pull/740))
|
|
167
|
+
- Add `endowment:keyring` permission
|
|
168
|
+
- Add `MultiChainController`
|
|
169
|
+
|
|
170
|
+
### Changed
|
|
171
|
+
- **BREAKING:** Renamed `SnapController:getSnaps` to `SnapController:getPermittedSnaps` [#775](https://github.com/MetaMask/snaps-monorepo/pull/775)
|
|
172
|
+
|
|
173
|
+
## [0.21.0]
|
|
174
|
+
### Changed
|
|
175
|
+
- **BREAKING:** Add changes to support blocking snaps by shasum ([#767](https://github.com/MetaMask/snaps-monorepo/pull/767))
|
|
176
|
+
- **BREAKING:** Rework snap install logic ([#754](https://github.com/MetaMask/snaps-monorepo/pull/754))
|
|
177
|
+
- Stop including `installing` snaps in `wallet_getSnaps` ([#765](https://github.com/MetaMask/snaps-monorepo/pull/765))
|
|
178
|
+
|
|
179
|
+
### Fixed
|
|
180
|
+
- Process snap permissions before snap update ([#753](https://github.com/MetaMask/snaps-monorepo/pull/753))
|
|
181
|
+
- Only pause running timers ([#725](https://github.com/MetaMask/snaps-monorepo/pull/725))
|
|
182
|
+
|
|
183
|
+
## [0.20.0]
|
|
184
|
+
### Added
|
|
185
|
+
- **BREAKING:** Add Transaction Insight API ([#642](https://github.com/MetaMask/snaps-monorepo/pull/642))
|
|
186
|
+
- This feature required changes to the RPC request handling functionality, hence the breaking change
|
|
187
|
+
- Register missing actions ([#659](https://github.com/MetaMask/snaps-monorepo/pull/659))
|
|
188
|
+
- All APIs accessed outside the SnapController are now registered as actions in the messaging system
|
|
189
|
+
|
|
190
|
+
### Changed
|
|
191
|
+
- **BREAKING:** Simplify manifest format for permission caveats ([#705](https://github.com/MetaMask/snaps-monorepo/pull/705))
|
|
192
|
+
- Reduce TypeScript compilation target for `snap-controllers` ([#708](https://github.com/MetaMask/snaps-monorepo/pull/708))
|
|
193
|
+
- Move all internal types from `@metamask/snaps-types` to `@metamask/snaps-utils` ([#695](https://github.com/MetaMask/snaps-monorepo/pull/695))
|
|
194
|
+
|
|
195
|
+
### Removed
|
|
196
|
+
- **BREAKING:** Removed ExternalResourceController ([#701](https://github.com/MetaMask/snaps-monorepo/pull/701))
|
|
197
|
+
|
|
198
|
+
## [0.19.1]
|
|
199
|
+
### Changed
|
|
200
|
+
- No changes this release.
|
|
201
|
+
|
|
202
|
+
## [0.19.0]
|
|
203
|
+
### Fixed
|
|
204
|
+
- Fixed update snap approval missing metadata ([#673](https://github.com/MetaMask/snaps-monorepo/pull/673))
|
|
205
|
+
- Fixed executors sending malformed JSON-RPC notifications ([#639](https://github.com/MetaMask/snaps-monorepo/pull/639))
|
|
206
|
+
|
|
207
|
+
## [0.18.1]
|
|
208
|
+
### Changed
|
|
209
|
+
- No changes this release.
|
|
210
|
+
|
|
211
|
+
## [0.18.0]
|
|
212
|
+
### Changed
|
|
213
|
+
- Reduce TypeScript compilation target to ES2017 ([#628](https://github.com/MetaMask/snaps-monorepo/pull/628))
|
|
214
|
+
- **BREAKING:** Add browser entrypoint for execution services ([#629](https://github.com/MetaMask/snaps-monorepo/pull/629))
|
|
215
|
+
- Node.js execution services are now omitted in browser environments
|
|
216
|
+
|
|
217
|
+
## [0.17.0]
|
|
218
|
+
### Added
|
|
219
|
+
- Add snap blocklist functionality ([#597](https://github.com/MetaMask/snaps-monorepo/pull/597))
|
|
220
|
+
- Add Node.js `worker_threads` execution environment ([#587](https://github.com/MetaMask/snaps-monorepo/pull/587))
|
|
221
|
+
- Add Node.js `child_process` execution environment ([#523](https://github.com/MetaMask/snaps-monorepo/pull/523))
|
|
222
|
+
- Added network endowment teardown ([#514](https://github.com/MetaMask/snaps-monorepo/pull/514))
|
|
223
|
+
|
|
224
|
+
### Changed
|
|
225
|
+
- **BREAKING:** Bump minimum Node version to 16 ([#601](https://github.com/MetaMask/snaps-monorepo/pull/601))
|
|
226
|
+
- **BREAKING:** Remove ExecutionService actions from constructor arguments ([#486](https://github.com/MetaMask/snaps-monorepo/pull/486))
|
|
227
|
+
- **BREAKING:** Emit appropriate snap objects for SnapController events ([#608](https://github.com/MetaMask/snaps-monorepo/pull/608))
|
|
228
|
+
- **BREAKING:** Replace `getRpcMessageHandler` action with `handleRpcRequest` ([#497](https://github.com/MetaMask/snaps-monorepo/pull/497), [#557](https://github.com/MetaMask/snaps-monorepo/pull/557))
|
|
229
|
+
- Monitor outbound snap requests to pause request timeout ([#593](https://github.com/MetaMask/snaps-monorepo/pull/593))
|
|
230
|
+
- Change Update Snap `requestData` ([#614](https://github.com/MetaMask/snaps-monorepo/pull/614))
|
|
231
|
+
|
|
232
|
+
### Removed
|
|
233
|
+
- Remove WebWorker implementation ([#591](https://github.com/MetaMask/snaps-monorepo/pull/591))
|
|
234
|
+
|
|
235
|
+
## [0.16.0]
|
|
236
|
+
### Added
|
|
237
|
+
- **BREAKING:** Encrypt Snap state by default ([#369](https://github.com/MetaMask/snaps-monorepo/pull/369))
|
|
238
|
+
- Breaks existing installed snaps that use `snap_manageState`. All such Snaps must be reinstalled.
|
|
239
|
+
|
|
240
|
+
### Changed
|
|
241
|
+
- **BREAKING:** Snaps are now required to export `onRpcRequest` to receive RPC requests ([#481](https://github.com/MetaMask/snaps-monorepo/pull/481), [#533](https://github.com/MetaMask/snaps-monorepo/pull/533), [#538](https://github.com/MetaMask/snaps-monorepo/pull/538))
|
|
242
|
+
- The type of the function is available in `@metamask/snaps-types` as `OnRpcRequestHandler`.
|
|
243
|
+
- Snaps can no longer run timers outside of pending RPC requests ([#490](https://github.com/MetaMask/snaps-monorepo/pull/490))
|
|
244
|
+
|
|
245
|
+
### Fixed
|
|
246
|
+
- Allow version matching with prerelease versions ([#508](https://github.com/MetaMask/snaps-monorepo/pull/508))
|
|
247
|
+
- Fix issue with iframe error reporting ([#501](https://github.com/MetaMask/snaps-monorepo/pull/501))
|
|
248
|
+
- Fix an issue with file paths with leading `./` in npm snap manifests ([#537](https://github.com/MetaMask/snaps-monorepo/pull/537))
|
|
249
|
+
|
|
250
|
+
## [0.15.0]
|
|
251
|
+
### Fixed
|
|
252
|
+
- Fix an issue with detecting iframe execution environment load ([#464](https://github.com/MetaMask/snaps-monorepo/pull/464))
|
|
253
|
+
|
|
254
|
+
## [0.14.0]
|
|
255
|
+
### Changed
|
|
256
|
+
- **BREAKING:** Increase TypeScript compilation target to ES2020 ([#449](https://github.com/MetaMask/snaps-monorepo/pull/449))
|
|
257
|
+
- This should not be breaking for consumers on any non-deprecated browser or Node.js version.
|
|
258
|
+
|
|
259
|
+
## [0.13.0]
|
|
260
|
+
### Added
|
|
261
|
+
- Add long-running endowment permission ([#386](https://github.com/MetaMask/snaps-monorepo/pull/386))
|
|
262
|
+
- Add `network-access` endowment from `controllers` ([#439](https://github.com/MetaMask/snaps-monorepo/pull/439))
|
|
263
|
+
|
|
264
|
+
### Changed
|
|
265
|
+
- **BREAKING:** Rename SnapController constructor argument ([#435](https://github.com/MetaMask/snaps-monorepo/pull/435))
|
|
266
|
+
|
|
267
|
+
## [0.12.0]
|
|
268
|
+
### Added
|
|
269
|
+
- Add support for endowment teardown ([#407](https://github.com/MetaMask/snaps-monorepo/pull/407))
|
|
270
|
+
- Emit `snapTerminated` event ([#406](https://github.com/MetaMask/snaps-monorepo/pull/406))
|
|
271
|
+
- Add `IframeExecutionService` previously published via `@metamask/iframe-execution-environment-service` ([#415](https://github.com/MetaMask/snaps-monorepo/pull/415))
|
|
272
|
+
|
|
273
|
+
### Removed
|
|
274
|
+
- Remove `_createWindowTimeout` ([#404](https://github.com/MetaMask/snaps-monorepo/pull/404))
|
|
275
|
+
- Remove unresponsive timeout ([#395](https://github.com/MetaMask/snaps-monorepo/pull/395))
|
|
276
|
+
|
|
277
|
+
### Fixed
|
|
278
|
+
- Correctly categorize ungracefully terminated snaps as crashed ([#427](https://github.com/MetaMask/snaps-monorepo/pull/427))
|
|
279
|
+
|
|
280
|
+
## [0.11.1]
|
|
281
|
+
### Changed
|
|
282
|
+
- Always bind `fetch` by default ([#402](https://github.com/MetaMask/snaps-monorepo/pull/402))
|
|
283
|
+
|
|
284
|
+
## [0.11.0]
|
|
285
|
+
### Added
|
|
286
|
+
- Add clearSnapState ([#346](https://github.com/MetaMask/snaps-monorepo/pull/346))
|
|
287
|
+
|
|
288
|
+
### Changed
|
|
289
|
+
- Robustify snap startup procedure and iframe error handling ([#379](https://github.com/MetaMask/snaps-monorepo/pull/379))
|
|
290
|
+
- Added ability to update snaps when installing them ([#322](https://github.com/MetaMask/snaps-monorepo/pull/322))
|
|
291
|
+
- **BREAKING:** Use PermissionController:revokePermissionForAllSubjects ([#351](https://github.com/MetaMask/snaps-monorepo/pull/351))
|
|
292
|
+
- Changed console.logs to console.info ([#361](https://github.com/MetaMask/snaps-monorepo/pull/361))
|
|
293
|
+
- Upgraded TypeScript version to minimum 4.4 ([#360](https://github.com/MetaMask/snaps-monorepo/pull/360))
|
|
294
|
+
- Remove cross-fetch ([#349](https://github.com/MetaMask/snaps-monorepo/pull/349))
|
|
295
|
+
|
|
296
|
+
### Fixed
|
|
297
|
+
- Fix idle timeout implementation ([#385](https://github.com/MetaMask/snaps-monorepo/pull/385))
|
|
298
|
+
|
|
299
|
+
## [0.10.7]
|
|
300
|
+
### Added
|
|
301
|
+
- Add version history information ([#317](https://github.com/MetaMask/snaps-monorepo/pull/317))
|
|
302
|
+
- Add setInterval and clearInterval as default endowments ([#326](https://github.com/MetaMask/snaps-monorepo/pull/326))
|
|
303
|
+
- Add queue for RPC requests to starting snaps ([#288](https://github.com/MetaMask/snaps-monorepo/pull/288))
|
|
304
|
+
- This improves the experience of invoking a starting snap, waiting for the snap to be ready instead of throwing an error.
|
|
305
|
+
|
|
306
|
+
### Changed
|
|
307
|
+
- **BREAKING:** Bump minimum Node version from 12 to 14 ([#331](https://github.com/MetaMask/snaps-monorepo/pull/331))
|
|
308
|
+
|
|
309
|
+
## [0.10.6]
|
|
310
|
+
### Fixed
|
|
311
|
+
- Fix ID validation during Snap installation ([#308](https://github.com/MetaMask/snaps-monorepo/pull/308))
|
|
312
|
+
|
|
313
|
+
## [0.10.5]
|
|
314
|
+
### Added
|
|
315
|
+
- Add updateSnap function to SnapController ([#259](https://github.com/MetaMask/snaps-monorepo/pull/259))
|
|
316
|
+
|
|
317
|
+
### Fixed
|
|
318
|
+
- Fix issue where installation errors were repeatedly thrown ([#301](https://github.com/MetaMask/snaps-monorepo/pull/301))
|
|
319
|
+
- Fix snap crash handling ([#298](https://github.com/MetaMask/snaps-monorepo/pull/298))
|
|
320
|
+
|
|
321
|
+
## [0.10.3]
|
|
322
|
+
### Changed
|
|
323
|
+
- Always reinstall local snaps ([#289](https://github.com/MetaMask/snaps-monorepo/pull/289))
|
|
324
|
+
|
|
325
|
+
## [0.10.2]
|
|
326
|
+
### Fixed
|
|
327
|
+
- Installation failure ([#279](https://github.com/MetaMask/snaps-monorepo/pull/279))
|
|
328
|
+
- A faulty installation script in a dependency caused the installation of this package to fail.
|
|
329
|
+
|
|
330
|
+
## [0.10.1]
|
|
331
|
+
### Changed
|
|
332
|
+
- Populate `jsonrpc` field in Snap RPC requests ([#273](https://github.com/MetaMask/snaps-monorepo/pull/273))
|
|
333
|
+
|
|
334
|
+
### Fixed
|
|
335
|
+
- Various bugs ([#275](https://github.com/MetaMask/snaps-monorepo/pull/275))
|
|
336
|
+
- Snap fetching during installation.
|
|
337
|
+
- Snap removal when cancelling a Snap installation request.
|
|
338
|
+
|
|
339
|
+
## [0.10.0]
|
|
340
|
+
### Added
|
|
341
|
+
- Allow specifying a version range when installing snap ([#250](https://github.com/MetaMask/snaps-monorepo/pull/250))
|
|
342
|
+
- Add more safe default endowments to snaps ([#252](https://github.com/MetaMask/snaps-monorepo/pull/252))
|
|
343
|
+
|
|
344
|
+
### Changed
|
|
345
|
+
- **BREAKING:** Specify all endowments in the `SnapController` ([#252](https://github.com/MetaMask/snaps-monorepo/pull/252)), ([#266](https://github.com/MetaMask/snaps-monorepo/pull/266))
|
|
346
|
+
- Previously, default endowments were specified in the execution environment. Now, default endowments are specified in the `SnapController`, and the execution environment will only add endowments specified by the execution command, except for the `wallet` API object.
|
|
347
|
+
- Disable caching when fetching local snaps ([#227](https://github.com/MetaMask/snaps-monorepo/pull/227))
|
|
348
|
+
- This ensures that the `SnapController` will always fetch the latest snap manifest and source code during local development.
|
|
349
|
+
|
|
350
|
+
### Removed
|
|
351
|
+
- **BREAKING:** Remove the `PermissionController` and `SubjectMetadataController` ([#261](https://github.com/MetaMask/snaps-monorepo/pull/261))
|
|
352
|
+
- They are part of the [`@metamask/controllers`](https://npmjs.com/package/@metamask/controllers) as of version [26.0.0](https://github.com/MetaMask/controllers/releases/tag/v26.0.0) of that package.
|
|
353
|
+
|
|
354
|
+
### Fixed
|
|
355
|
+
- Prevent useless errors from being thrown when a snap is removed ([#215](https://github.com/MetaMask/snaps-monorepo/pull/215))
|
|
356
|
+
|
|
357
|
+
## [0.9.0]
|
|
358
|
+
### Added
|
|
359
|
+
- Make `SnapController` npm registry configurable ([#200](https://github.com/MetaMask/snaps-monorepo/pull/200))
|
|
360
|
+
|
|
361
|
+
### Changed
|
|
362
|
+
- **BREAKING:** Return `null` from `SnapController.getSnapState` if the snap has no state ([#203](https://github.com/MetaMask/snaps-monorepo/pull/203))
|
|
363
|
+
- Previously it would return `undefined` in this case.
|
|
364
|
+
- `@metamask/controllers@^25.1.0` ([#207](https://github.com/MetaMask/snaps-monorepo/pull/207))
|
|
365
|
+
|
|
366
|
+
## [0.8.1]
|
|
367
|
+
### Added
|
|
368
|
+
- A variety of `SnapController` actions ([#199](https://github.com/MetaMask/snaps-monorepo/pull/199))
|
|
369
|
+
|
|
370
|
+
## [0.8.0]
|
|
371
|
+
### Added
|
|
372
|
+
- Expose more `PermissionController` functionality via actions ([#194](https://github.com/MetaMask/snaps-monorepo/pull/194))
|
|
373
|
+
|
|
374
|
+
### Changed
|
|
375
|
+
- **BREAKING:** Replace `PermissionController` functions with actions in `SnapController` ([#194](https://github.com/MetaMask/snaps-monorepo/pull/194))
|
|
376
|
+
|
|
377
|
+
## [0.7.0]
|
|
378
|
+
### Changed
|
|
379
|
+
- **BREAKING:** Rename execution environment service class and events ([#188](https://github.com/MetaMask/snaps-monorepo/pull/188))
|
|
380
|
+
- `ServiceMessenger` events are now named `ExecutionService`.
|
|
381
|
+
- `WebWorkerExecutionEnvironmentService` is now named `WebWorkerExecutionService`.
|
|
382
|
+
|
|
383
|
+
## [0.6.3]
|
|
384
|
+
### Fixed
|
|
385
|
+
- Prevent `disableSnap` from throwing if the specified Snap is stopped ([#175](https://github.com/MetaMask/snaps-monorepo/pull/175))
|
|
386
|
+
|
|
387
|
+
## [0.6.2]
|
|
388
|
+
### Changed
|
|
389
|
+
- **BREAKING:** Rename endowment permission builder exports ([#171](https://github.com/MetaMask/snaps-monorepo/pull/171))
|
|
390
|
+
|
|
391
|
+
### Removed
|
|
392
|
+
- **BREAKING:** Remove the `svgIcon` property from Snap state ([#172](https://github.com/MetaMask/snaps-monorepo/pull/172))
|
|
393
|
+
- The SVG icon content string is instead emitted with the `SnapController:snapAdded` event.
|
|
394
|
+
|
|
395
|
+
## [0.6.1]
|
|
396
|
+
### Changed
|
|
397
|
+
- No changes this release.
|
|
398
|
+
|
|
399
|
+
## [0.6.0]
|
|
400
|
+
### Added
|
|
401
|
+
- "Endowment" permissions ([#152](https://github.com/MetaMask/snaps-monorepo/pull/152))
|
|
402
|
+
- `SnapController` endowment permissions support ([#155](https://github.com/MetaMask/snaps-monorepo/pull/155))
|
|
403
|
+
- Network access endowment permission ([#154](https://github.com/MetaMask/snaps-monorepo/pull/154))
|
|
404
|
+
- Snap installation events ([#162](https://github.com/MetaMask/snaps-monorepo/pull/162))
|
|
405
|
+
|
|
406
|
+
### Changed
|
|
407
|
+
- **BREAKING:** Refactor `SnapController` to support the new Snaps publishing specification ([#140](https://github.com/MetaMask/snaps-monorepo/pull/140), [#157](https://github.com/MetaMask/snaps-monorepo/pull/157), [#163](https://github.com/MetaMask/snaps-monorepo/pull/163))
|
|
408
|
+
- This introduces several breaking changes to how Snaps are developed, hosted, and represented at runtime. See [the specification](https://github.com/MetaMask/specifications/blob/d4a5bf5d6990bb5b02a98bd3f95a24ffb28c701c/snaps/publishing.md) and the referenced pull requests for details.
|
|
409
|
+
- **BREAKING:** Rename Snap `name` property to `id` ([#147](https://github.com/MetaMask/snaps-monorepo/pull/147))
|
|
410
|
+
- **BREAKING:** Introduce the required `permissionType` field to `PermissionController` permission specifications ([#152](https://github.com/MetaMask/snaps-monorepo/pull/152))
|
|
411
|
+
- Make `SubjectMetadataController` subject metadata `name` optional ([#151](https://github.com/MetaMask/snaps-monorepo/pull/151))
|
|
412
|
+
|
|
413
|
+
### Removed
|
|
414
|
+
- **BREAKING:** Inline snap functionality ([#148](https://github.com/MetaMask/snaps-monorepo/pull/148))
|
|
415
|
+
|
|
416
|
+
## [0.5.0]
|
|
417
|
+
### Changed
|
|
418
|
+
- **BREAKING:** Update restricted RPC methods per new `PermissionController` ([#143](https://github.com/MetaMask/snaps-monorepo/pull/143))
|
|
419
|
+
- **BREAKING:** Convert all TypeScript `interface` declarations to `type` equivalents ([#143](https://github.com/MetaMask/snaps-monorepo/pull/143))
|
|
420
|
+
- Bump `@metamask/obs-store` to `7.0.0` ([#144](https://github.com/MetaMask/snaps-monorepo/pull/144))
|
|
421
|
+
|
|
422
|
+
## [0.4.0]
|
|
423
|
+
### Added
|
|
424
|
+
- `SubjectMetadataController` ([#61](https://github.com/MetaMask/snaps-monorepo/pull/61))
|
|
425
|
+
- `PermissionController` ([#132](https://github.com/MetaMask/snaps-monorepo/pull/132), [#141](https://github.com/MetaMask/snaps-monorepo/pull/141))
|
|
426
|
+
- **BREAKING:** `SnapController`: Add max request processing time ([#128](https://github.com/MetaMask/snaps-monorepo/pull/128))
|
|
427
|
+
|
|
428
|
+
### Fixed
|
|
429
|
+
- `SnapController`: Clean up timeouts after stopping a Snap ([#139](https://github.com/MetaMask/snaps-monorepo/pull/139))
|
|
430
|
+
- `WebWorkerExecutionEnvironmentService`: Clean up post-termination timeouts ([#128](https://github.com/MetaMask/snaps-monorepo/pull/128))
|
|
431
|
+
|
|
432
|
+
## [0.3.1]
|
|
433
|
+
### Changed
|
|
434
|
+
- **BREAKING:** Update Snap initial states ([#126](https://github.com/MetaMask/snaps-monorepo/pull/126))
|
|
435
|
+
- The `idle` status is now named `installing`, and rehydrated snaps will have the status `stopped`.
|
|
436
|
+
|
|
437
|
+
### Fixed
|
|
438
|
+
- Fix Snap execution and installation bugs ([#125](https://github.com/MetaMask/snaps-monorepo/pull/125))
|
|
439
|
+
- Prevent Snaps from being started before installation is finished ([#124](https://github.com/MetaMask/snaps-monorepo/pull/124))
|
|
440
|
+
- Correctly identify breaking changes in [0.3.0] release ([#123](https://github.com/MetaMask/snaps-monorepo/pull/123))
|
|
441
|
+
|
|
442
|
+
## [0.3.0]
|
|
443
|
+
### Added
|
|
444
|
+
- Allow disabling and enabling Snaps ([#116](https://github.com/MetaMask/snaps-monorepo/pull/116))
|
|
445
|
+
- Only enabled Snaps can be started.
|
|
446
|
+
- Start stopped Snaps that receive an RPC message ([#114](https://github.com/MetaMask/snaps-monorepo/pull/114))
|
|
447
|
+
- Add Snap max idle time ([#105](https://github.com/MetaMask/snaps-monorepo/pull/105))
|
|
448
|
+
- A Snap that is idle for more than the max idle time will be stopped.
|
|
449
|
+
- Poll Snaps for their status ([#104](https://github.com/MetaMask/snaps-monorepo/pull/104))
|
|
450
|
+
- If a Snap stops responding, it will be forced to stop.
|
|
451
|
+
|
|
452
|
+
### Changed
|
|
453
|
+
- **BREAKING:** Enforce consistent naming for Snaps-related functionality ([#119](https://github.com/MetaMask/snaps-monorepo/pull/119))
|
|
454
|
+
- **BREAKING:** Use the `ControllerMessenger` to communicate between the `SnapController` and its execution environment service ([#100](https://github.com/MetaMask/snaps-monorepo/pull/100))
|
|
455
|
+
|
|
456
|
+
## [0.2.2]
|
|
457
|
+
### Added
|
|
458
|
+
- Add Snap error state ([#96](https://github.com/MetaMask/snaps-monorepo/pull/96))
|
|
459
|
+
|
|
460
|
+
### Fixed
|
|
461
|
+
- Package script issues ([#97](https://github.com/MetaMask/snaps-monorepo/pull/97), [#98](https://github.com/MetaMask/snaps-monorepo/pull/98))
|
|
462
|
+
|
|
463
|
+
## [0.2.0]
|
|
464
|
+
### Changed
|
|
465
|
+
- Update publish scripts ([#92](https://github.com/MetaMask/snaps-monorepo/pull/92))
|
|
466
|
+
|
|
467
|
+
## [0.1.2]
|
|
468
|
+
### Changed
|
|
469
|
+
- Restore name of `handshake` method to `ping` ([#90](https://github.com/MetaMask/snaps-monorepo/pull/90))
|
|
470
|
+
|
|
471
|
+
## [0.1.1]
|
|
472
|
+
### Added
|
|
473
|
+
- Out of band error support ([#88](https://github.com/MetaMask/snaps-monorepo/pull/88))
|
|
474
|
+
|
|
475
|
+
### Changed
|
|
476
|
+
- @metamask/controllers@17.0.0 ([#87](https://github.com/MetaMask/snaps-monorepo/pull/87))
|
|
477
|
+
|
|
478
|
+
## [0.1.0]
|
|
479
|
+
### Added
|
|
480
|
+
- Readme file ([#71](https://github.com/MetaMask/snaps-monorepo/pull/71))
|
|
481
|
+
|
|
482
|
+
### Changed
|
|
483
|
+
- **BREAKING:** Rename package to `@metamask/snaps-controllers` ([#73](https://github.com/MetaMask/snaps-monorepo/pull/73))
|
|
484
|
+
|
|
485
|
+
## [0.0.9]
|
|
486
|
+
### Added
|
|
487
|
+
- `PluginController`: Always persist plugin `isRunning` state as `false` ([#64](https://github.com/MetaMask/snaps-monorepo/pull/64))
|
|
488
|
+
- Plugins are not automatically running on boot, and we should never persist this state as `true`.
|
|
489
|
+
|
|
490
|
+
### Changed
|
|
491
|
+
- **BREAKING:** `@metamask/controllers@15.0.0` ([#66](https://github.com/MetaMask/snaps-monorepo/pull/66))
|
|
492
|
+
- This may cause incompatibilities with other versions of the `@metamask/controllers` package.
|
|
493
|
+
|
|
494
|
+
## [0.0.7]
|
|
495
|
+
### Fixed
|
|
496
|
+
- Store plugin states in the correct place ([#48](https://github.com/MetaMask/snaps-monorepo/pull/48))
|
|
497
|
+
- Previously, plugin states would be set as top-level keys of the `PluginController`'s state. This broke retrieving plugin states. They are now correctly stored under `state.pluginStates`.
|
|
498
|
+
|
|
499
|
+
## [0.0.6]
|
|
500
|
+
### Added
|
|
501
|
+
- iframe execution environment ([#33](https://github.com/MetaMask/snaps-monorepo/pull/33))
|
|
502
|
+
- Execution environment OpenRPC spec ([#23](https://github.com/MetaMask/snaps-monorepo/pull/23))
|
|
503
|
+
|
|
504
|
+
### Changed
|
|
505
|
+
- **BREAKING:** Migrate `CommandEngine` message format to JSON-RPC ([#11](https://github.com/MetaMask/snaps-monorepo/pull/11))
|
|
506
|
+
- **BREAKING:** Refactor `PluginController` to use `BaseControllerV2` ([#13](https://github.com/MetaMask/snaps-monorepo/pull/13))
|
|
507
|
+
- **BREAKING:** Use generic execution environment interface ([#19](https://github.com/MetaMask/snaps-monorepo/pull/19))
|
|
508
|
+
- **BREAKING:** Restore origin parameter to `setupWorkerConnection`, rename to `setupPluginProvider` ([#20](https://github.com/MetaMask/snaps-monorepo/pull/20))
|
|
509
|
+
- **BREAKING:** Rename some execution environment methods ([#23](https://github.com/MetaMask/snaps-monorepo/pull/23))
|
|
510
|
+
|
|
511
|
+
### Fixed
|
|
512
|
+
- Ensure that the plugin `isRunning` check always runs when a plugin is started ([#21](https://github.com/MetaMask/snaps-monorepo/pull/21))
|
|
513
|
+
|
|
514
|
+
## [0.0.5]
|
|
515
|
+
### Added
|
|
516
|
+
- First semi-stable release.
|
|
22
517
|
|
|
23
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare
|
|
24
|
-
[0.
|
|
25
|
-
[0.
|
|
518
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/v1.0.0...HEAD
|
|
519
|
+
[1.0.0]: https://github.com/MetaMask/snaps/compare/v1.0.0-prerelease.1...v1.0.0
|
|
520
|
+
[1.0.0-prerelease.1]: https://github.com/MetaMask/snaps/compare/v0.32.2...v1.0.0-prerelease.1
|
|
521
|
+
[0.32.2]: https://github.com/MetaMask/snaps/compare/v0.32.1...v0.32.2
|
|
522
|
+
[0.32.1]: https://github.com/MetaMask/snaps/compare/v0.32.0...v0.32.1
|
|
523
|
+
[0.32.0]: https://github.com/MetaMask/snaps/compare/v0.31.0...v0.32.0
|
|
524
|
+
[0.31.0]: https://github.com/MetaMask/snaps/compare/v0.30.0...v0.31.0
|
|
525
|
+
[0.30.0]: https://github.com/MetaMask/snaps/compare/v0.29.0...v0.30.0
|
|
526
|
+
[0.29.0]: https://github.com/MetaMask/snaps/compare/v0.28.0...v0.29.0
|
|
527
|
+
[0.28.0]: https://github.com/MetaMask/snaps/compare/v0.27.1...v0.28.0
|
|
528
|
+
[0.27.1]: https://github.com/MetaMask/snaps/compare/v0.27.0...v0.27.1
|
|
529
|
+
[0.27.0]: https://github.com/MetaMask/snaps/compare/v0.26.2...v0.27.0
|
|
530
|
+
[0.26.2]: https://github.com/MetaMask/snaps/compare/v0.26.1...v0.26.2
|
|
531
|
+
[0.26.1]: https://github.com/MetaMask/snaps/compare/v0.26.0...v0.26.1
|
|
532
|
+
[0.26.0]: https://github.com/MetaMask/snaps/compare/v0.25.0...v0.26.0
|
|
533
|
+
[0.25.0]: https://github.com/MetaMask/snaps/compare/v0.24.1...v0.25.0
|
|
534
|
+
[0.24.1]: https://github.com/MetaMask/snaps/compare/v0.24.0...v0.24.1
|
|
535
|
+
[0.24.0]: https://github.com/MetaMask/snaps/compare/v0.23.0...v0.24.0
|
|
536
|
+
[0.23.0]: https://github.com/MetaMask/snaps/compare/v0.22.3...v0.23.0
|
|
537
|
+
[0.22.3]: https://github.com/MetaMask/snaps/compare/v0.22.2...v0.22.3
|
|
538
|
+
[0.22.2]: https://github.com/MetaMask/snaps/compare/v0.22.1...v0.22.2
|
|
539
|
+
[0.22.1]: https://github.com/MetaMask/snaps/compare/v0.22.0...v0.22.1
|
|
540
|
+
[0.22.0]: https://github.com/MetaMask/snaps/compare/v0.21.0...v0.22.0
|
|
541
|
+
[0.21.0]: https://github.com/MetaMask/snaps/compare/v0.20.0...v0.21.0
|
|
542
|
+
[0.20.0]: https://github.com/MetaMask/snaps/compare/v0.19.1...v0.20.0
|
|
543
|
+
[0.19.1]: https://github.com/MetaMask/snaps/compare/v0.19.0...v0.19.1
|
|
544
|
+
[0.19.0]: https://github.com/MetaMask/snaps/compare/v0.18.1...v0.19.0
|
|
545
|
+
[0.18.1]: https://github.com/MetaMask/snaps/compare/v0.18.0...v0.18.1
|
|
546
|
+
[0.18.0]: https://github.com/MetaMask/snaps/compare/v0.17.0...v0.18.0
|
|
547
|
+
[0.17.0]: https://github.com/MetaMask/snaps/compare/v0.16.0...v0.17.0
|
|
548
|
+
[0.16.0]: https://github.com/MetaMask/snaps/compare/v0.15.0...v0.16.0
|
|
549
|
+
[0.15.0]: https://github.com/MetaMask/snaps/compare/v0.14.0...v0.15.0
|
|
550
|
+
[0.14.0]: https://github.com/MetaMask/snaps/compare/v0.13.0...v0.14.0
|
|
551
|
+
[0.13.0]: https://github.com/MetaMask/snaps/compare/v0.12.0...v0.13.0
|
|
552
|
+
[0.12.0]: https://github.com/MetaMask/snaps/compare/v0.11.1...v0.12.0
|
|
553
|
+
[0.11.1]: https://github.com/MetaMask/snaps/compare/v0.11.0...v0.11.1
|
|
554
|
+
[0.11.0]: https://github.com/MetaMask/snaps/compare/v0.10.7...v0.11.0
|
|
555
|
+
[0.10.7]: https://github.com/MetaMask/snaps/compare/v0.10.6...v0.10.7
|
|
556
|
+
[0.10.6]: https://github.com/MetaMask/snaps/compare/v0.10.5...v0.10.6
|
|
557
|
+
[0.10.5]: https://github.com/MetaMask/snaps/compare/v0.10.3...v0.10.5
|
|
558
|
+
[0.10.3]: https://github.com/MetaMask/snaps/compare/v0.10.2...v0.10.3
|
|
559
|
+
[0.10.2]: https://github.com/MetaMask/snaps/compare/v0.10.1...v0.10.2
|
|
560
|
+
[0.10.1]: https://github.com/MetaMask/snaps/compare/v0.10.0...v0.10.1
|
|
561
|
+
[0.10.0]: https://github.com/MetaMask/snaps/compare/v0.9.0...v0.10.0
|
|
562
|
+
[0.9.0]: https://github.com/MetaMask/snaps/compare/v0.8.1...v0.9.0
|
|
563
|
+
[0.8.1]: https://github.com/MetaMask/snaps/compare/v0.8.0...v0.8.1
|
|
564
|
+
[0.8.0]: https://github.com/MetaMask/snaps/compare/v0.7.0...v0.8.0
|
|
565
|
+
[0.7.0]: https://github.com/MetaMask/snaps/compare/v0.6.3...v0.7.0
|
|
566
|
+
[0.6.3]: https://github.com/MetaMask/snaps/compare/v0.6.2...v0.6.3
|
|
567
|
+
[0.6.2]: https://github.com/MetaMask/snaps/compare/v0.6.1...v0.6.2
|
|
568
|
+
[0.6.1]: https://github.com/MetaMask/snaps/compare/v0.6.0...v0.6.1
|
|
569
|
+
[0.6.0]: https://github.com/MetaMask/snaps/compare/v0.5.0...v0.6.0
|
|
570
|
+
[0.5.0]: https://github.com/MetaMask/snaps/compare/v0.4.0...v0.5.0
|
|
571
|
+
[0.4.0]: https://github.com/MetaMask/snaps/compare/v0.3.1...v0.4.0
|
|
572
|
+
[0.3.1]: https://github.com/MetaMask/snaps/compare/v0.3.0...v0.3.1
|
|
573
|
+
[0.3.0]: https://github.com/MetaMask/snaps/compare/v0.2.2...v0.3.0
|
|
574
|
+
[0.2.2]: https://github.com/MetaMask/snaps/compare/v0.2.0...v0.2.2
|
|
575
|
+
[0.2.0]: https://github.com/MetaMask/snaps/compare/v0.1.2...v0.2.0
|
|
576
|
+
[0.1.2]: https://github.com/MetaMask/snaps/compare/v0.1.1...v0.1.2
|
|
577
|
+
[0.1.1]: https://github.com/MetaMask/snaps/compare/v0.1.0...v0.1.1
|
|
578
|
+
[0.1.0]: https://github.com/MetaMask/snaps/compare/v0.0.9...v0.1.0
|
|
579
|
+
[0.0.9]: https://github.com/MetaMask/snaps/compare/v0.0.7...v0.0.9
|
|
580
|
+
[0.0.7]: https://github.com/MetaMask/snaps/compare/v0.0.6...v0.0.7
|
|
581
|
+
[0.0.6]: https://github.com/MetaMask/snaps/compare/v0.0.5...v0.0.6
|
|
582
|
+
[0.0.5]: https://github.com/MetaMask/snaps/releases/tag/v0.0.5
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import type { GetAllSnaps, HandleSnapRequest, SnapInstalled, SnapRemoved, SnapUpdated } from '..';
|
|
1
|
+
import { BaseControllerV2 as BaseController, RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
2
|
+
import { GetPermissions } from '@metamask/permission-controller';
|
|
3
|
+
import { SnapId, CronjobSpecification } from '@metamask/snaps-utils';
|
|
4
|
+
import { GetAllSnaps, HandleSnapRequest, SnapInstalled, SnapRemoved, SnapUpdated } from '..';
|
|
6
5
|
import { Timer } from '../snaps/Timer';
|
|
7
6
|
export declare type CronjobControllerActions = GetAllSnaps | HandleSnapRequest | GetPermissions;
|
|
8
7
|
export declare type CronjobControllerEvents = SnapInstalled | SnapRemoved | SnapUpdated;
|
|
@@ -18,7 +17,7 @@ export declare type CronjobControllerArgs = {
|
|
|
18
17
|
export declare type Cronjob = {
|
|
19
18
|
timer?: Timer;
|
|
20
19
|
id: string;
|
|
21
|
-
snapId:
|
|
20
|
+
snapId: SnapId;
|
|
22
21
|
} & CronjobSpecification;
|
|
23
22
|
export declare type StoredJobInformation = {
|
|
24
23
|
lastRun: number;
|
|
@@ -53,7 +52,7 @@ export declare class CronjobController extends BaseController<typeof controllerN
|
|
|
53
52
|
*
|
|
54
53
|
* @param snapId - ID of a snap.
|
|
55
54
|
*/
|
|
56
|
-
register(snapId:
|
|
55
|
+
register(snapId: SnapId): void;
|
|
57
56
|
/**
|
|
58
57
|
* Schedule a new job.
|
|
59
58
|
* This will interpret the cron expression and tell the timer to execute the job
|