@metamask/snaps-controllers 13.0.0 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/snaps/SnapController.cjs +19 -0
- package/dist/snaps/SnapController.cjs.map +1 -1
- package/dist/snaps/SnapController.d.cts +16 -1
- package/dist/snaps/SnapController.d.cts.map +1 -1
- package/dist/snaps/SnapController.d.mts +16 -1
- package/dist/snaps/SnapController.d.mts.map +1 -1
- package/dist/snaps/SnapController.mjs +19 -0
- package/dist/snaps/SnapController.mjs.map +1 -1
- package/dist/snaps/constants.cjs +1 -0
- package/dist/snaps/constants.cjs.map +1 -1
- package/dist/snaps/constants.d.cts.map +1 -1
- package/dist/snaps/constants.d.mts.map +1 -1
- package/dist/snaps/constants.mjs +1 -0
- package/dist/snaps/constants.mjs.map +1 -1
- package/dist/snaps/index.cjs +1 -0
- package/dist/snaps/index.cjs.map +1 -1
- package/dist/snaps/index.d.cts +1 -0
- package/dist/snaps/index.d.cts.map +1 -1
- package/dist/snaps/index.d.mts +1 -0
- package/dist/snaps/index.d.mts.map +1 -1
- package/dist/snaps/index.mjs +1 -0
- package/dist/snaps/index.mjs.map +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/websocket/WebSocketService.cjs +194 -0
- package/dist/websocket/WebSocketService.cjs.map +1 -0
- package/dist/websocket/WebSocketService.d.cts +33 -0
- package/dist/websocket/WebSocketService.d.cts.map +1 -0
- package/dist/websocket/WebSocketService.d.mts +33 -0
- package/dist/websocket/WebSocketService.d.mts.map +1 -0
- package/dist/websocket/WebSocketService.mjs +190 -0
- package/dist/websocket/WebSocketService.mjs.map +1 -0
- package/dist/websocket/index.cjs +18 -0
- package/dist/websocket/index.cjs.map +1 -0
- package/dist/websocket/index.d.cts +2 -0
- package/dist/websocket/index.d.cts.map +1 -0
- package/dist/websocket/index.d.mts +2 -0
- package/dist/websocket/index.d.mts.map +1 -0
- package/dist/websocket/index.mjs +2 -0
- package/dist/websocket/index.mjs.map +1 -0
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [13.1.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `WebSocketService` for WebSockets support ([#3450](https://github.com/MetaMask/snaps/pull/3450))
|
|
15
|
+
- This service must be instantiated to invoke `onWebSocketEvent` when WebSocket
|
|
16
|
+
messages are received.
|
|
17
|
+
- Add `SnapController:init` to support `onStart` handler ([#3455](https://github.com/MetaMask/snaps/pull/3455))
|
|
18
|
+
- This function should be called when the client has been fully started.
|
|
19
|
+
|
|
10
20
|
## [13.0.0]
|
|
11
21
|
|
|
12
22
|
### Changed
|
|
@@ -809,7 +819,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
809
819
|
- The version of the package no longer needs to match the version of all other
|
|
810
820
|
MetaMask Snaps packages.
|
|
811
821
|
|
|
812
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@13.
|
|
822
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@13.1.0...HEAD
|
|
823
|
+
[13.1.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@13.0.0...@metamask/snaps-controllers@13.1.0
|
|
813
824
|
[13.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@12.3.1...@metamask/snaps-controllers@13.0.0
|
|
814
825
|
[12.3.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@12.3.0...@metamask/snaps-controllers@12.3.1
|
|
815
826
|
[12.3.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@12.2.0...@metamask/snaps-controllers@12.3.0
|
package/dist/index.cjs
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./cronjob/index.cjs"), exports);
|
|
|
21
21
|
__exportStar(require("./interface/index.cjs"), exports);
|
|
22
22
|
__exportStar(require("./insights/index.cjs"), exports);
|
|
23
23
|
__exportStar(require("./multichain/index.cjs"), exports);
|
|
24
|
+
__exportStar(require("./websocket/index.cjs"), exports);
|
|
24
25
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,uDAA2B;AAC3B,oDAAwB;AACxB,8CAAwB;AACxB,sDAA0B;AAC1B,wDAA4B;AAC5B,uDAA2B;AAC3B,yDAA6B","sourcesContent":["export type { Json } from '@metamask/utils';\nexport * from './services';\nexport * from './snaps';\nexport * from './utils';\nexport * from './cronjob';\nexport * from './interface';\nexport * from './insights';\nexport * from './multichain';\n"]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,uDAA2B;AAC3B,oDAAwB;AACxB,8CAAwB;AACxB,sDAA0B;AAC1B,wDAA4B;AAC5B,uDAA2B;AAC3B,yDAA6B;AAC7B,wDAA4B","sourcesContent":["export type { Json } from '@metamask/utils';\nexport * from './services';\nexport * from './snaps';\nexport * from './utils';\nexport * from './cronjob';\nexport * from './interface';\nexport * from './insights';\nexport * from './multichain';\nexport * from './websocket';\n"]}
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,wBAAwB;AAC5C,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,wBAAwB;AAC5C,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B;AAC7B,sCAA4B"}
|
package/dist/index.d.mts
CHANGED
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,wBAAwB;AAC5C,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,wBAAwB;AAC5C,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B;AAC7B,sCAA4B"}
|
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B","sourcesContent":["export type { Json } from '@metamask/utils';\nexport * from './services';\nexport * from './snaps';\nexport * from './utils';\nexport * from './cronjob';\nexport * from './interface';\nexport * from './insights';\nexport * from './multichain';\n"]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,qCAA2B;AAC3B,kCAAwB;AACxB,4BAAwB;AACxB,oCAA0B;AAC1B,sCAA4B;AAC5B,qCAA2B;AAC3B,uCAA6B;AAC7B,sCAA4B","sourcesContent":["export type { Json } from '@metamask/utils';\nexport * from './services';\nexport * from './snaps';\nexport * from './utils';\nexport * from './cronjob';\nexport * from './interface';\nexport * from './insights';\nexport * from './multichain';\nexport * from './websocket';\n"]}
|
|
@@ -249,6 +249,7 @@ class SnapController extends base_controller_1.BaseController {
|
|
|
249
249
|
* actions.
|
|
250
250
|
*/
|
|
251
251
|
#registerMessageHandlers() {
|
|
252
|
+
this.messagingSystem.registerActionHandler(`${exports.controllerName}:init`, (...args) => this.init(...args));
|
|
252
253
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:clearSnapState`, (...args) => this.clearSnapState(...args));
|
|
253
254
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:get`, (...args) => this.get(...args));
|
|
254
255
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:getSnapState`, async (...args) => this.getSnapState(...args));
|
|
@@ -271,6 +272,24 @@ class SnapController extends base_controller_1.BaseController {
|
|
|
271
272
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:stopAllSnaps`, async (...args) => this.stopAllSnaps(...args));
|
|
272
273
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:isMinimumPlatformVersion`, (...args) => this.isMinimumPlatformVersion(...args));
|
|
273
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Initialise the SnapController.
|
|
277
|
+
*
|
|
278
|
+
* Currently this method calls the `onStart` lifecycle hook for all
|
|
279
|
+
* installed Snaps.
|
|
280
|
+
*/
|
|
281
|
+
init() {
|
|
282
|
+
const snaps = this.getRunnableSnaps();
|
|
283
|
+
for (const { id } of snaps) {
|
|
284
|
+
const hasLifecycleHooksEndowment = this.messagingSystem.call('PermissionController:hasPermission', id, snaps_rpc_methods_1.SnapEndowments.LifecycleHooks);
|
|
285
|
+
if (!hasLifecycleHooksEndowment) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
this.#callLifecycleHook(constants_1.METAMASK_ORIGIN, id, snaps_utils_1.HandlerType.OnStart).catch((error) => {
|
|
289
|
+
(0, snaps_utils_1.logError)(`Error when calling \`onStart\` lifecycle hook for Snap "${id}": ${(0, snaps_sdk_1.getErrorMessage)(error)}`);
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
274
293
|
#handlePreinstalledSnaps(preinstalledSnaps) {
|
|
275
294
|
for (const { snapId, manifest, files, removable, hidden, hideSnapBranding, } of preinstalledSnaps) {
|
|
276
295
|
const existingSnap = this.get(snapId);
|