@metamask/snaps-controllers 8.1.0 → 8.2.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 +17 -1
- package/dist/{chunk-TO6ZEBIA.mjs → chunk-3A72M4GC.mjs} +2 -2
- package/dist/{chunk-ZVGZG25U.js → chunk-3AANDIXT.js} +3 -3
- package/dist/{chunk-X5MFC3VX.mjs → chunk-3OJFF5CK.mjs} +2 -2
- package/dist/{chunk-GTDDODNP.mjs → chunk-567BFPSL.mjs} +9 -2
- package/dist/chunk-567BFPSL.mjs.map +1 -0
- package/dist/{chunk-RS3WN6D3.mjs → chunk-7IJQGFT5.mjs} +2 -2
- package/dist/{chunk-U4DZUKNN.js → chunk-7TYZZFHZ.js} +16 -3
- package/dist/chunk-7TYZZFHZ.js.map +1 -0
- package/dist/{chunk-4DPX4O3T.js → chunk-CDTGUNSA.js} +9 -2
- package/dist/chunk-CDTGUNSA.js.map +1 -0
- package/dist/{chunk-74GN6MIJ.js → chunk-FPGAQ6MT.js} +3 -3
- package/dist/{chunk-Y7ZOSPEN.js → chunk-HK4OAMJT.js} +3 -3
- package/dist/{chunk-E5RRFMGF.js → chunk-HQ6HMINL.js} +3 -3
- package/dist/{chunk-FCRPOA4I.js → chunk-KH72WRHR.js} +3 -3
- package/dist/{chunk-QLEQIXCE.mjs → chunk-LRVK45HN.mjs} +2 -2
- package/dist/{chunk-2UAU42DO.js → chunk-PIQFC66N.js} +12 -8
- package/dist/chunk-PIQFC66N.js.map +1 -0
- package/dist/{chunk-PXKCSAT6.mjs → chunk-PMZXFAQI.mjs} +2 -2
- package/dist/{chunk-FCCGRGQS.mjs → chunk-QLFH3MC6.mjs} +2 -2
- package/dist/{chunk-QP5LV734.mjs → chunk-QLWR3M4Q.mjs} +9 -5
- package/dist/chunk-QLWR3M4Q.mjs.map +1 -0
- package/dist/{chunk-G4S6UXQ2.js → chunk-RW7AYHRG.js} +3 -3
- package/dist/{chunk-IPYO7FKR.mjs → chunk-RXZGXJOS.mjs} +48 -9
- package/dist/chunk-RXZGXJOS.mjs.map +1 -0
- package/dist/{chunk-SIW7ZXQF.js → chunk-S775IABY.js} +10 -10
- package/dist/{chunk-P5MRZOGW.mjs → chunk-SAAURQ5A.mjs} +2 -2
- package/dist/{chunk-YP37KUG5.js → chunk-TEBNQ3AE.js} +56 -17
- package/dist/chunk-TEBNQ3AE.js.map +1 -0
- package/dist/{chunk-ZQNBP53T.mjs → chunk-UJJCRV7W.mjs} +16 -3
- package/dist/chunk-UJJCRV7W.mjs.map +1 -0
- package/dist/{chunk-3Y4IJKZY.mjs → chunk-YUWYMNIX.mjs} +2 -2
- package/dist/{chunk-PAFO2KIN.js → chunk-ZRC46TUF.js} +3 -3
- package/dist/cronjob/CronjobController.js +9 -9
- package/dist/cronjob/CronjobController.mjs +9 -9
- package/dist/cronjob/index.js +9 -9
- package/dist/cronjob/index.mjs +9 -9
- package/dist/index.js +12 -10
- package/dist/index.mjs +11 -9
- package/dist/interface/SnapInterfaceController.js +3 -3
- package/dist/interface/SnapInterfaceController.mjs +2 -2
- package/dist/interface/index.js +3 -3
- package/dist/interface/index.mjs +2 -2
- package/dist/interface/utils.js +4 -2
- package/dist/interface/utils.mjs +5 -3
- package/dist/node.js +14 -12
- package/dist/node.mjs +13 -11
- package/dist/react-native.js +13 -11
- package/dist/react-native.mjs +12 -10
- package/dist/services/AbstractExecutionService.js +3 -3
- package/dist/services/AbstractExecutionService.mjs +2 -2
- package/dist/services/browser.js +8 -8
- package/dist/services/browser.mjs +7 -7
- package/dist/services/iframe/IframeExecutionService.js +4 -4
- package/dist/services/iframe/IframeExecutionService.mjs +3 -3
- package/dist/services/iframe/index.js +4 -4
- package/dist/services/iframe/index.mjs +3 -3
- package/dist/services/index.js +7 -7
- package/dist/services/index.mjs +6 -6
- package/dist/services/node-js/NodeProcessExecutionService.js +8 -8
- package/dist/services/node-js/NodeProcessExecutionService.mjs +7 -7
- package/dist/services/node-js/NodeThreadExecutionService.js +8 -8
- package/dist/services/node-js/NodeThreadExecutionService.mjs +7 -7
- package/dist/services/node-js/index.js +9 -9
- package/dist/services/node-js/index.mjs +8 -8
- package/dist/services/node.js +9 -9
- package/dist/services/node.mjs +8 -8
- package/dist/services/offscreen/OffscreenExecutionService.js +5 -5
- package/dist/services/offscreen/OffscreenExecutionService.mjs +4 -4
- package/dist/services/offscreen/index.js +5 -5
- package/dist/services/offscreen/index.mjs +4 -4
- package/dist/services/proxy/ProxyExecutionService.js +4 -4
- package/dist/services/proxy/ProxyExecutionService.mjs +3 -3
- package/dist/services/react-native.js +8 -8
- package/dist/services/react-native.mjs +7 -7
- package/dist/services/webview/WebViewExecutionService.js +5 -5
- package/dist/services/webview/WebViewExecutionService.mjs +4 -4
- package/dist/services/webview/index.js +5 -5
- package/dist/services/webview/index.mjs +4 -4
- package/dist/services/webworker/WebWorkerExecutionService.js +4 -4
- package/dist/services/webworker/WebWorkerExecutionService.mjs +3 -3
- package/dist/services/webworker/index.js +4 -4
- package/dist/services/webworker/index.mjs +3 -3
- package/dist/snaps/SnapController.js +3 -3
- package/dist/snaps/SnapController.mjs +2 -2
- package/dist/snaps/index.js +3 -3
- package/dist/snaps/index.mjs +2 -2
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/interface/SnapInterfaceController.d.ts +4 -2
- package/dist/types/interface/utils.d.ts +8 -1
- package/dist/types/snaps/SnapController.d.ts +11 -2
- package/dist/types/utils.d.ts +13 -0
- package/dist/utils.js +4 -2
- package/dist/utils.mjs +3 -1
- package/package.json +7 -7
- package/dist/chunk-2UAU42DO.js.map +0 -1
- package/dist/chunk-4DPX4O3T.js.map +0 -1
- package/dist/chunk-GTDDODNP.mjs.map +0 -1
- package/dist/chunk-IPYO7FKR.mjs.map +0 -1
- package/dist/chunk-QP5LV734.mjs.map +0 -1
- package/dist/chunk-U4DZUKNN.js.map +0 -1
- package/dist/chunk-YP37KUG5.js.map +0 -1
- package/dist/chunk-ZQNBP53T.mjs.map +0 -1
- /package/dist/{chunk-TO6ZEBIA.mjs.map → chunk-3A72M4GC.mjs.map} +0 -0
- /package/dist/{chunk-ZVGZG25U.js.map → chunk-3AANDIXT.js.map} +0 -0
- /package/dist/{chunk-X5MFC3VX.mjs.map → chunk-3OJFF5CK.mjs.map} +0 -0
- /package/dist/{chunk-RS3WN6D3.mjs.map → chunk-7IJQGFT5.mjs.map} +0 -0
- /package/dist/{chunk-74GN6MIJ.js.map → chunk-FPGAQ6MT.js.map} +0 -0
- /package/dist/{chunk-Y7ZOSPEN.js.map → chunk-HK4OAMJT.js.map} +0 -0
- /package/dist/{chunk-E5RRFMGF.js.map → chunk-HQ6HMINL.js.map} +0 -0
- /package/dist/{chunk-FCRPOA4I.js.map → chunk-KH72WRHR.js.map} +0 -0
- /package/dist/{chunk-QLEQIXCE.mjs.map → chunk-LRVK45HN.mjs.map} +0 -0
- /package/dist/{chunk-PXKCSAT6.mjs.map → chunk-PMZXFAQI.mjs.map} +0 -0
- /package/dist/{chunk-FCCGRGQS.mjs.map → chunk-QLFH3MC6.mjs.map} +0 -0
- /package/dist/{chunk-G4S6UXQ2.js.map → chunk-RW7AYHRG.js.map} +0 -0
- /package/dist/{chunk-SIW7ZXQF.js.map → chunk-S775IABY.js.map} +0 -0
- /package/dist/{chunk-P5MRZOGW.mjs.map → chunk-SAAURQ5A.mjs.map} +0 -0
- /package/dist/{chunk-3Y4IJKZY.mjs.map → chunk-YUWYMNIX.mjs.map} +0 -0
- /package/dist/{chunk-PAFO2KIN.js.map → chunk-ZRC46TUF.js.map} +0 -0
|
@@ -4,7 +4,7 @@ var _chunkNXZVKBSVjs = require('./chunk-NXZVKBSV.js');
|
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkCDTGUNSAjs = require('./chunk-CDTGUNSA.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkBOFPNIRXjs = require('./chunk-BOFPNIRX.js');
|
|
@@ -101,7 +101,7 @@ var AbstractExecutionService = class {
|
|
|
101
101
|
throw new Error(`Job with id "${jobId}" not found.`);
|
|
102
102
|
}
|
|
103
103
|
try {
|
|
104
|
-
const result = await
|
|
104
|
+
const result = await _chunkCDTGUNSAjs.withTimeout.call(void 0,
|
|
105
105
|
this.command(jobId, {
|
|
106
106
|
jsonrpc: "2.0",
|
|
107
107
|
method: "terminate",
|
|
@@ -110,7 +110,7 @@ var AbstractExecutionService = class {
|
|
|
110
110
|
}),
|
|
111
111
|
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _terminationTimeout)
|
|
112
112
|
);
|
|
113
|
-
if (result ===
|
|
113
|
+
if (result === _chunkCDTGUNSAjs.hasTimedOut || result !== "OK") {
|
|
114
114
|
_snapsutils.logError.call(void 0, `Job "${jobId}" failed to terminate gracefully.`, result);
|
|
115
115
|
}
|
|
116
116
|
} catch {
|
|
@@ -169,8 +169,8 @@ var AbstractExecutionService = class {
|
|
|
169
169
|
* @throws If the execution service returns an error or execution times out.
|
|
170
170
|
*/
|
|
171
171
|
async initStreams(jobId, timer) {
|
|
172
|
-
const result = await
|
|
173
|
-
if (result ===
|
|
172
|
+
const result = await _chunkCDTGUNSAjs.withTimeout.call(void 0, this.initEnvStream(jobId), timer);
|
|
173
|
+
if (result === _chunkCDTGUNSAjs.hasTimedOut) {
|
|
174
174
|
this.terminateJob({ id: jobId });
|
|
175
175
|
throw new Error("The Snaps execution environment failed to start.");
|
|
176
176
|
}
|
|
@@ -272,7 +272,7 @@ var AbstractExecutionService = class {
|
|
|
272
272
|
const job = await this.initJob(jobId, timer);
|
|
273
273
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _mapSnapAndJob, mapSnapAndJob_fn).call(this, snapId, job.id);
|
|
274
274
|
if (_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _usePing)) {
|
|
275
|
-
const pingResult = await
|
|
275
|
+
const pingResult = await _chunkCDTGUNSAjs.withTimeout.call(void 0,
|
|
276
276
|
this.command(job.id, {
|
|
277
277
|
jsonrpc: "2.0",
|
|
278
278
|
method: "ping",
|
|
@@ -280,14 +280,14 @@ var AbstractExecutionService = class {
|
|
|
280
280
|
}),
|
|
281
281
|
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _pingTimeout)
|
|
282
282
|
);
|
|
283
|
-
if (pingResult ===
|
|
283
|
+
if (pingResult === _chunkCDTGUNSAjs.hasTimedOut) {
|
|
284
284
|
throw new Error("The Snaps execution environment failed to start.");
|
|
285
285
|
}
|
|
286
286
|
}
|
|
287
287
|
const rpcStream = job.streams.rpc;
|
|
288
288
|
this.setupSnapProvider(snapId, rpcStream);
|
|
289
289
|
const remainingTime = timer.remaining;
|
|
290
|
-
const result = await
|
|
290
|
+
const result = await _chunkCDTGUNSAjs.withTimeout.call(void 0,
|
|
291
291
|
this.command(job.id, {
|
|
292
292
|
jsonrpc: "2.0",
|
|
293
293
|
method: "executeSnap",
|
|
@@ -296,7 +296,7 @@ var AbstractExecutionService = class {
|
|
|
296
296
|
}),
|
|
297
297
|
remainingTime
|
|
298
298
|
);
|
|
299
|
-
if (result ===
|
|
299
|
+
if (result === _chunkCDTGUNSAjs.hasTimedOut) {
|
|
300
300
|
throw new Error(`${snapId} failed to start.`);
|
|
301
301
|
}
|
|
302
302
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _createSnapHooks, createSnapHooks_fn).call(this, snapId, job.id);
|
|
@@ -397,4 +397,4 @@ function setupMultiplex(connectionStream, streamName) {
|
|
|
397
397
|
|
|
398
398
|
|
|
399
399
|
exports.AbstractExecutionService = AbstractExecutionService; exports.setupMultiplex = setupMultiplex;
|
|
400
|
-
//# sourceMappingURL=chunk-
|
|
400
|
+
//# sourceMappingURL=chunk-S775IABY.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-IGC4E7PI.mjs";
|
|
4
4
|
import {
|
|
5
5
|
ProxyExecutionService
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-3A72M4GC.mjs";
|
|
7
7
|
import {
|
|
8
8
|
__privateAdd,
|
|
9
9
|
__privateGet,
|
|
@@ -55,4 +55,4 @@ ensureWebViewLoaded_fn = async function() {
|
|
|
55
55
|
export {
|
|
56
56
|
WebViewExecutionService
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-SAAURQ5A.mjs.map
|
|
@@ -20,7 +20,8 @@ var _chunkNXZVKBSVjs = require('./chunk-NXZVKBSV.js');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
|
|
24
|
+
var _chunkCDTGUNSAjs = require('./chunk-CDTGUNSA.js');
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
var _chunkBOFPNIRXjs = require('./chunk-BOFPNIRX.js');
|
|
@@ -117,7 +118,7 @@ function truncateSnap(snap) {
|
|
|
117
118
|
return truncatedSnap;
|
|
118
119
|
}
|
|
119
120
|
var name = "SnapController";
|
|
120
|
-
var _closeAllConnections, _dynamicPermissions, _environmentEndowmentPermissions, _excludedPermissions, _featureFlags, _fetchFunction, _idleTimeCheckInterval, _maxIdleTime, _encryptor, _getMnemonic, _detectSnapLocation, _snapsRuntimeData, _rollbackSnapshots, _timeoutForLastRequestStatus, _statusMachine, _initializeStateMachine, initializeStateMachine_fn, _registerMessageHandlers, registerMessageHandlers_fn, _handlePreinstalledSnaps, handlePreinstalledSnaps_fn, _pollForLastRequestStatus, pollForLastRequestStatus_fn, _blockSnap, blockSnap_fn, _unblockSnap, unblockSnap_fn, _assertIsInstallAllowed, assertIsInstallAllowed_fn, _stopSnapsLastRequestPastMax, stopSnapsLastRequestPastMax_fn, _transition, transition_fn, _terminateSnap, terminateSnap_fn, _getSnapEncryptionKey, getSnapEncryptionKey_fn, _decryptSnapState, decryptSnapState_fn, _encryptSnapState, encryptSnapState_fn, _handleInitialConnections, handleInitialConnections_fn, _addSnapToSubject, addSnapToSubject_fn, _removeSnapFromSubjects, removeSnapFromSubjects_fn, _revokeAllSnapPermissions, revokeAllSnapPermissions_fn, _createApproval, createApproval_fn, _updateApproval, updateApproval_fn, _resolveAllowlistVersion, resolveAllowlistVersion_fn, _add, add_fn, _startSnap, startSnap_fn, _getEndowments, getEndowments_fn, _set, set_fn, _validateSnapPermissions, validateSnapPermissions_fn, _getExecutionTimeout, getExecutionTimeout_fn, _getRpcRequestHandler, getRpcRequestHandler_fn, _createInterface, createInterface_fn, _assertInterfaceExists, assertInterfaceExists_fn, _transformSnapRpcRequestResult, transformSnapRpcRequestResult_fn, _assertSnapRpcRequestResult, assertSnapRpcRequestResult_fn, _recordSnapRpcRequestStart, recordSnapRpcRequestStart_fn, _recordSnapRpcRequestFinish, recordSnapRpcRequestFinish_fn, _getRollbackSnapshot, getRollbackSnapshot_fn, _createRollbackSnapshot, createRollbackSnapshot_fn, _rollbackSnap, rollbackSnap_fn, _rollbackSnaps, rollbackSnaps_fn, _getRuntime, getRuntime_fn, _getRuntimeExpect, getRuntimeExpect_fn, _setupRuntime, setupRuntime_fn, _calculatePermissionsChange, calculatePermissionsChange_fn, _updatePermissions, updatePermissions_fn, _isValidUpdate, isValidUpdate_fn, _callLifecycleHook, callLifecycleHook_fn;
|
|
121
|
+
var _closeAllConnections, _dynamicPermissions, _environmentEndowmentPermissions, _excludedPermissions, _featureFlags, _fetchFunction, _idleTimeCheckInterval, _maxIdleTime, _encryptor, _getMnemonic, _getFeatureFlags, _detectSnapLocation, _snapsRuntimeData, _rollbackSnapshots, _timeoutForLastRequestStatus, _statusMachine, _preinstalledSnaps, _initializeStateMachine, initializeStateMachine_fn, _registerMessageHandlers, registerMessageHandlers_fn, _handlePreinstalledSnaps, handlePreinstalledSnaps_fn, _pollForLastRequestStatus, pollForLastRequestStatus_fn, _blockSnap, blockSnap_fn, _unblockSnap, unblockSnap_fn, _assertIsInstallAllowed, assertIsInstallAllowed_fn, _assertCanUsePlatform, assertCanUsePlatform_fn, _stopSnapsLastRequestPastMax, stopSnapsLastRequestPastMax_fn, _transition, transition_fn, _terminateSnap, terminateSnap_fn, _getSnapEncryptionKey, getSnapEncryptionKey_fn, _decryptSnapState, decryptSnapState_fn, _encryptSnapState, encryptSnapState_fn, _handleInitialConnections, handleInitialConnections_fn, _addSnapToSubject, addSnapToSubject_fn, _removeSnapFromSubjects, removeSnapFromSubjects_fn, _revokeAllSnapPermissions, revokeAllSnapPermissions_fn, _createApproval, createApproval_fn, _updateApproval, updateApproval_fn, _resolveAllowlistVersion, resolveAllowlistVersion_fn, _add, add_fn, _startSnap, startSnap_fn, _getEndowments, getEndowments_fn, _set, set_fn, _validateSnapPermissions, validateSnapPermissions_fn, _getExecutionTimeout, getExecutionTimeout_fn, _getRpcRequestHandler, getRpcRequestHandler_fn, _createInterface, createInterface_fn, _assertInterfaceExists, assertInterfaceExists_fn, _transformSnapRpcRequestResult, transformSnapRpcRequestResult_fn, _assertSnapRpcRequestResult, assertSnapRpcRequestResult_fn, _recordSnapRpcRequestStart, recordSnapRpcRequestStart_fn, _recordSnapRpcRequestFinish, recordSnapRpcRequestFinish_fn, _getRollbackSnapshot, getRollbackSnapshot_fn, _createRollbackSnapshot, createRollbackSnapshot_fn, _rollbackSnap, rollbackSnap_fn, _rollbackSnaps, rollbackSnaps_fn, _getRuntime, getRuntime_fn, _getRuntimeExpect, getRuntimeExpect_fn, _setupRuntime, setupRuntime_fn, _calculatePermissionsChange, calculatePermissionsChange_fn, _updatePermissions, updatePermissions_fn, _isValidUpdate, isValidUpdate_fn, _callLifecycleHook, callLifecycleHook_fn;
|
|
121
122
|
var SnapController = class extends _basecontroller.BaseController {
|
|
122
123
|
constructor({
|
|
123
124
|
closeAllConnections,
|
|
@@ -132,9 +133,10 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
132
133
|
fetchFunction = globalThis.fetch.bind(globalThis),
|
|
133
134
|
featureFlags = {},
|
|
134
135
|
detectSnapLocation: detectSnapLocationFunction = _chunkPT22IXNSjs.detectSnapLocation,
|
|
135
|
-
preinstalledSnaps,
|
|
136
|
+
preinstalledSnaps = null,
|
|
136
137
|
encryptor,
|
|
137
|
-
getMnemonic
|
|
138
|
+
getMnemonic,
|
|
139
|
+
getFeatureFlags = () => ({})
|
|
138
140
|
}) {
|
|
139
141
|
super({
|
|
140
142
|
messenger,
|
|
@@ -203,6 +205,10 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
203
205
|
*/
|
|
204
206
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _unblockSnap);
|
|
205
207
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _assertIsInstallAllowed);
|
|
208
|
+
/**
|
|
209
|
+
* Asserts whether the Snaps platform is allowed to run.
|
|
210
|
+
*/
|
|
211
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _assertCanUsePlatform);
|
|
206
212
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _stopSnapsLastRequestPastMax);
|
|
207
213
|
/**
|
|
208
214
|
* Transitions between states using `snapStatusStateMachineConfig` as the template to figure out
|
|
@@ -443,11 +449,13 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
443
449
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _maxIdleTime, void 0);
|
|
444
450
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _encryptor, void 0);
|
|
445
451
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getMnemonic, void 0);
|
|
452
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getFeatureFlags, void 0);
|
|
446
453
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _detectSnapLocation, void 0);
|
|
447
454
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _snapsRuntimeData, void 0);
|
|
448
455
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _rollbackSnapshots, void 0);
|
|
449
456
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _timeoutForLastRequestStatus, void 0);
|
|
450
457
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _statusMachine, void 0);
|
|
458
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _preinstalledSnaps, void 0);
|
|
451
459
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _closeAllConnections, closeAllConnections);
|
|
452
460
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _dynamicPermissions, dynamicPermissions);
|
|
453
461
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _environmentEndowmentPermissions, environmentEndowmentPermissions);
|
|
@@ -460,6 +468,8 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
460
468
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _detectSnapLocation, detectSnapLocationFunction);
|
|
461
469
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _encryptor, encryptor);
|
|
462
470
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _getMnemonic, getMnemonic);
|
|
471
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _getFeatureFlags, getFeatureFlags);
|
|
472
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _preinstalledSnaps, preinstalledSnaps);
|
|
463
473
|
this._onUnhandledSnapError = this._onUnhandledSnapError.bind(this);
|
|
464
474
|
this._onOutboundRequest = this._onOutboundRequest.bind(this);
|
|
465
475
|
this._onOutboundResponse = this._onOutboundResponse.bind(this);
|
|
@@ -498,8 +508,8 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
498
508
|
});
|
|
499
509
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _initializeStateMachine, initializeStateMachine_fn).call(this);
|
|
500
510
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _registerMessageHandlers, registerMessageHandlers_fn).call(this);
|
|
501
|
-
if (
|
|
502
|
-
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handlePreinstalledSnaps, handlePreinstalledSnaps_fn).call(this,
|
|
511
|
+
if (_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _preinstalledSnaps)) {
|
|
512
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handlePreinstalledSnaps, handlePreinstalledSnaps_fn).call(this, _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _preinstalledSnaps));
|
|
503
513
|
}
|
|
504
514
|
Object.values(this.state?.snaps ?? {}).forEach(
|
|
505
515
|
(snap) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _setupRuntime, setupRuntime_fn).call(this, snap.id)
|
|
@@ -511,6 +521,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
511
521
|
* for more information.
|
|
512
522
|
*/
|
|
513
523
|
async updateBlockedSnaps() {
|
|
524
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
514
525
|
await this.messagingSystem.call("SnapsRegistry:update");
|
|
515
526
|
const blockedSnaps = await this.messagingSystem.call(
|
|
516
527
|
"SnapsRegistry:get",
|
|
@@ -560,6 +571,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
560
571
|
* @param snapId - The id of the Snap to start.
|
|
561
572
|
*/
|
|
562
573
|
async startSnap(snapId) {
|
|
574
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
563
575
|
const snap = this.state.snaps[snapId];
|
|
564
576
|
if (snap.enabled === false) {
|
|
565
577
|
throw new Error(`Snap "${snapId}" is disabled.`);
|
|
@@ -801,6 +813,13 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
801
813
|
state.snaps = {};
|
|
802
814
|
state.snapStates = {};
|
|
803
815
|
});
|
|
816
|
+
_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _snapsRuntimeData).clear();
|
|
817
|
+
if (_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _preinstalledSnaps)) {
|
|
818
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _handlePreinstalledSnaps, handlePreinstalledSnaps_fn).call(this, _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _preinstalledSnaps));
|
|
819
|
+
Object.values(this.state?.snaps).forEach(
|
|
820
|
+
(snap) => _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _setupRuntime, setupRuntime_fn).call(this, snap.id)
|
|
821
|
+
);
|
|
822
|
+
}
|
|
804
823
|
}
|
|
805
824
|
/**
|
|
806
825
|
* Removes the given snap from state, and clears all associated handlers
|
|
@@ -971,6 +990,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
971
990
|
* snap couldn't be installed.
|
|
972
991
|
*/
|
|
973
992
|
async installSnaps(origin, requestedSnaps) {
|
|
993
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
974
994
|
const result = {};
|
|
975
995
|
const snapIds = Object.keys(requestedSnaps);
|
|
976
996
|
const pendingUpdates = [];
|
|
@@ -1146,6 +1166,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1146
1166
|
* @returns The snap metadata if updated, `null` otherwise.
|
|
1147
1167
|
*/
|
|
1148
1168
|
async updateSnap(origin, snapId, location, newVersionRange = _snapsutils.DEFAULT_REQUESTED_SNAP_VERSION, emitEvent = true) {
|
|
1169
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1149
1170
|
if (!_utils.isValidSemVerRange.call(void 0, newVersionRange)) {
|
|
1150
1171
|
throw new Error(
|
|
1151
1172
|
`Received invalid snap version range: "${newVersionRange}".`
|
|
@@ -1165,7 +1186,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1165
1186
|
);
|
|
1166
1187
|
const snap = this.getExpect(snapId);
|
|
1167
1188
|
const oldManifest = snap.manifest;
|
|
1168
|
-
const newSnap = await
|
|
1189
|
+
const newSnap = await _chunkCDTGUNSAjs.fetchSnap.call(void 0, snapId, location);
|
|
1169
1190
|
const { sourceCode: sourceCodeFile, manifest: manifestFile } = newSnap;
|
|
1170
1191
|
const manifest = manifestFile.result;
|
|
1171
1192
|
const newVersion = manifest.version;
|
|
@@ -1189,13 +1210,19 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1189
1210
|
);
|
|
1190
1211
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _validateSnapPermissions, validateSnapPermissions_fn).call(this, processedPermissions);
|
|
1191
1212
|
const { newPermissions, unusedPermissions, approvedPermissions } = _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _calculatePermissionsChange, calculatePermissionsChange_fn).call(this, snapId, processedPermissions);
|
|
1213
|
+
const { newConnections, unusedConnections, approvedConnections } = _chunkCDTGUNSAjs.calculateConnectionsChange.call(void 0,
|
|
1214
|
+
oldManifest.initialConnections ?? {},
|
|
1215
|
+
manifest.initialConnections ?? {}
|
|
1216
|
+
);
|
|
1192
1217
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _updateApproval, updateApproval_fn).call(this, pendingApproval.id, {
|
|
1193
|
-
connections: manifest.initialConnections ?? {},
|
|
1194
1218
|
permissions: newPermissions,
|
|
1195
1219
|
newVersion: manifest.version,
|
|
1196
1220
|
newPermissions,
|
|
1197
1221
|
approvedPermissions,
|
|
1198
1222
|
unusedPermissions,
|
|
1223
|
+
newConnections,
|
|
1224
|
+
unusedConnections,
|
|
1225
|
+
approvedConnections,
|
|
1199
1226
|
loading: false
|
|
1200
1227
|
});
|
|
1201
1228
|
const { permissions: approvedNewPermissions, ...requestData } = await pendingApproval.promise;
|
|
@@ -1279,6 +1306,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1279
1306
|
* verified.
|
|
1280
1307
|
*/
|
|
1281
1308
|
async getRegistryMetadata(snapId) {
|
|
1309
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1282
1310
|
return await this.messagingSystem.call("SnapsRegistry:getMetadata", snapId);
|
|
1283
1311
|
}
|
|
1284
1312
|
/**
|
|
@@ -1356,6 +1384,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1356
1384
|
handler: handlerType,
|
|
1357
1385
|
request: rawRequest
|
|
1358
1386
|
}) {
|
|
1387
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1359
1388
|
const request = {
|
|
1360
1389
|
jsonrpc: "2.0",
|
|
1361
1390
|
id: _nanoid.nanoid.call(void 0, ),
|
|
@@ -1415,11 +1444,13 @@ _idleTimeCheckInterval = new WeakMap();
|
|
|
1415
1444
|
_maxIdleTime = new WeakMap();
|
|
1416
1445
|
_encryptor = new WeakMap();
|
|
1417
1446
|
_getMnemonic = new WeakMap();
|
|
1447
|
+
_getFeatureFlags = new WeakMap();
|
|
1418
1448
|
_detectSnapLocation = new WeakMap();
|
|
1419
1449
|
_snapsRuntimeData = new WeakMap();
|
|
1420
1450
|
_rollbackSnapshots = new WeakMap();
|
|
1421
1451
|
_timeoutForLastRequestStatus = new WeakMap();
|
|
1422
1452
|
_statusMachine = new WeakMap();
|
|
1453
|
+
_preinstalledSnaps = new WeakMap();
|
|
1423
1454
|
_initializeStateMachine = new WeakSet();
|
|
1424
1455
|
initializeStateMachine_fn = function() {
|
|
1425
1456
|
const disableGuard = ({ snapId }) => {
|
|
@@ -1680,6 +1711,14 @@ assertIsInstallAllowed_fn = async function(snapId, snapInfo) {
|
|
|
1680
1711
|
);
|
|
1681
1712
|
}
|
|
1682
1713
|
};
|
|
1714
|
+
_assertCanUsePlatform = new WeakSet();
|
|
1715
|
+
assertCanUsePlatform_fn = function() {
|
|
1716
|
+
const flags = _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _getFeatureFlags).call(this);
|
|
1717
|
+
_utils.assert.call(void 0,
|
|
1718
|
+
flags.disableSnaps !== true,
|
|
1719
|
+
"The Snaps platform requires basic functionality to be used. Enable basic functionality in the settings to use the Snaps platform."
|
|
1720
|
+
);
|
|
1721
|
+
};
|
|
1683
1722
|
_stopSnapsLastRequestPastMax = new WeakSet();
|
|
1684
1723
|
stopSnapsLastRequestPastMax_fn = async function() {
|
|
1685
1724
|
const entries = [..._chunkEXN2TFDJjs.__privateGet.call(void 0, this, _snapsRuntimeData).entries()];
|
|
@@ -1773,7 +1812,7 @@ encryptSnapState_fn = async function(snapId, state) {
|
|
|
1773
1812
|
_handleInitialConnections = new WeakSet();
|
|
1774
1813
|
handleInitialConnections_fn = function(snapId, previousInitialConnections, initialConnections) {
|
|
1775
1814
|
if (previousInitialConnections) {
|
|
1776
|
-
const revokedInitialConnections =
|
|
1815
|
+
const revokedInitialConnections = _chunkCDTGUNSAjs.setDiff.call(void 0,
|
|
1777
1816
|
previousInitialConnections,
|
|
1778
1817
|
initialConnections
|
|
1779
1818
|
);
|
|
@@ -1804,7 +1843,7 @@ addSnapToSubject_fn = function(origin, snapId) {
|
|
|
1804
1843
|
origin,
|
|
1805
1844
|
_snapsrpcmethods.WALLET_SNAP_PERMISSION_KEY,
|
|
1806
1845
|
_snapsutils.SnapCaveatType.SnapIds,
|
|
1807
|
-
{ ...existingCaveat, [snapId]: {} }
|
|
1846
|
+
{ ...existingCaveat.value, [snapId]: {} }
|
|
1808
1847
|
);
|
|
1809
1848
|
return;
|
|
1810
1849
|
}
|
|
@@ -1895,7 +1934,7 @@ add_fn = async function(args) {
|
|
|
1895
1934
|
if (!runtime.installPromise) {
|
|
1896
1935
|
_chunkNXZVKBSVjs.log.call(void 0, `Adding snap: ${snapId}`);
|
|
1897
1936
|
runtime.installPromise = (async () => {
|
|
1898
|
-
const fetchedSnap = await
|
|
1937
|
+
const fetchedSnap = await _chunkCDTGUNSAjs.fetchSnap.call(void 0, snapId, location);
|
|
1899
1938
|
const manifest = fetchedSnap.manifest.result;
|
|
1900
1939
|
if (!_utils.satisfiesVersionRange.call(void 0, manifest.version, versionRange)) {
|
|
1901
1940
|
throw new Error(
|
|
@@ -2148,8 +2187,8 @@ getRpcRequestHandler_fn = function(snapId) {
|
|
|
2148
2187
|
{ origin, handler: handlerType, request }
|
|
2149
2188
|
);
|
|
2150
2189
|
try {
|
|
2151
|
-
const result = await
|
|
2152
|
-
if (result ===
|
|
2190
|
+
const result = await _chunkCDTGUNSAjs.withTimeout.call(void 0, handleRpcRequestPromise, timer);
|
|
2191
|
+
if (result === _chunkCDTGUNSAjs.hasTimedOut) {
|
|
2153
2192
|
throw new Error(
|
|
2154
2193
|
`${snapId} failed to respond to the request in time.`
|
|
2155
2194
|
);
|
|
@@ -2358,15 +2397,15 @@ calculatePermissionsChange_fn = function(snapId, desiredPermissionsSet) {
|
|
|
2358
2397
|
"PermissionController:getPermissions",
|
|
2359
2398
|
snapId
|
|
2360
2399
|
) ?? {};
|
|
2361
|
-
const newPermissions =
|
|
2400
|
+
const newPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2362
2401
|
desiredPermissionsSet,
|
|
2363
2402
|
oldPermissions
|
|
2364
2403
|
);
|
|
2365
|
-
const unusedPermissions =
|
|
2404
|
+
const unusedPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2366
2405
|
oldPermissions,
|
|
2367
2406
|
desiredPermissionsSet
|
|
2368
2407
|
);
|
|
2369
|
-
const approvedPermissions =
|
|
2408
|
+
const approvedPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2370
2409
|
oldPermissions,
|
|
2371
2410
|
unusedPermissions
|
|
2372
2411
|
);
|
|
@@ -2434,4 +2473,4 @@ callLifecycleHook_fn = async function(snapId, handler) {
|
|
|
2434
2473
|
|
|
2435
2474
|
|
|
2436
2475
|
exports.controllerName = controllerName; exports.SNAP_APPROVAL_INSTALL = SNAP_APPROVAL_INSTALL; exports.SNAP_APPROVAL_UPDATE = SNAP_APPROVAL_UPDATE; exports.SNAP_APPROVAL_RESULT = SNAP_APPROVAL_RESULT; exports.SnapController = SnapController;
|
|
2437
|
-
//# sourceMappingURL=chunk-
|
|
2476
|
+
//# sourceMappingURL=chunk-TEBNQ3AE.js.map
|