@metamask/snaps-controllers 8.1.1 → 8.3.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 +19 -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-WMT2TIOI.mjs → chunk-JCQR3I2Q.mjs} +64 -24
- package/dist/chunk-JCQR3I2Q.mjs.map +1 -0
- package/dist/{chunk-FCRPOA4I.js → chunk-KH72WRHR.js} +3 -3
- package/dist/{chunk-QLEQIXCE.mjs → chunk-LRVK45HN.mjs} +2 -2
- package/dist/{chunk-A6RUJL4K.js → chunk-NRZEYYBQ.js} +72 -32
- package/dist/chunk-NRZEYYBQ.js.map +1 -0
- 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-SIW7ZXQF.js → chunk-S775IABY.js} +10 -10
- package/dist/{chunk-P5MRZOGW.mjs → chunk-SAAURQ5A.mjs} +2 -2
- 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 +10 -1
- 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-A6RUJL4K.js.map +0 -1
- package/dist/chunk-GTDDODNP.mjs.map +0 -1
- package/dist/chunk-QP5LV734.mjs.map +0 -1
- package/dist/chunk-U4DZUKNN.js.map +0 -1
- package/dist/chunk-WMT2TIOI.mjs.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
|
@@ -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, _preinstalledSnaps, _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,
|
|
@@ -134,7 +135,8 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
134
135
|
detectSnapLocation: detectSnapLocationFunction = _chunkPT22IXNSjs.detectSnapLocation,
|
|
135
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
|
|
@@ -427,6 +433,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
427
433
|
* `endowment:lifecycle-hooks` permission. If the snap does not have the
|
|
428
434
|
* permission, nothing happens.
|
|
429
435
|
*
|
|
436
|
+
* @param origin - The origin.
|
|
430
437
|
* @param snapId - The snap ID.
|
|
431
438
|
* @param handler - The lifecycle hook to call. This should be one of the
|
|
432
439
|
* supported lifecycle hooks.
|
|
@@ -443,6 +450,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
443
450
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _maxIdleTime, void 0);
|
|
444
451
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _encryptor, void 0);
|
|
445
452
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getMnemonic, void 0);
|
|
453
|
+
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _getFeatureFlags, void 0);
|
|
446
454
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _detectSnapLocation, void 0);
|
|
447
455
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _snapsRuntimeData, void 0);
|
|
448
456
|
_chunkEXN2TFDJjs.__privateAdd.call(void 0, this, _rollbackSnapshots, void 0);
|
|
@@ -461,6 +469,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
461
469
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _detectSnapLocation, detectSnapLocationFunction);
|
|
462
470
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _encryptor, encryptor);
|
|
463
471
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _getMnemonic, getMnemonic);
|
|
472
|
+
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _getFeatureFlags, getFeatureFlags);
|
|
464
473
|
_chunkEXN2TFDJjs.__privateSet.call(void 0, this, _preinstalledSnaps, preinstalledSnaps);
|
|
465
474
|
this._onUnhandledSnapError = this._onUnhandledSnapError.bind(this);
|
|
466
475
|
this._onOutboundRequest = this._onOutboundRequest.bind(this);
|
|
@@ -480,24 +489,34 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
480
489
|
"ExecutionService:outboundResponse",
|
|
481
490
|
this._onOutboundResponse
|
|
482
491
|
);
|
|
483
|
-
this.messagingSystem.subscribe(
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
492
|
+
this.messagingSystem.subscribe(
|
|
493
|
+
"SnapController:snapInstalled",
|
|
494
|
+
({ id }, origin) => {
|
|
495
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _callLifecycleHook, callLifecycleHook_fn).call(this, origin, id, _snapsutils.HandlerType.OnInstall).catch(
|
|
496
|
+
(error) => {
|
|
497
|
+
_snapsutils.logError.call(void 0,
|
|
498
|
+
`Error when calling \`onInstall\` lifecycle hook for snap "${id}": ${_snapssdk.getErrorMessage.call(void 0,
|
|
499
|
+
error
|
|
500
|
+
)}`
|
|
501
|
+
);
|
|
502
|
+
}
|
|
489
503
|
);
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
this.messagingSystem.subscribe(
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
504
|
+
}
|
|
505
|
+
);
|
|
506
|
+
this.messagingSystem.subscribe(
|
|
507
|
+
"SnapController:snapUpdated",
|
|
508
|
+
({ id }, _oldVersion, origin) => {
|
|
509
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _callLifecycleHook, callLifecycleHook_fn).call(this, origin, id, _snapsutils.HandlerType.OnUpdate).catch(
|
|
510
|
+
(error) => {
|
|
511
|
+
_snapsutils.logError.call(void 0,
|
|
512
|
+
`Error when calling \`onUpdate\` lifecycle hook for snap "${id}": ${_snapssdk.getErrorMessage.call(void 0,
|
|
513
|
+
error
|
|
514
|
+
)}`
|
|
515
|
+
);
|
|
516
|
+
}
|
|
498
517
|
);
|
|
499
|
-
}
|
|
500
|
-
|
|
518
|
+
}
|
|
519
|
+
);
|
|
501
520
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _initializeStateMachine, initializeStateMachine_fn).call(this);
|
|
502
521
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _registerMessageHandlers, registerMessageHandlers_fn).call(this);
|
|
503
522
|
if (_chunkEXN2TFDJjs.__privateGet.call(void 0, this, _preinstalledSnaps)) {
|
|
@@ -513,6 +532,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
513
532
|
* for more information.
|
|
514
533
|
*/
|
|
515
534
|
async updateBlockedSnaps() {
|
|
535
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
516
536
|
await this.messagingSystem.call("SnapsRegistry:update");
|
|
517
537
|
const blockedSnaps = await this.messagingSystem.call(
|
|
518
538
|
"SnapsRegistry:get",
|
|
@@ -562,6 +582,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
562
582
|
* @param snapId - The id of the Snap to start.
|
|
563
583
|
*/
|
|
564
584
|
async startSnap(snapId) {
|
|
585
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
565
586
|
const snap = this.state.snaps[snapId];
|
|
566
587
|
if (snap.enabled === false) {
|
|
567
588
|
throw new Error(`Snap "${snapId}" is disabled.`);
|
|
@@ -980,6 +1001,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
980
1001
|
* snap couldn't be installed.
|
|
981
1002
|
*/
|
|
982
1003
|
async installSnaps(origin, requestedSnaps) {
|
|
1004
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
983
1005
|
const result = {};
|
|
984
1006
|
const snapIds = Object.keys(requestedSnaps);
|
|
985
1007
|
const pendingUpdates = [];
|
|
@@ -1155,6 +1177,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1155
1177
|
* @returns The snap metadata if updated, `null` otherwise.
|
|
1156
1178
|
*/
|
|
1157
1179
|
async updateSnap(origin, snapId, location, newVersionRange = _snapsutils.DEFAULT_REQUESTED_SNAP_VERSION, emitEvent = true) {
|
|
1180
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1158
1181
|
if (!_utils.isValidSemVerRange.call(void 0, newVersionRange)) {
|
|
1159
1182
|
throw new Error(
|
|
1160
1183
|
`Received invalid snap version range: "${newVersionRange}".`
|
|
@@ -1174,7 +1197,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1174
1197
|
);
|
|
1175
1198
|
const snap = this.getExpect(snapId);
|
|
1176
1199
|
const oldManifest = snap.manifest;
|
|
1177
|
-
const newSnap = await
|
|
1200
|
+
const newSnap = await _chunkCDTGUNSAjs.fetchSnap.call(void 0, snapId, location);
|
|
1178
1201
|
const { sourceCode: sourceCodeFile, manifest: manifestFile } = newSnap;
|
|
1179
1202
|
const manifest = manifestFile.result;
|
|
1180
1203
|
const newVersion = manifest.version;
|
|
@@ -1198,13 +1221,19 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1198
1221
|
);
|
|
1199
1222
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _validateSnapPermissions, validateSnapPermissions_fn).call(this, processedPermissions);
|
|
1200
1223
|
const { newPermissions, unusedPermissions, approvedPermissions } = _chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _calculatePermissionsChange, calculatePermissionsChange_fn).call(this, snapId, processedPermissions);
|
|
1224
|
+
const { newConnections, unusedConnections, approvedConnections } = _chunkCDTGUNSAjs.calculateConnectionsChange.call(void 0,
|
|
1225
|
+
oldManifest.initialConnections ?? {},
|
|
1226
|
+
manifest.initialConnections ?? {}
|
|
1227
|
+
);
|
|
1201
1228
|
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _updateApproval, updateApproval_fn).call(this, pendingApproval.id, {
|
|
1202
|
-
connections: manifest.initialConnections ?? {},
|
|
1203
1229
|
permissions: newPermissions,
|
|
1204
1230
|
newVersion: manifest.version,
|
|
1205
1231
|
newPermissions,
|
|
1206
1232
|
approvedPermissions,
|
|
1207
1233
|
unusedPermissions,
|
|
1234
|
+
newConnections,
|
|
1235
|
+
unusedConnections,
|
|
1236
|
+
approvedConnections,
|
|
1208
1237
|
loading: false
|
|
1209
1238
|
});
|
|
1210
1239
|
const { permissions: approvedNewPermissions, ...requestData } = await pendingApproval.promise;
|
|
@@ -1288,6 +1317,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1288
1317
|
* verified.
|
|
1289
1318
|
*/
|
|
1290
1319
|
async getRegistryMetadata(snapId) {
|
|
1320
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1291
1321
|
return await this.messagingSystem.call("SnapsRegistry:getMetadata", snapId);
|
|
1292
1322
|
}
|
|
1293
1323
|
/**
|
|
@@ -1365,6 +1395,7 @@ var SnapController = class extends _basecontroller.BaseController {
|
|
|
1365
1395
|
handler: handlerType,
|
|
1366
1396
|
request: rawRequest
|
|
1367
1397
|
}) {
|
|
1398
|
+
_chunkEXN2TFDJjs.__privateMethod.call(void 0, this, _assertCanUsePlatform, assertCanUsePlatform_fn).call(this);
|
|
1368
1399
|
const request = {
|
|
1369
1400
|
jsonrpc: "2.0",
|
|
1370
1401
|
id: _nanoid.nanoid.call(void 0, ),
|
|
@@ -1424,6 +1455,7 @@ _idleTimeCheckInterval = new WeakMap();
|
|
|
1424
1455
|
_maxIdleTime = new WeakMap();
|
|
1425
1456
|
_encryptor = new WeakMap();
|
|
1426
1457
|
_getMnemonic = new WeakMap();
|
|
1458
|
+
_getFeatureFlags = new WeakMap();
|
|
1427
1459
|
_detectSnapLocation = new WeakMap();
|
|
1428
1460
|
_snapsRuntimeData = new WeakMap();
|
|
1429
1461
|
_rollbackSnapshots = new WeakMap();
|
|
@@ -1690,6 +1722,14 @@ assertIsInstallAllowed_fn = async function(snapId, snapInfo) {
|
|
|
1690
1722
|
);
|
|
1691
1723
|
}
|
|
1692
1724
|
};
|
|
1725
|
+
_assertCanUsePlatform = new WeakSet();
|
|
1726
|
+
assertCanUsePlatform_fn = function() {
|
|
1727
|
+
const flags = _chunkEXN2TFDJjs.__privateGet.call(void 0, this, _getFeatureFlags).call(this);
|
|
1728
|
+
_utils.assert.call(void 0,
|
|
1729
|
+
flags.disableSnaps !== true,
|
|
1730
|
+
"The Snaps platform requires basic functionality to be used. Enable basic functionality in the settings to use the Snaps platform."
|
|
1731
|
+
);
|
|
1732
|
+
};
|
|
1693
1733
|
_stopSnapsLastRequestPastMax = new WeakSet();
|
|
1694
1734
|
stopSnapsLastRequestPastMax_fn = async function() {
|
|
1695
1735
|
const entries = [..._chunkEXN2TFDJjs.__privateGet.call(void 0, this, _snapsRuntimeData).entries()];
|
|
@@ -1783,7 +1823,7 @@ encryptSnapState_fn = async function(snapId, state) {
|
|
|
1783
1823
|
_handleInitialConnections = new WeakSet();
|
|
1784
1824
|
handleInitialConnections_fn = function(snapId, previousInitialConnections, initialConnections) {
|
|
1785
1825
|
if (previousInitialConnections) {
|
|
1786
|
-
const revokedInitialConnections =
|
|
1826
|
+
const revokedInitialConnections = _chunkCDTGUNSAjs.setDiff.call(void 0,
|
|
1787
1827
|
previousInitialConnections,
|
|
1788
1828
|
initialConnections
|
|
1789
1829
|
);
|
|
@@ -1814,7 +1854,7 @@ addSnapToSubject_fn = function(origin, snapId) {
|
|
|
1814
1854
|
origin,
|
|
1815
1855
|
_snapsrpcmethods.WALLET_SNAP_PERMISSION_KEY,
|
|
1816
1856
|
_snapsutils.SnapCaveatType.SnapIds,
|
|
1817
|
-
{ ...existingCaveat, [snapId]: {} }
|
|
1857
|
+
{ ...existingCaveat.value, [snapId]: {} }
|
|
1818
1858
|
);
|
|
1819
1859
|
return;
|
|
1820
1860
|
}
|
|
@@ -1905,7 +1945,7 @@ add_fn = async function(args) {
|
|
|
1905
1945
|
if (!runtime.installPromise) {
|
|
1906
1946
|
_chunkNXZVKBSVjs.log.call(void 0, `Adding snap: ${snapId}`);
|
|
1907
1947
|
runtime.installPromise = (async () => {
|
|
1908
|
-
const fetchedSnap = await
|
|
1948
|
+
const fetchedSnap = await _chunkCDTGUNSAjs.fetchSnap.call(void 0, snapId, location);
|
|
1909
1949
|
const manifest = fetchedSnap.manifest.result;
|
|
1910
1950
|
if (!_utils.satisfiesVersionRange.call(void 0, manifest.version, versionRange)) {
|
|
1911
1951
|
throw new Error(
|
|
@@ -2158,8 +2198,8 @@ getRpcRequestHandler_fn = function(snapId) {
|
|
|
2158
2198
|
{ origin, handler: handlerType, request }
|
|
2159
2199
|
);
|
|
2160
2200
|
try {
|
|
2161
|
-
const result = await
|
|
2162
|
-
if (result ===
|
|
2201
|
+
const result = await _chunkCDTGUNSAjs.withTimeout.call(void 0, handleRpcRequestPromise, timer);
|
|
2202
|
+
if (result === _chunkCDTGUNSAjs.hasTimedOut) {
|
|
2163
2203
|
throw new Error(
|
|
2164
2204
|
`${snapId} failed to respond to the request in time.`
|
|
2165
2205
|
);
|
|
@@ -2368,15 +2408,15 @@ calculatePermissionsChange_fn = function(snapId, desiredPermissionsSet) {
|
|
|
2368
2408
|
"PermissionController:getPermissions",
|
|
2369
2409
|
snapId
|
|
2370
2410
|
) ?? {};
|
|
2371
|
-
const newPermissions =
|
|
2411
|
+
const newPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2372
2412
|
desiredPermissionsSet,
|
|
2373
2413
|
oldPermissions
|
|
2374
2414
|
);
|
|
2375
|
-
const unusedPermissions =
|
|
2415
|
+
const unusedPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2376
2416
|
oldPermissions,
|
|
2377
2417
|
desiredPermissionsSet
|
|
2378
2418
|
);
|
|
2379
|
-
const approvedPermissions =
|
|
2419
|
+
const approvedPermissions = _chunkCDTGUNSAjs.permissionsDiff.call(void 0,
|
|
2380
2420
|
oldPermissions,
|
|
2381
2421
|
unusedPermissions
|
|
2382
2422
|
);
|
|
@@ -2415,7 +2455,7 @@ isValidUpdate_fn = function(snapId, newVersionRange) {
|
|
|
2415
2455
|
return true;
|
|
2416
2456
|
};
|
|
2417
2457
|
_callLifecycleHook = new WeakSet();
|
|
2418
|
-
callLifecycleHook_fn = async function(snapId, handler) {
|
|
2458
|
+
callLifecycleHook_fn = async function(origin, snapId, handler) {
|
|
2419
2459
|
const permissionName = _snapsrpcmethods.handlerEndowments[handler];
|
|
2420
2460
|
_utils.assert.call(void 0, permissionName, "Lifecycle hook must have an endowment.");
|
|
2421
2461
|
const hasPermission = this.messagingSystem.call(
|
|
@@ -2429,7 +2469,7 @@ callLifecycleHook_fn = async function(snapId, handler) {
|
|
|
2429
2469
|
await this.handleRequest({
|
|
2430
2470
|
snapId,
|
|
2431
2471
|
handler,
|
|
2432
|
-
origin
|
|
2472
|
+
origin,
|
|
2433
2473
|
request: {
|
|
2434
2474
|
jsonrpc: "2.0",
|
|
2435
2475
|
method: handler
|
|
@@ -2444,4 +2484,4 @@ callLifecycleHook_fn = async function(snapId, handler) {
|
|
|
2444
2484
|
|
|
2445
2485
|
|
|
2446
2486
|
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;
|
|
2447
|
-
//# sourceMappingURL=chunk-
|
|
2487
|
+
//# sourceMappingURL=chunk-NRZEYYBQ.js.map
|