@metamask/snaps-controllers 20.0.6 → 21.0.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.
Files changed (30) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/snaps/SnapController.cjs +126 -19
  3. package/dist/snaps/SnapController.cjs.map +1 -1
  4. package/dist/snaps/SnapController.d.cts +24 -17
  5. package/dist/snaps/SnapController.d.cts.map +1 -1
  6. package/dist/snaps/SnapController.d.mts +24 -17
  7. package/dist/snaps/SnapController.d.mts.map +1 -1
  8. package/dist/snaps/SnapController.mjs +126 -19
  9. package/dist/snaps/SnapController.mjs.map +1 -1
  10. package/dist/snaps/registry/SnapRegistryController-method-action-types.cjs.map +1 -1
  11. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.cts +12 -1
  12. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.cts.map +1 -1
  13. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.mts +12 -1
  14. package/dist/snaps/registry/SnapRegistryController-method-action-types.d.mts.map +1 -1
  15. package/dist/snaps/registry/SnapRegistryController-method-action-types.mjs.map +1 -1
  16. package/dist/snaps/registry/SnapRegistryController.cjs +28 -5
  17. package/dist/snaps/registry/SnapRegistryController.cjs.map +1 -1
  18. package/dist/snaps/registry/SnapRegistryController.d.cts +10 -1
  19. package/dist/snaps/registry/SnapRegistryController.d.cts.map +1 -1
  20. package/dist/snaps/registry/SnapRegistryController.d.mts +10 -1
  21. package/dist/snaps/registry/SnapRegistryController.d.mts.map +1 -1
  22. package/dist/snaps/registry/SnapRegistryController.mjs +28 -5
  23. package/dist/snaps/registry/SnapRegistryController.mjs.map +1 -1
  24. package/dist/snaps/registry/index.cjs.map +1 -1
  25. package/dist/snaps/registry/index.d.cts +1 -1
  26. package/dist/snaps/registry/index.d.cts.map +1 -1
  27. package/dist/snaps/registry/index.d.mts +1 -1
  28. package/dist/snaps/registry/index.d.mts.map +1 -1
  29. package/dist/snaps/registry/index.mjs.map +1 -1
  30. package/package.json +5 -4
@@ -1,3 +1,4 @@
1
+ import type { AnalyticsControllerTrackEventAction } from "@metamask/analytics-controller";
1
2
  import { type ApprovalControllerAddRequestAction, type ApprovalControllerUpdateRequestStateAction } from "@metamask/approval-controller";
2
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
3
4
  import { BaseController } from "@metamask/base-controller";
@@ -14,7 +15,7 @@ import type { Json, NonEmptyArray, SemVerVersion } from "@metamask/utils";
14
15
  import type { StateMachine } from "@xstate/fsm";
15
16
  import { Mutex } from "async-mutex";
16
17
  import { detectSnapLocation } from "./location/index.cjs";
17
- import type { SnapRegistryControllerGetAction, SnapRegistryControllerGetMetadataAction, SnapRegistryControllerResolveVersionAction, SnapRegistryControllerRequestUpdateAction, SnapRegistryControllerRegistryUpdatedEvent } from "./registry/index.cjs";
18
+ import type { ClientConfig, SnapRegistryControllerGetAction, SnapRegistryControllerGetMetadataAction, SnapRegistryControllerResolveVersionAction, SnapRegistryControllerRequestUpdateAction, SnapRegistryControllerRegistryUpdatedEvent } from "./registry/index.cjs";
18
19
  import type { SnapControllerMethodActions } from "./SnapController-method-action-types.cjs";
19
20
  import { Timer } from "./Timer.cjs";
20
21
  import type { SnapInterfaceControllerCreateInterfaceAction, SnapInterfaceControllerGetInterfaceAction, SnapInterfaceControllerSetInterfaceDisplayedAction } from "../interface/index.cjs";
