@metamask/snaps-controllers 0.30.0 → 0.32.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/dist/cronjob/CronjobController.js +11 -8
- package/dist/cronjob/CronjobController.js.map +1 -1
- package/dist/fsm.js +5 -5
- package/dist/fsm.js.map +1 -1
- package/dist/multichain/MultiChainController.js +12 -20
- package/dist/multichain/MultiChainController.js.map +1 -1
- package/dist/multichain/matching.js +3 -4
- package/dist/multichain/matching.js.map +1 -1
- package/dist/services/iframe/IframeExecutionService.js +1 -2
- package/dist/services/iframe/IframeExecutionService.js.map +1 -1
- package/dist/services/node/NodeProcessExecutionService.js +1 -1
- package/dist/services/node/NodeProcessExecutionService.js.map +1 -1
- package/dist/services/node/NodeThreadExecutionService.js +1 -1
- package/dist/services/node/NodeThreadExecutionService.js.map +1 -1
- package/dist/snaps/RequestQueue.js +3 -6
- package/dist/snaps/RequestQueue.js.map +1 -1
- package/dist/snaps/SnapController.d.ts +9 -11
- package/dist/snaps/SnapController.js +285 -188
- package/dist/snaps/SnapController.js.map +1 -1
- package/dist/snaps/endowments/cronjob.js +2 -3
- package/dist/snaps/endowments/cronjob.js.map +1 -1
- package/dist/snaps/endowments/index.js +6 -1
- package/dist/snaps/endowments/index.js.map +1 -1
- package/dist/snaps/endowments/keyring.js +3 -4
- package/dist/snaps/endowments/keyring.js.map +1 -1
- package/dist/snaps/endowments/rpc.js +2 -2
- package/dist/snaps/endowments/rpc.js.map +1 -1
- package/dist/snaps/endowments/transaction-insight.js +4 -5
- package/dist/snaps/endowments/transaction-insight.js.map +1 -1
- package/dist/snaps/location/http.js +9 -3
- package/dist/snaps/location/http.js.map +1 -1
- package/dist/snaps/location/local.js +1 -1
- package/dist/snaps/location/local.js.map +1 -1
- package/dist/snaps/location/location.js +2 -3
- package/dist/snaps/location/location.js.map +1 -1
- package/dist/snaps/location/npm.js +11 -8
- package/dist/snaps/location/npm.js.map +1 -1
- package/dist/snaps/registry/json.d.ts +33 -14
- package/dist/snaps/registry/json.js +119 -44
- package/dist/snaps/registry/json.js.map +1 -1
- package/package.json +33 -13
- package/dist/services/iframe/test/fixJSDOMPostMessageEventSource.d.ts +0 -3
- package/dist/services/iframe/test/fixJSDOMPostMessageEventSource.js +0 -34
- package/dist/services/iframe/test/fixJSDOMPostMessageEventSource.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AddApprovalRequest } from '@metamask/approval-controller';
|
|
1
|
+
import { AddApprovalRequest, UpdateRequestState } from '@metamask/approval-controller';
|
|
2
2
|
import { BaseControllerV2 as BaseController, RestrictedControllerMessenger } from '@metamask/base-controller';
|
|
3
3
|
import { GetEndowments, GetPermissions, GetSubjects, GrantPermissions, HasPermission, HasPermissions, RevokeAllPermissions, RevokePermissionForAllSubjects, RevokePermissions, UpdateCaveat } from '@metamask/permission-controller';
|
|
4
4
|
import { BlockReason } from '@metamask/snaps-registry';
|
|
@@ -9,11 +9,12 @@ import { StateMachine } from '@xstate/fsm';
|
|
|
9
9
|
import type { Patch } from 'immer';
|
|
10
10
|
import { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
|
|
11
11
|
import { detectSnapLocation, SnapLocation } from './location';
|
|
12
|
-
import {
|
|
12
|
+
import { GetMetadata, GetResult, SnapsRegistryMetadata } from './registry';
|
|
13
13
|
import { Timer } from './Timer';
|
|
14
14
|
export declare const controllerName = "SnapController";
|
|
15
15
|
export declare const SNAP_APPROVAL_INSTALL = "wallet_installSnap";
|
|
16
16
|
export declare const SNAP_APPROVAL_UPDATE = "wallet_updateSnap";
|
|
17
|
+
export declare const SNAP_APPROVAL_RESULT = "wallet_installSnapResult";
|
|
17
18
|
export declare type PendingRequest = {
|
|
18
19
|
requestId: unknown;
|
|
19
20
|
timer: Timer;
|
|
@@ -238,7 +239,7 @@ export declare type SnapTerminated = {
|
|
|
238
239
|
payload: [snap: TruncatedSnap];
|
|
239
240
|
};
|
|
240
241
|
export declare type SnapControllerEvents = SnapAdded | SnapBlocked | SnapInstalled | SnapRemoved | SnapStateChange | SnapUnblocked | SnapUpdated | SnapRolledback | SnapTerminated;
|
|
241
|
-
export declare type AllowedActions = GetEndowments | GetPermissions | GetSubjects | GetSubjectMetadata | HasPermission | HasPermissions | RevokePermissions | RevokeAllPermissions | RevokePermissionForAllSubjects | GrantPermissions | AddApprovalRequest | HandleRpcRequestAction | ExecuteSnapAction | TerminateAllSnapsAction | TerminateSnapAction | UpdateCaveat;
|
|
242
|
+
export declare type AllowedActions = GetEndowments | GetPermissions | GetSubjects | GetSubjectMetadata | HasPermission | HasPermissions | RevokePermissions | RevokeAllPermissions | RevokePermissionForAllSubjects | GrantPermissions | AddApprovalRequest | HandleRpcRequestAction | ExecuteSnapAction | TerminateAllSnapsAction | TerminateSnapAction | UpdateCaveat | UpdateRequestState | GetResult | GetMetadata;
|
|
242
243
|
export declare type AllowedEvents = ExecutionServiceEvents;
|
|
243
244
|
declare type SnapControllerMessenger = RestrictedControllerMessenger<typeof controllerName, SnapControllerActions | AllowedActions, SnapControllerEvents | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
|
|
244
245
|
declare type FeatureFlags = {
|
|
@@ -282,10 +283,6 @@ declare type SnapControllerArgs = {
|
|
|
282
283
|
* How frequently to check whether a snap is idle.
|
|
283
284
|
*/
|
|
284
285
|
idleTimeCheckInterval?: number;
|
|
285
|
-
/**
|
|
286
|
-
* A registry implementation used for checking for verified and blocked snaps.
|
|
287
|
-
*/
|
|
288
|
-
registry: SnapsRegistry;
|
|
289
286
|
/**
|
|
290
287
|
* The maximum amount of time that a snap may be idle.
|
|
291
288
|
*/
|
|
@@ -318,7 +315,7 @@ export declare class SnapController extends BaseController<string, SnapControlle
|
|
|
318
315
|
#private;
|
|
319
316
|
private readonly maxRequestTime;
|
|
320
317
|
private readonly snapsRuntimeData;
|
|
321
|
-
constructor({ closeAllConnections, messenger, state, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval,
|
|
318
|
+
constructor({ closeAllConnections, messenger, state, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, }: SnapControllerArgs);
|
|
322
319
|
/**
|
|
323
320
|
* Checks all installed snaps against the block list and
|
|
324
321
|
* blocks/unblocks snaps as appropriate. See {@link SnapController.blockSnap}
|
|
@@ -517,6 +514,7 @@ export declare class SnapController extends BaseController<string, SnapControlle
|
|
|
517
514
|
*
|
|
518
515
|
* @param origin - The origin requesting the snap.
|
|
519
516
|
* @param snapId - The id of the snap.
|
|
517
|
+
* @param location - The location implementation of the snap.
|
|
520
518
|
* @param versionRange - The semver range of the snap to install.
|
|
521
519
|
* @returns The resulting snap object, or an error if something went wrong.
|
|
522
520
|
*/
|
|
@@ -535,11 +533,11 @@ export declare class SnapController extends BaseController<string, SnapControlle
|
|
|
535
533
|
*
|
|
536
534
|
* @param origin - The origin requesting the snap update.
|
|
537
535
|
* @param snapId - The id of the Snap to be updated.
|
|
538
|
-
* @param location -
|
|
536
|
+
* @param location - The location implementation of the snap.
|
|
539
537
|
* @param newVersionRange - A semver version range in which the maximum version will be chosen.
|
|
540
538
|
* @returns The snap metadata if updated, `null` otherwise.
|
|
541
539
|
*/
|
|
542
|
-
updateSnap(origin: string, snapId: ValidatedSnapId, location: SnapLocation, newVersionRange?: string): Promise<TruncatedSnap
|
|
540
|
+
updateSnap(origin: string, snapId: ValidatedSnapId, location: SnapLocation, newVersionRange?: string): Promise<TruncatedSnap>;
|
|
543
541
|
/**
|
|
544
542
|
* Get metadata for the given snap ID.
|
|
545
543
|
*
|
|
@@ -554,8 +552,8 @@ export declare class SnapController extends BaseController<string, SnapControlle
|
|
|
554
552
|
*
|
|
555
553
|
* This function is not hash private yet because of tests.
|
|
556
554
|
*
|
|
557
|
-
* @param origin - The origin of the install request.
|
|
558
555
|
* @param snapId - The id of the Snap.
|
|
556
|
+
* @param pendingApproval - Pending approval to update.
|
|
559
557
|
* @returns The snap's approvedPermissions.
|
|
560
558
|
*/
|
|
561
559
|
private authorize;
|