@metamask/snaps-controllers 9.6.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 +9 -1
- package/dist/services/node-js/NodeProcessExecutionService.mjs +3 -1
- package/dist/services/node-js/NodeProcessExecutionService.mjs.map +1 -1
- package/dist/services/node-js/NodeThreadExecutionService.mjs +3 -1
- package/dist/services/node-js/NodeThreadExecutionService.mjs.map +1 -1
- package/dist/services/offscreen/OffscreenExecutionService.d.cts +1 -1
- package/dist/services/offscreen/OffscreenExecutionService.d.mts +1 -1
- package/dist/services/webview/WebViewExecutionService.d.cts +1 -1
- package/dist/services/webview/WebViewExecutionService.d.mts +1 -1
- package/dist/snaps/SnapController.cjs +4 -2
- package/dist/snaps/SnapController.cjs.map +1 -1
- package/dist/snaps/SnapController.d.cts +1 -0
- package/dist/snaps/SnapController.d.cts.map +1 -1
- package/dist/snaps/SnapController.d.mts +1 -0
- package/dist/snaps/SnapController.d.mts.map +1 -1
- package/dist/snaps/SnapController.mjs +4 -2
- package/dist/snaps/SnapController.mjs.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [9.7.0]
|
|
10
|
+
### Added
|
|
11
|
+
- Add `hideSnapBranding` flag for preinstalled Snaps ([#2713](https://github.com/MetaMask/snaps/pull/2713), [#2717](https://github.com/MetaMask/snaps/pull/2717))
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
- Fix invalid types in type declaration in some cases ([#2714](https://github.com/MetaMask/snaps/pull/2714))
|
|
15
|
+
|
|
9
16
|
## [9.6.0]
|
|
10
17
|
### Added
|
|
11
18
|
- Add `stopAllSnaps` function to `SnapController` ([#2674](https://github.com/MetaMask/snaps/pull/2674))
|
|
@@ -367,7 +374,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
367
374
|
- The version of the package no longer needs to match the version of all other
|
|
368
375
|
MetaMask Snaps packages.
|
|
369
376
|
|
|
370
|
-
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.
|
|
377
|
+
[Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.7.0...HEAD
|
|
378
|
+
[9.7.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.6.0...@metamask/snaps-controllers@9.7.0
|
|
371
379
|
[9.6.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.5.0...@metamask/snaps-controllers@9.6.0
|
|
372
380
|
[9.5.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.4.0...@metamask/snaps-controllers@9.5.0
|
|
373
381
|
[9.4.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-controllers@9.3.1...@metamask/snaps-controllers@9.4.0
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { createRequire as $createRequire } from "module";
|
|
2
|
+
const $require = $createRequire(import.meta.url);
|
|
1
3
|
import $metamaskpostmessagestream from "@metamask/post-message-stream";
|
|
2
4
|
const { ProcessParentMessageStream } = $metamaskpostmessagestream;
|
|
3
5
|
import { fork } from "child_process";
|
|
4
6
|
import { AbstractExecutionService } from "../index.mjs";
|
|
5
7
|
export class NodeProcessExecutionService extends AbstractExecutionService {
|
|
6
8
|
async initEnvStream() {
|
|
7
|
-
const worker = fork(require.resolve('@metamask/snaps-execution-environments/dist/browserify/node-process/bundle.js'), {
|
|
9
|
+
const worker = fork($require.resolve('@metamask/snaps-execution-environments/dist/browserify/node-process/bundle.js'), {
|
|
8
10
|
stdio: 'pipe',
|
|
9
11
|
});
|
|
10
12
|
// Capturing `stdout` and `stderr` from the worker prevents the worker from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeProcessExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeProcessExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeProcessExecutionService.ts"],"names":[],"mappings":";;;;AAGA,OAAO,EAAE,IAAI,EAAE,sBAAsB;AAGrC,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,MAAM,OAAO,2BAA4B,SAAQ,wBAAsC;IAC3E,KAAK,CAAC,aAAa;QAI3B,MAAM,MAAM,GAAG,IAAI,kBAEf,+EAA+E,GAEjF;YACE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACnE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,YAAY,CAAC,UAA0C;QAC/D,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ProcessParentMessageStream } from '@metamask/post-message-stream';\nimport type { ChildProcess } from 'child_process';\nimport { fork } from 'child_process';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {\n protected async initEnvStream(): Promise<{\n worker: ChildProcess;\n stream: BasePostMessageStream;\n }> {\n const worker = fork(\n require.resolve(\n '@metamask/snaps-execution-environments/dist/browserify/node-process/bundle.js',\n ),\n {\n stdio: 'pipe',\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr?.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ProcessParentMessageStream({ process: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected terminateJob(jobWrapper: TerminateJobArgs<ChildProcess>): void {\n jobWrapper.worker?.kill();\n }\n}\n"]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { createRequire as $createRequire } from "module";
|
|
2
|
+
const $require = $createRequire(import.meta.url);
|
|
1
3
|
import $metamaskpostmessagestream from "@metamask/post-message-stream";
|
|
2
4
|
const { ThreadParentMessageStream } = $metamaskpostmessagestream;
|
|
3
5
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
@@ -5,7 +7,7 @@ import { Worker } from "worker_threads";
|
|
|
5
7
|
import { AbstractExecutionService } from "../index.mjs";
|
|
6
8
|
export class NodeThreadExecutionService extends AbstractExecutionService {
|
|
7
9
|
async initEnvStream() {
|
|
8
|
-
const worker = new Worker(require.resolve('@metamask/snaps-execution-environments/dist/browserify/node-thread/bundle.js'), {
|
|
10
|
+
const worker = new Worker($require.resolve('@metamask/snaps-execution-environments/dist/browserify/node-thread/bundle.js'), {
|
|
9
11
|
stdout: true,
|
|
10
12
|
stderr: true,
|
|
11
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeThreadExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeThreadExecutionService.mjs","sourceRoot":"","sources":["../../../src/services/node-js/NodeThreadExecutionService.ts"],"names":[],"mappings":";;;;AAEA,wDAAwD;AACxD,OAAO,EAAE,MAAM,EAAE,uBAAuB;AAGxC,OAAO,EAAE,wBAAwB,EAAE,qBAAW;AAE9C,MAAM,OAAO,0BAA2B,SAAQ,wBAAgC;IACpE,KAAK,CAAC,aAAa;QAI3B,MAAM,MAAM,GAAG,IAAI,MAAM,kBAErB,8EAA8E,GAEhF;YACE,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;SACb,CACF,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,UAAoC;QAEpC,MAAM,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IACvC,CAAC;CACF","sourcesContent":["import type { BasePostMessageStream } from '@metamask/post-message-stream';\nimport { ThreadParentMessageStream } from '@metamask/post-message-stream';\n// eslint-disable-next-line @typescript-eslint/no-shadow\nimport { Worker } from 'worker_threads';\n\nimport type { TerminateJobArgs } from '..';\nimport { AbstractExecutionService } from '..';\n\nexport class NodeThreadExecutionService extends AbstractExecutionService<Worker> {\n protected async initEnvStream(): Promise<{\n worker: Worker;\n stream: BasePostMessageStream;\n }> {\n const worker = new Worker(\n require.resolve(\n '@metamask/snaps-execution-environments/dist/browserify/node-thread/bundle.js',\n ),\n {\n stdout: true,\n stderr: true,\n },\n );\n\n // Capturing `stdout` and `stderr` from the worker prevents the worker from\n // writing to them directly, making it easier to capture them Jest.\n worker.stdout.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.log(data.toString());\n });\n\n worker.stderr.on('data', (data) => {\n // eslint-disable-next-line no-console\n console.error(data.toString());\n });\n\n const stream = new ThreadParentMessageStream({ thread: worker });\n return Promise.resolve({ worker, stream });\n }\n\n protected async terminateJob(\n jobWrapper: TerminateJobArgs<Worker>,\n ): Promise<void> {\n await jobWrapper.worker?.terminate();\n }\n}\n"]}
|
|
@@ -26,7 +26,7 @@ export declare class OffscreenExecutionService extends ProxyExecutionService {
|
|
|
26
26
|
*/
|
|
27
27
|
protected initEnvStream(jobId: string): Promise<{
|
|
28
28
|
worker: string;
|
|
29
|
-
stream: import("
|
|
29
|
+
stream: import("../index.cjs").ProxyPostMessageStream;
|
|
30
30
|
}>;
|
|
31
31
|
}
|
|
32
32
|
export {};
|
|
@@ -26,7 +26,7 @@ export declare class OffscreenExecutionService extends ProxyExecutionService {
|
|
|
26
26
|
*/
|
|
27
27
|
protected initEnvStream(jobId: string): Promise<{
|
|
28
28
|
worker: string;
|
|
29
|
-
stream: import("
|
|
29
|
+
stream: import("../index.mjs").ProxyPostMessageStream;
|
|
30
30
|
}>;
|
|
31
31
|
}
|
|
32
32
|
export {};
|
|
@@ -16,7 +16,7 @@ export declare class WebViewExecutionService extends ProxyExecutionService {
|
|
|
16
16
|
*/
|
|
17
17
|
protected initEnvStream(jobId: string): Promise<{
|
|
18
18
|
worker: string;
|
|
19
|
-
stream: import("
|
|
19
|
+
stream: import("../index.cjs").ProxyPostMessageStream;
|
|
20
20
|
}>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=WebViewExecutionService.d.cts.map
|
|
@@ -16,7 +16,7 @@ export declare class WebViewExecutionService extends ProxyExecutionService {
|
|
|
16
16
|
*/
|
|
17
17
|
protected initEnvStream(jobId: string): Promise<{
|
|
18
18
|
worker: string;
|
|
19
|
-
stream: import("
|
|
19
|
+
stream: import("../index.mjs").ProxyPostMessageStream;
|
|
20
20
|
}>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=WebViewExecutionService.d.mts.map
|
|
@@ -1071,7 +1071,7 @@ _SnapController_closeAllConnections = new WeakMap(), _SnapController_dynamicPerm
|
|
|
1071
1071
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:getFile`, async (...args) => this.getSnapFile(...args));
|
|
1072
1072
|
this.messagingSystem.registerActionHandler(`${exports.controllerName}:stopAllSnaps`, async (...args) => this.stopAllSnaps(...args));
|
|
1073
1073
|
}, _SnapController_handlePreinstalledSnaps = function _SnapController_handlePreinstalledSnaps(preinstalledSnaps) {
|
|
1074
|
-
for (const { snapId, manifest, files, removable, hidden, } of preinstalledSnaps) {
|
|
1074
|
+
for (const { snapId, manifest, files, removable, hidden, hideSnapBranding, } of preinstalledSnaps) {
|
|
1075
1075
|
const existingSnap = this.get(snapId);
|
|
1076
1076
|
const isAlreadyInstalled = existingSnap !== undefined;
|
|
1077
1077
|
const isUpdate = isAlreadyInstalled && (0, utils_1.gtVersion)(manifest.version, existingSnap.version);
|
|
@@ -1111,6 +1111,7 @@ _SnapController_closeAllConnections = new WeakMap(), _SnapController_dynamicPerm
|
|
|
1111
1111
|
files: filesObject,
|
|
1112
1112
|
removable,
|
|
1113
1113
|
hidden,
|
|
1114
|
+
hideSnapBranding,
|
|
1114
1115
|
preinstalled: true,
|
|
1115
1116
|
});
|
|
1116
1117
|
// Setup permissions
|
|
@@ -1480,7 +1481,7 @@ async function _SnapController_getEndowments(snapId) {
|
|
|
1480
1481
|
}
|
|
1481
1482
|
return dedupedEndowments;
|
|
1482
1483
|
}, _SnapController_set = function _SnapController_set(args) {
|
|
1483
|
-
const { id: snapId, origin, files, isUpdate = false, removable, preinstalled, hidden, } = args;
|
|
1484
|
+
const { id: snapId, origin, files, isUpdate = false, removable, preinstalled, hidden, hideSnapBranding, } = args;
|
|
1484
1485
|
const { manifest, sourceCode: sourceCodeFile, svgIcon, auxiliaryFiles: rawAuxiliaryFiles, localizationFiles, } = files;
|
|
1485
1486
|
(0, snaps_utils_1.assertIsSnapManifest)(manifest.result);
|
|
1486
1487
|
const { version } = manifest.result;
|
|
@@ -1515,6 +1516,7 @@ async function _SnapController_getEndowments(snapId) {
|
|
|
1515
1516
|
removable,
|
|
1516
1517
|
preinstalled,
|
|
1517
1518
|
hidden,
|
|
1519
|
+
hideSnapBranding,
|
|
1518
1520
|
id: snapId,
|
|
1519
1521
|
initialConnections: manifest.result.initialConnections,
|
|
1520
1522
|
initialPermissions: manifest.result.initialPermissions,
|