@@ -128,14 +129,25 @@ export type SnapControllerSnapBlockedEvent = {
128
129
  */
129
130
  export type SnapControllerSnapInstallStartedEvent = {
130
131
  type: `${typeof controllerName}:snapInstallStarted`;
131
- payload: [snapId: SnapId, origin: string, isUpdate: boolean];
132
+ payload: [
133
+ snapId: SnapId,
134
+ origin: string,
135
+ isUpdate: boolean,
136
+ preinstalled: boolean
137
+ ];
132
138
  };
133
139
  /**
134
140
  * Emitted when a snap installation or update failed.
135
141
  */
136
142
  export type SnapControllerSnapInstallFailedEvent = {
137
143
  type: `${typeof controllerName}:snapInstallFailed`;
138
- payload: [snapId: SnapId, origin: string, isUpdate: boolean, error: string];
144
+ payload: [
145
+ snapId: SnapId,
146
+ origin: string,
147
+ isUpdate: boolean,
148
+ error: string,
149
+ preinstalled: boolean
150
+ ];
139
151
  };
140
152
  /**
141
153
  * Emitted when a snap has been started after being added and authorized during
@@ -168,7 +180,8 @@ export type SnapControllerSnapUpdatedEvent = {
168
180
  snap: TruncatedSnap,
169
181
  oldVersion: string,
170
182
  origin: string,
171
- preinstalled: boolean
183
+ preinstalled: boolean,
184
+ ota: boolean
172
185
  ];
173
186
  };
174
187
  /**
@@ -210,8 +223,8 @@ type KeyringControllerLockEvent = {
210
223
  payload: [];
211
224
  };
212
225
  export type SnapControllerEvents = SnapControllerSnapBlockedEvent | SnapControllerSnapInstalledEvent | SnapControllerSnapUninstalledEvent | SnapControllerSnapInstallStartedEvent | SnapControllerSnapInstallFailedEvent | SnapControllerSnapUnblockedEvent | SnapControllerSnapUpdatedEvent | SnapControllerSnapRolledbackEvent | SnapControllerSnapTerminatedEvent | SnapControllerSnapEnabledEvent | SnapControllerSnapDisabledEvent | SnapControllerStateChangeEvent;
213
- type AllowedActions = PermissionControllerGetEndowmentsAction | PermissionControllerGetPermissionsAction | PermissionControllerGetSubjectNamesAction | SubjectMetadataControllerGetSubjectMetadataAction | SubjectMetadataControllerAddSubjectMetadataAction | PermissionControllerHasPermissionAction | PermissionControllerHasPermissionsAction | PermissionControllerRevokePermissionsAction | PermissionControllerRevokeAllPermissionsAction | PermissionControllerRevokePermissionForAllSubjectsAction | PermissionControllerGrantPermissionsAction | PermissionControllerUpdateCaveatAction | ApprovalControllerAddRequestAction | ExecutionServiceHandleRpcRequestAction | ExecutionServiceExecuteSnapAction | ExecutionServiceTerminateSnapAction | ApprovalControllerUpdateRequestStateAction | SnapRegistryControllerGetAction | SnapRegistryControllerGetMetadataAction | SnapRegistryControllerResolveVersionAction | SnapRegistryControllerRequestUpdateAction | SnapInterfaceControllerCreateInterfaceAction | SnapInterfaceControllerGetInterfaceAction | SnapInterfaceControllerSetInterfaceDisplayedAction | StorageServiceSetItemAction | StorageServiceGetItemAction | StorageServiceRemoveItemAction | StorageServiceClearAction;
214
- type AllowedEvents = ExecutionServiceEvents | SnapControllerSnapInstalledEvent | SnapControllerSnapUpdatedEvent | KeyringControllerLockEvent | SnapRegistryControllerRegistryUpdatedEvent;
226
+ type AllowedActions = AnalyticsControllerTrackEventAction | PermissionControllerGetEndowmentsAction | PermissionControllerGetPermissionsAction | PermissionControllerGetSubjectNamesAction | SubjectMetadataControllerGetSubjectMetadataAction | SubjectMetadataControllerAddSubjectMetadataAction | PermissionControllerHasPermissionAction | PermissionControllerHasPermissionsAction | PermissionControllerRevokePermissionsAction | PermissionControllerRevokeAllPermissionsAction | PermissionControllerRevokePermissionForAllSubjectsAction | PermissionControllerGrantPermissionsAction | PermissionControllerUpdateCaveatAction | ApprovalControllerAddRequestAction | ExecutionServiceHandleRpcRequestAction | ExecutionServiceExecuteSnapAction | ExecutionServiceTerminateSnapAction | ApprovalControllerUpdateRequestStateAction | SnapRegistryControllerGetAction | SnapRegistryControllerGetMetadataAction | SnapRegistryControllerResolveVersionAction | SnapRegistryControllerRequestUpdateAction | SnapInterfaceControllerCreateInterfaceAction | SnapInterfaceControllerGetInterfaceAction | SnapInterfaceControllerSetInterfaceDisplayedAction | StorageServiceSetItemAction | StorageServiceGetItemAction | StorageServiceRemoveItemAction | StorageServiceClearAction;
227
+ type AllowedEvents = ExecutionServiceEvents | SnapControllerSnapInstallStartedEvent | SnapControllerSnapInstallFailedEvent | SnapControllerSnapInstalledEvent | SnapControllerSnapUninstalledEvent | SnapControllerSnapUpdatedEvent | KeyringControllerLockEvent | SnapRegistryControllerRegistryUpdatedEvent;
215
228
  export type SnapControllerMessenger = Messenger<typeof controllerName, SnapControllerActions | AllowedActions, SnapControllerEvents | AllowedEvents>;
216
229
  type FeatureFlags = {
217
230
  requireAllowlist?: boolean;
@@ -314,27 +327,21 @@ export type SnapControllerArgs = {
314
327
  * object to fall back to the default cryptographic functions.
315
328
  */
316
329
  clientCryptography?: CryptographicFunctions;
317
- /**
318
- * MetaMetrics event tracking hook.
319
- */
320
- trackEvent: TrackEventHook;
321
330
  /**
322
331
  * A hook that returns a promise that resolves when the onboarding has completed.
323
332
  *
324
333
  * @returns A promise that resolves when onboarding is complete.
325
334
  */
326
335
  ensureOnboardingComplete: () => Promise<void>;
336
+ /**
337
+ * The client configuration, containing the client type and version.
338
+ */
339
+ clientConfig: ClientConfig;
327
340
  };
328
- type TrackingEventPayload = {
329
- event: string;
330
- category: string;
331
- properties: Record<string, Json | undefined>;
332
- };
333
- type TrackEventHook = (event: TrackingEventPayload) => void;
334
341
  export declare class SnapController extends BaseController<typeof controllerName, SnapControllerState, SnapControllerMessenger> {
335
342
  #private;
336
343
  private readonly maxRequestTime;
337
- constructor({ messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonicSeed, getFeatureFlags, clientCryptography, trackEvent, ensureOnboardingComplete, }: SnapControllerArgs);
344
+ constructor({ messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonicSeed, getFeatureFlags, clientCryptography, ensureOnboardingComplete, clientConfig, }: SnapControllerArgs);
338
345
  /**
339
346
  * Initialise the SnapController.
340
347
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SnapController.d.cts","sourceRoot":"","sources":["../../src/snaps/SnapController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SnapController.d.cts","sourceRoot":"","sources":["../../src/snaps/SnapController.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AnalyticsControllerTrackEventAction } from "@metamask/analytics-controller";
1
2
  import { type ApprovalControllerAddRequestAction, type ApprovalControllerUpdateRequestStateAction } from "@metamask/approval-controller";
2
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
3
4
  import { BaseController } from "@metamask/base-controller";
@@ -14,7 +15,7 @@ import type { Json, NonEmptyArray, SemVerVersion } from "@metamask/utils";
14
15
  import type { StateMachine } from "@xstate/fsm";
15
16
  import { Mutex } from "async-mutex";
16
17
  import { detectSnapLocation } from "./location/index.mjs";
17
- import type { SnapRegistryControllerGetAction, SnapRegistryControllerGetMetadataAction, SnapRegistryControllerResolveVersionAction, SnapRegistryControllerRequestUpdateAction, SnapRegistryControllerRegistryUpdatedEvent } from "./registry/index.mjs";
18
+ import type { ClientConfig, SnapRegistryControllerGetAction, SnapRegistryControllerGetMetadataAction, SnapRegistryControllerResolveVersionAction, SnapRegistryControllerRequestUpdateAction, SnapRegistryControllerRegistryUpdatedEvent } from "./registry/index.mjs";
18
19
  import type { SnapControllerMethodActions } from "./SnapController-method-action-types.mjs";
19
20
  import { Timer } from "./Timer.mjs";
20
21
  import type { SnapInterfaceControllerCreateInterfaceAction, SnapInterfaceControllerGetInterfaceAction, SnapInterfaceControllerSetInterfaceDisplayedAction } from "../interface/index.mjs";
@@ -128,14 +129,25 @@ export type SnapControllerSnapBlockedEvent = {
128
129
  */
129
130
  export type SnapControllerSnapInstallStartedEvent = {
130
131
  type: `${typeof controllerName}:snapInstallStarted`;
131
- payload: [snapId: SnapId, origin: string, isUpdate: boolean];
132
+ payload: [
133
+ snapId: SnapId,
134
+ origin: string,
135
+ isUpdate: boolean,
136
+ preinstalled: boolean
137
+ ];
132
138
  };
133
139
  /**
134
140
  * Emitted when a snap installation or update failed.
135
141
  */
136
142
  export type SnapControllerSnapInstallFailedEvent = {
137
143
  type: `${typeof controllerName}:snapInstallFailed`;
138
- payload: [snapId: SnapId, origin: string, isUpdate: boolean, error: string];
144
+ payload: [
145
+ snapId: SnapId,
146
+ origin: string,
147
+ isUpdate: boolean,
148
+ error: string,
149
+ preinstalled: boolean
150
+ ];
139
151
  };
140
152
  /**
141
153
  * Emitted when a snap has been started after being added and authorized during
@@ -168,7 +180,8 @@ export type SnapControllerSnapUpdatedEvent = {
168
180
  snap: TruncatedSnap,
169
181
  oldVersion: string,
170
182
  origin: string,
171
- preinstalled: boolean
183
+ preinstalled: boolean,
184
+ ota: boolean
172
185
  ];
173
186
  };
174
187
  /**
@@ -210,8 +223,8 @@ type KeyringControllerLockEvent = {
210
223
  payload: [];
211
224
  };
212
225
  export type SnapControllerEvents = SnapControllerSnapBlockedEvent | SnapControllerSnapInstalledEvent | SnapControllerSnapUninstalledEvent | SnapControllerSnapInstallStartedEvent | SnapControllerSnapInstallFailedEvent | SnapControllerSnapUnblockedEvent | SnapControllerSnapUpdatedEvent | SnapControllerSnapRolledbackEvent | SnapControllerSnapTerminatedEvent | SnapControllerSnapEnabledEvent | SnapControllerSnapDisabledEvent | SnapControllerStateChangeEvent;
213
- type AllowedActions = PermissionControllerGetEndowmentsAction | PermissionControllerGetPermissionsAction | PermissionControllerGetSubjectNamesAction | SubjectMetadataControllerGetSubjectMetadataAction | SubjectMetadataControllerAddSubjectMetadataAction | PermissionControllerHasPermissionAction | PermissionControllerHasPermissionsAction | PermissionControllerRevokePermissionsAction | PermissionControllerRevokeAllPermissionsAction | PermissionControllerRevokePermissionForAllSubjectsAction | PermissionControllerGrantPermissionsAction | PermissionControllerUpdateCaveatAction | ApprovalControllerAddRequestAction | ExecutionServiceHandleRpcRequestAction | ExecutionServiceExecuteSnapAction | ExecutionServiceTerminateSnapAction | ApprovalControllerUpdateRequestStateAction | SnapRegistryControllerGetAction | SnapRegistryControllerGetMetadataAction | SnapRegistryControllerResolveVersionAction | SnapRegistryControllerRequestUpdateAction | SnapInterfaceControllerCreateInterfaceAction | SnapInterfaceControllerGetInterfaceAction | SnapInterfaceControllerSetInterfaceDisplayedAction | StorageServiceSetItemAction | StorageServiceGetItemAction | StorageServiceRemoveItemAction | StorageServiceClearAction;
214
- type AllowedEvents = ExecutionServiceEvents | SnapControllerSnapInstalledEvent | SnapControllerSnapUpdatedEvent | KeyringControllerLockEvent | SnapRegistryControllerRegistryUpdatedEvent;
226
+ type AllowedActions = AnalyticsControllerTrackEventAction | PermissionControllerGetEndowmentsAction | PermissionControllerGetPermissionsAction | PermissionControllerGetSubjectNamesAction | SubjectMetadataControllerGetSubjectMetadataAction | SubjectMetadataControllerAddSubjectMetadataAction | PermissionControllerHasPermissionAction | PermissionControllerHasPermissionsAction | PermissionControllerRevokePermissionsAction | PermissionControllerRevokeAllPermissionsAction | PermissionControllerRevokePermissionForAllSubjectsAction | PermissionControllerGrantPermissionsAction | PermissionControllerUpdateCaveatAction | ApprovalControllerAddRequestAction | ExecutionServiceHandleRpcRequestAction | ExecutionServiceExecuteSnapAction | ExecutionServiceTerminateSnapAction | ApprovalControllerUpdateRequestStateAction | SnapRegistryControllerGetAction | SnapRegistryControllerGetMetadataAction | SnapRegistryControllerResolveVersionAction | SnapRegistryControllerRequestUpdateAction | SnapInterfaceControllerCreateInterfaceAction | SnapInterfaceControllerGetInterfaceAction | SnapInterfaceControllerSetInterfaceDisplayedAction | StorageServiceSetItemAction | StorageServiceGetItemAction | StorageServiceRemoveItemAction | StorageServiceClearAction;
227
+ type AllowedEvents = ExecutionServiceEvents | SnapControllerSnapInstallStartedEvent | SnapControllerSnapInstallFailedEvent | SnapControllerSnapInstalledEvent | SnapControllerSnapUninstalledEvent | SnapControllerSnapUpdatedEvent | KeyringControllerLockEvent | SnapRegistryControllerRegistryUpdatedEvent;
215
228
  export type SnapControllerMessenger = Messenger<typeof controllerName, SnapControllerActions | AllowedActions, SnapControllerEvents | AllowedEvents>;
216
229
  type FeatureFlags = {
217
230
  requireAllowlist?: boolean;
@@ -314,27 +327,21 @@ export type SnapControllerArgs = {
314
327
  * object to fall back to the default cryptographic functions.
315
328
  */
316
329
  clientCryptography?: CryptographicFunctions;
317
- /**
318
- * MetaMetrics event tracking hook.
319
- */
320
- trackEvent: TrackEventHook;
321
330
  /**
322
331
  * A hook that returns a promise that resolves when the onboarding has completed.
323
332
  *
324
333
  * @returns A promise that resolves when onboarding is complete.
325
334
  */
326
335
  ensureOnboardingComplete: () => Promise<void>;
336
+ /**
337
+ * The client configuration, containing the client type and version.
338
+ */
339
+ clientConfig: ClientConfig;
327
340
  };
328
- type TrackingEventPayload = {
329
- event: string;
330
- category: string;
331
- properties: Record<string, Json | undefined>;
332
- };
333
- type TrackEventHook = (event: TrackingEventPayload) => void;
334
341
  export declare class SnapController extends BaseController<typeof controllerName, SnapControllerState, SnapControllerMessenger> {
335
342
  #private;
336
343
  private readonly maxRequestTime;
337
- constructor({ messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonicSeed, getFeatureFlags, clientCryptography, trackEvent, ensureOnboardingComplete, }: SnapControllerArgs);
344
+ constructor({ messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonicSeed, getFeatureFlags, clientCryptography, ensureOnboardingComplete, clientConfig, }: SnapControllerArgs);
338
345
  /**
339
346
  * Initialise the SnapController.
340
347
  *
@@ -1 +1 @@
1
- {"version":3,"file":"SnapController.d.mts","sourceRoot":"","sources":["../../src/snaps/SnapController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,0CAA0C,EAChD,sCAAsC;AACvC,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,2BAA2B;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAEV,uCAAuC,EACvC,wCAAwC,EACxC,iDAAiD,EACjD,iDAAiD,EACjD,yCAAyC,EACzC,0CAA0C,EAC1C,uCAAuC,EACvC,wCAAwC,EAIxC,8CAA8C,EAC9C,wDAAwD,EACxD,2CAA2C,EAE3C,sCAAsC,EAEvC,wCAAwC;AAGzC,OAAO,KAAK,EAAE,WAAW,EAAE,iCAAiC;AAY5D,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EAaP,4BAA4B;AAC7B,OAAO,EACL,qBAAqB,EAGtB,4BAA4B;AAC7B,OAAO,KAAK,EAGV,aAAa,EACb,IAAI,EACJ,YAAY,EAEZ,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EAEZ,aAAa,EAEd,8BAA8B;AAC/B,OAAO,EAgBL,gBAAgB,EAcjB,8BAA8B;AAC/B,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EAC1B,kCAAkC;AACnC,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EAIb,aAAa,EAEd,wBAAwB;AAgBzB,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB;AAEhD,OAAO,EAAE,KAAK,EAAE,oBAAoB;AAepC,OAAO,EAAE,kBAAkB,EAAE,6BAAmB;AAChD,OAAO,KAAK,EACV,+BAA+B,EAC/B,uCAAuC,EACvC,0CAA0C,EAC1C,yCAAyC,EAGzC,0CAA0C,EAC3C,6BAAmB;AAGpB,OAAO,KAAK,EAAE,2BAA2B,EAAE,iDAA6C;AACxF,OAAO,EAAE,KAAK,EAAE,oBAAgB;AAEhC,OAAO,KAAK,EACV,4CAA4C,EAC5C,yCAAyC,EACzC,kDAAkD,EACnD,+BAAqB;AAEtB,OAAO,KAAK,EACV,sBAAsB,EACtB,iCAAiC,EACjC,sCAAsC,EACtC,mCAAmC,EACnC,aAAa,EACd,8BAAoB;AACrB,OAAO,KAAK,EAEV,sBAAsB,EAEvB,2BAAiB;AAalB,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAgC/C,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAC1D,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,oBAAoB,6BAA6B,CAAC;AAU/D,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9C;;OAEG;IACH,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;OAEG;IACH,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAE3B;;OAEG;IACH,sBAAsB,EAAE,cAAc,EAAE,CAAC;IAEzC;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAE7E;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpC;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,UAAU,EAAE,KAAK,CAAC;IAElB;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;CACtB,CAAC;AAGF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAAC;AAsBF,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CACjE,OAAO,cAAc,EACrB,mBAAmB,CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,4BAA4B,GAC5B,2BAA2B,CAAC;AAIhC;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,GAAG,OAAO,cAAc,cAAc,CAAC;IAC7C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,GAAG,OAAO,cAAc,qBAAqB,CAAC;IACpD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,GAAG,OAAO,cAAc,oBAAoB,CAAC;IACnD,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,GAAG,OAAO,cAAc,gBAAgB,CAAC;IAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;CACvE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,GAAG,OAAO,cAAc,kBAAkB,CAAC;IACjD,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,GAAG,OAAO,cAAc,gBAAgB,CAAC;IAC/C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,GAAG,OAAO,cAAc,cAAc,CAAC;IAC7C,OAAO,EAAE;QACP,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,OAAO;KACtB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,GAAG,OAAO,cAAc,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,GAAG,OAAO,cAAc,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,GAAG,OAAO,cAAc,cAAc,CAAC;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,GAAG,OAAO,cAAc,eAAe,CAAC;IAC9C,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,0BAA0B,CACrE,OAAO,cAAc,EACrB,mBAAmB,CACpB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,8BAA8B,GAC9B,gCAAgC,GAChC,kCAAkC,GAClC,qCAAqC,GACrC,oCAAoC,GACpC,gCAAgC,GAChC,8BAA8B,GAC9B,iCAAiC,GACjC,iCAAiC,GACjC,8BAA8B,GAC9B,+BAA+B,GAC/B,8BAA8B,CAAC;AAEnC,KAAK,cAAc,GACf,uCAAuC,GACvC,wCAAwC,GACxC,yCAAyC,GACzC,iDAAiD,GACjD,iDAAiD,GACjD,uCAAuC,GACvC,wCAAwC,GACxC,2CAA2C,GAC3C,8CAA8C,GAC9C,wDAAwD,GACxD,0CAA0C,GAC1C,sCAAsC,GACtC,kCAAkC,GAClC,sCAAsC,GACtC,iCAAiC,GACjC,mCAAmC,GACnC,0CAA0C,GAC1C,+BAA+B,GAC/B,uCAAuC,GACvC,0CAA0C,GAC1C,yCAAyC,GACzC,4CAA4C,GAC5C,yCAAyC,GACzC,kDAAkD,GAClD,2BAA2B,GAC3B,2BAA2B,GAC3B,8BAA8B,GAC9B,yBAAyB,CAAC;AAE9B,KAAK,aAAa,GACd,sBAAsB,GACtB,gCAAgC,GAChC,8BAA8B,GAC9B,0BAA0B,GAC1B,0CAA0C,CAAC;AAE/C,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAC7C,OAAO,cAAc,EACrB,qBAAqB,GAAG,cAAc,EACtC,oBAAoB,GAAG,aAAa,CACrC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,+BAA+B,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3C;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,KAAK,CAAC;IAE7B;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE,uBAAuB,CAAC;IAEnC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,4BAA4B,CAAC;IAErC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAE/C;;OAEG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,SAAS,EAAE,sBAAsB,CAAC;IAElC;;;;OAIG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C;;;;OAIG;IACH,eAAe,EAAE,MAAM,mBAAmB,CAAC;IAE3C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;OAEG;IACH,UAAU,EAAE,cAAc,CAAC;IAE3B;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAoBF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAuC5D,qBAAa,cAAe,SAAQ,cAAc,CAChD,OAAO,cAAc,EACrB,mBAAmB,EACnB,uBAAuB,CACxB;;IAiBC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAsC5B,EACV,SAAS,EACT,KAAK,EACL,kBAAwD,EACxD,+BAAoC,EACpC,mBAAwB,EACxB,qBAA0D,EAC1D,WAAiD,EACjD,cAAoD,EACpD,aAAgD,EAChD,YAAiB,EACjB,kBAAkB,EAAE,0BAA+C,EACnE,iBAAwB,EACxB,SAAS,EACT,eAAe,EACf,eAA4B,EAC5B,kBAAkB,EAClB,UAAU,EACV,wBAAwB,GACzB,EAAE,kBAAkB;IA0WrB;;;;;;;OAOG;IACG,IAAI,CAAC,eAAe,UAAO;IAgPjC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuOrC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;IAY1D,kBAAkB,CAAC,MAAM,EAAE,MAAM;IAUjC,mBAAmB,CAAC,MAAM,EAAE,MAAM;IA8BlC;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9C;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBhC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBhD;;;;;;;OAOG;IACU,QAAQ,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,GACP,gBAAgB,CAAC,IAAI,GACrB,gBAAgB,CAAC,KAA6B,GACjD,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;;OAMG;IACU,YAAY,CACvB,WAAW,GACP,gBAAgB,CAAC,IAAI,GACrB,gBAAgB,CAAC,KAA6B,GACjD,OAAO,CAAC,IAAI,CAAC;IAoChB;;;;;;OAMG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIpC;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4OnC;;;;;;;OAOG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAClC,SAAS,EAAE,OAAO;IAapB;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAWjD;;;;;;;OAOG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCrE;;;;;;;OAOG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,qBAAoD,GAC7D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAqBzB;;;;;;;OAOG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO;IAYzE;;;;OAIG;IACG,UAAU;IAwBhB;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+GnD;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAwC/C;;;;;;OAMG;IACH,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,aAAa,CAAC,MAAM,CAAC;IAsCxC;;;;OAIG;IACH,WAAW,IAAI,aAAa,EAAE;IAM9B;;;;OAIG;IACH,gBAAgB,IAAI,aAAa,EAAE;IAInC;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAqBrD;;;;;;;;;OASG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,kBAAkB,GACjC,OAAO,CAAC,kBAAkB,CAAC;IAw3B9B,OAAO;IA6BP;;;;;;;;;OASG;IACG,aAAa,CAAC,EAClB,MAAM,EACN,MAAM,EACN,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,GACpB,EAAE,eAAe,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAoN1D;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,OAAO;CAq4BhC"}
1
+ {"version":3,"file":"SnapController.d.mts","sourceRoot":"","sources":["../../src/snaps/SnapController.ts"],"names":[],"mappings":"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"}
@@ -100,13 +100,13 @@ export class SnapController extends BaseController {
100
100
  #getMnemonicSeed;
101
101
  #getFeatureFlags;
102
102
  #clientCryptography;
103
+ #clientConfig;
103
104
  #detectSnapLocation;
104
105
  #snapsRuntimeData;
105
106
  #rollbackSnapshots;
106
107
  #timeoutForLastRequestStatus;
107
108
  #statusMachine;
108
109
  #preinstalledSnaps;
109
- #trackEvent;
110
110
  #trackSnapExport;
111
111
  #ensureOnboardingComplete;
112
112
  // A promise that resolves when the controller has finished setting up.
@@ -114,7 +114,7 @@ export class SnapController extends BaseController {
114
114
  // It is resolved when the controller has finished setting up and the platform is ready.
115
115
  // It is rejected if there is an error during setup.
116
116
  #controllerSetup = createDeferredPromise();
117
- constructor({ messenger, state, dynamicPermissions = ['endowment:caip25', 'wallet_snap'], environmentEndowmentPermissions = [], excludedPermissions = {}, idleTimeCheckInterval = inMilliseconds(5, Duration.Second), maxIdleTime = inMilliseconds(30, Duration.Second), maxRequestTime = inMilliseconds(60, Duration.Second), fetchFunction = globalThis.fetch.bind(undefined), featureFlags = {}, detectSnapLocation: detectSnapLocationFunction = detectSnapLocation, preinstalledSnaps = null, encryptor, getMnemonicSeed, getFeatureFlags = () => ({}), clientCryptography, trackEvent, ensureOnboardingComplete, }) {
117
+ constructor({ messenger, state, dynamicPermissions = ['endowment:caip25', 'wallet_snap'], environmentEndowmentPermissions = [], excludedPermissions = {}, idleTimeCheckInterval = inMilliseconds(5, Duration.Second), maxIdleTime = inMilliseconds(30, Duration.Second), maxRequestTime = inMilliseconds(60, Duration.Second), fetchFunction = globalThis.fetch.bind(undefined), featureFlags = {}, detectSnapLocation: detectSnapLocationFunction = detectSnapLocation, preinstalledSnaps = null, encryptor, getMnemonicSeed, getFeatureFlags = () => ({}), clientCryptography, ensureOnboardingComplete, clientConfig, }) {
118
118
  super({
119
119
  messenger,
120
120
  metadata: {
@@ -188,13 +188,13 @@ export class SnapController extends BaseController {
188
188
  this.#getMnemonicSeed = getMnemonicSeed;
189
189
  this.#getFeatureFlags = getFeatureFlags;
190
190
  this.#clientCryptography = clientCryptography;
191
+ this.#clientConfig = clientConfig;
191
192
  this.#preinstalledSnaps = preinstalledSnaps;
192
193
  this._onUnhandledSnapError = this._onUnhandledSnapError.bind(this);
193
194
  this._onOutboundRequest = this._onOutboundRequest.bind(this);
194
195
  this._onOutboundResponse = this._onOutboundResponse.bind(this);
195
196
  this.#rollbackSnapshots = new Map();
196
197
  this.#snapsRuntimeData = new Map();
197
- this.#trackEvent = trackEvent;
198
198
  this.#ensureOnboardingComplete = ensureOnboardingComplete;
199
199
  this.#pollForLastRequestStatus();
200
200
  /* eslint-disable @typescript-eslint/unbound-method */
@@ -202,14 +202,117 @@ export class SnapController extends BaseController {
202
202
  this.messenger.subscribe('ExecutionService:outboundRequest', this._onOutboundRequest);
203
203
  this.messenger.subscribe('ExecutionService:outboundResponse', this._onOutboundResponse);
204
204
  /* eslint-enable @typescript-eslint/unbound-method */
205
- this.messenger.subscribe('SnapController:snapInstalled', ({ id }, origin) => {
206
- this.#callLifecycleHook(origin, id, HandlerType.OnInstall).catch((error) => {
207
- logError(`Error when calling \`onInstall\` lifecycle hook for snap "${id}": ${getErrorMessage(error)}`);
205
+ this.messenger.subscribe('SnapController:snapInstalled', (snap, origin, preinstalled) => {
206
+ this.#callLifecycleHook(origin, snap.id, HandlerType.OnInstall).catch((error) => {
207
+ logError(`Error when calling \`onInstall\` lifecycle hook for snap "${snap.id}": ${getErrorMessage(error)}`);
208
+ });
209
+ if (preinstalled) {
210
+ return;
211
+ }
212
+ const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snap.id);
213
+ this.messenger.call('AnalyticsController:trackEvent', {
214
+ name: 'Snap Installed',
215
+ properties: {
216
+ // eslint-disable-next-line @typescript-eslint/naming-convention
217
+ snap_id: snap.id,
218
+ version: snap.version,
219
+ origin,
220
+ // eslint-disable-next-line @typescript-eslint/naming-convention
221
+ snap_category: snapMetadata?.category ?? null,
222
+ },
223
+ sensitiveProperties: {},
224
+ saveDataRecording: false,
225
+ hasProperties: true,
226
+ });
227
+ });
228
+ this.messenger.subscribe('SnapController:snapUpdated', (snap, oldVersion, origin, preinstalled, ota) => {
229
+ this.#callLifecycleHook(origin, snap.id, HandlerType.OnUpdate).catch((error) => {
230
+ logError(`Error when calling \`onUpdate\` lifecycle hook for snap "${snap.id}": ${getErrorMessage(error)}`);
231
+ });
232
+ if (preinstalled && !ota) {
233
+ return;
234
+ }
235
+ const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snap.id);
236
+ this.messenger.call('AnalyticsController:trackEvent', {
237
+ name: 'Snap Updated',
238
+ /* eslint-disable @typescript-eslint/naming-convention */
239
+ properties: {
240
+ snap_id: snap.id,
241
+ old_version: oldVersion,
242
+ new_version: snap.version,
243
+ origin,
244
+ snap_category: snapMetadata?.category ?? null,
245
+ ota,
246
+ client_version: this.#clientConfig.version,
247
+ client_type: this.#clientConfig.type,
248
+ },
249
+ /* eslint-enable @typescript-eslint/naming-convention */
250
+ sensitiveProperties: {},
251
+ saveDataRecording: false,
252
+ hasProperties: true,
253
+ });
254
+ });
255
+ this.messenger.subscribe('SnapController:snapInstallStarted', (snapId, origin, isUpdate, preinstalled) => {
256
+ if (preinstalled) {
257
+ return;
258
+ }
259
+ const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snapId);
260
+ this.messenger.call('AnalyticsController:trackEvent', {
261
+ name: isUpdate ? 'Snap Update Started' : 'Snap Install Started',
262
+ properties: {
263
+ // eslint-disable-next-line @typescript-eslint/naming-convention
264
+ snap_id: snapId,
265
+ origin,
266
+ // eslint-disable-next-line @typescript-eslint/naming-convention
267
+ snap_category: snapMetadata?.category ?? null,
268
+ },
269
+ sensitiveProperties: {},
270
+ saveDataRecording: false,
271
+ hasProperties: true,
272
+ });
273
+ });
274
+ this.messenger.subscribe('SnapController:snapInstallFailed', (snapId, origin, isUpdate, error, preinstalled) => {
275
+ if (preinstalled) {
276
+ return;
277
+ }
278
+ const isRejected = error.includes('User rejected the request.');
279
+ const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snapId);
280
+ // eslint-disable-next-line no-nested-ternary
281
+ const name = isUpdate
282
+ ? isRejected
283
+ ? 'Snap Update Rejected'
284
+ : 'Snap Update Failed'
285
+ : isRejected
286
+ ? 'Snap Install Rejected'
287
+ : 'Snap Install Failed';
288
+ this.messenger.call('AnalyticsController:trackEvent', {
289
+ name,
290
+ properties: {
291
+ // eslint-disable-next-line @typescript-eslint/naming-convention
292
+ snap_id: snapId,
293
+ origin,
294
+ // eslint-disable-next-line @typescript-eslint/naming-convention
295
+ snap_category: snapMetadata?.category ?? null,
296
+ },
297
+ sensitiveProperties: {},
298
+ saveDataRecording: false,
299
+ hasProperties: true,
208
300
  });
209
301
  });
210
- this.messenger.subscribe('SnapController:snapUpdated', ({ id }, _oldVersion, origin) => {
211
- this.#callLifecycleHook(origin, id, HandlerType.OnUpdate).catch((error) => {
212
- logError(`Error when calling \`onUpdate\` lifecycle hook for snap "${id}": ${getErrorMessage(error)}`);
302
+ this.messenger.subscribe('SnapController:snapUninstalled', (snap) => {
303
+ const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snap.id);
304
+ this.messenger.call('AnalyticsController:trackEvent', {
305
+ name: 'Snap Uninstalled',
306
+ properties: {
307
+ // eslint-disable-next-line @typescript-eslint/naming-convention
308
+ snap_id: snap.id,
309
+ version: snap.version,
310
+ // eslint-disable-next-line @typescript-eslint/naming-convention
311
+ snap_category: snapMetadata?.category ?? null,
312
+ },
313
+ sensitiveProperties: {},
314
+ saveDataRecording: false,
315
+ hasProperties: true,
213
316
  });
214
317
  });
215
318
  this.messenger.subscribe('KeyringController:lock', this.#handleLock.bind(this));
@@ -223,18 +326,20 @@ export class SnapController extends BaseController {
223
326
  Object.values(this.state?.snaps ?? {}).forEach((snap) => this.#setupRuntime(snap.id));
224
327
  this.#trackSnapExport = throttleTracking((snapId, handler, success, origin) => {
225
328
  const snapMetadata = this.messenger.call('SnapRegistryController:getMetadata', snapId);
226
- this.#trackEvent({
227
- event: 'Snap Export Used',
228
- category: 'Snaps',
329
+ this.messenger.call('AnalyticsController:trackEvent', {
330
+ name: 'Snap Export Used',
229
331
  properties: {
230
332
  // eslint-disable-next-line @typescript-eslint/naming-convention
231
333
  snap_id: snapId,
232
334
  export: handler,
233
335
  // eslint-disable-next-line @typescript-eslint/naming-convention
234
- snap_category: snapMetadata?.category,
336
+ snap_category: snapMetadata?.category ?? null,
235
337
  success,
236
338
  origin,
237
339
  },
340
+ sensitiveProperties: {},
341
+ saveDataRecording: false,
342
+ hasProperties: true,
238
343
  });
239
344
  });
240
345
  }
@@ -421,7 +526,7 @@ export class SnapController extends BaseController {
421
526
  this.#setupRuntime(snapId);
422
527
  // Emit events
423
528
  if (isUpdate) {
424
- this.messenger.publish('SnapController:snapUpdated', this.#getTruncatedSnapExpect(snapId), existingSnap.version, METAMASK_ORIGIN, true);
529
+ this.messenger.publish('SnapController:snapUpdated', this.#getTruncatedSnapExpect(snapId), existingSnap.version, METAMASK_ORIGIN, true, false);
425
530
  }
426
531
  else if (!isMissingSource) {
427
532
  this.messenger.publish('SnapController:snapInstalled', this.#getTruncatedSnapExpect(snapId), METAMASK_ORIGIN, true);
@@ -513,6 +618,7 @@ export class SnapController extends BaseController {
513
618
  const resolvedVersion = await this.#resolveAllowlistVersion(snap.id, preinstalledVersionRange, true);
514
619
  if (resolvedVersion !== preinstalledVersionRange &&
515
620
  gtVersion(resolvedVersion, snap.version)) {
621
+ const oldVersion = snap.version;
516
622
  const location = this.#detectSnapLocation(snap.id, {
517
623
  versionRange: resolvedVersion,
518
624
  fetch: this.#fetchFunction,
@@ -526,6 +632,7 @@ export class SnapController extends BaseController {
526
632
  versionRange: resolvedVersion,
527
633
  automaticUpdate: true,
528
634
  });
635
+ this.messenger.publish('SnapController:snapUpdated', this.#getTruncatedSnapExpect(snap.id), oldVersion, ORIGIN_METAMASK, true, true);
529
636
  }
530
637
  }));
531
638
  }
@@ -1370,7 +1477,7 @@ export class SnapController extends BaseController {
1370
1477
  }
1371
1478
  // Once we finish all installs / updates, emit events.
1372
1479
  pendingInstalls.forEach((snapId) => this.messenger.publish(`SnapController:snapInstalled`, this.#getTruncatedSnapExpect(snapId), origin, false));
1373
- pendingUpdates.forEach(({ snapId, oldVersion }) => this.messenger.publish(`SnapController:snapUpdated`, this.#getTruncatedSnapExpect(snapId), oldVersion, origin, false));
1480
+ pendingUpdates.forEach(({ snapId, oldVersion }) => this.messenger.publish(`SnapController:snapUpdated`, this.#getTruncatedSnapExpect(snapId), oldVersion, origin, false, false));
1374
1481
  snapIds.forEach((snapId) => this.#rollbackSnapshots.delete(snapId));
1375
1482
  }
1376
1483
  catch (error) {
@@ -1415,7 +1522,7 @@ export class SnapController extends BaseController {
1415
1522
  snapId,
1416
1523
  type: SNAP_APPROVAL_INSTALL,
1417
1524
  });
1418
- this.messenger.publish('SnapController:snapInstallStarted', snapId, origin, false);
1525
+ this.messenger.publish('SnapController:snapInstallStarted', snapId, origin, false, false);
1419
1526
  // Existing snaps must be stopped before overwriting
1420
1527
  if (existingSnap && this.isSnapRunning(snapId)) {
1421
1528
  await this.stopSnap(snapId, SnapStatusEvents.Stop);
@@ -1456,7 +1563,7 @@ export class SnapController extends BaseController {
1456
1563
  type: SNAP_APPROVAL_INSTALL,
1457
1564
  error: errorString,
1458
1565
  });
1459
- this.messenger.publish('SnapController:snapInstallFailed', snapId, origin, false, errorString);
1566
+ this.messenger.publish('SnapController:snapInstallFailed', snapId, origin, false, errorString, false);
1460
1567
  throw error;
1461
1568
  }
1462
1569
  }
@@ -1527,7 +1634,7 @@ export class SnapController extends BaseController {
1527
1634
  type: SNAP_APPROVAL_UPDATE,
1528
1635
  });
1529
1636
  try {
1530
- this.messenger.publish('SnapController:snapInstallStarted', snapId, origin, true);
1637
+ this.messenger.publish('SnapController:snapInstallStarted', snapId, origin, true, preinstalled ?? false);
1531
1638
  const oldManifest = snap.manifest;
1532
1639
  const newSnap = await fetchSnap(snapId, location);
1533
1640
  const { sourceCode: sourceCodeFile, manifest: manifestFile } = newSnap;
@@ -1635,7 +1742,7 @@ export class SnapController extends BaseController {
1635
1742
  type: SNAP_APPROVAL_UPDATE,
1636
1743
  });
1637
1744
  }
1638
- this.messenger.publish('SnapController:snapInstallFailed', snapId, origin, true, errorString);
1745
+ this.messenger.publish('SnapController:snapInstallFailed', snapId, origin, true, errorString, preinstalled ?? false);
1639
1746
  throw error;
1640
1747
  }
1641
1748
  }