@metamask/snaps-controllers 0.36.1-flask.1 → 0.37.0-flask.1

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 (87) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/cjs/cronjob/CronjobController.js.map +1 -1
  3. package/dist/cjs/fsm.js.map +1 -1
  4. package/dist/cjs/services/AbstractExecutionService.js.map +1 -1
  5. package/dist/cjs/services/ExecutionService.js.map +1 -1
  6. package/dist/cjs/services/ProxyPostMessageStream.js.map +1 -1
  7. package/dist/cjs/services/iframe/IframeExecutionService.js.map +1 -1
  8. package/dist/cjs/services/node/NodeProcessExecutionService.js.map +1 -1
  9. package/dist/cjs/services/node/NodeThreadExecutionService.js.map +1 -1
  10. package/dist/cjs/services/offscreen/OffscreenExecutionService.js.map +1 -1
  11. package/dist/cjs/services/webworker/WebWorkerExecutionService.js.map +1 -1
  12. package/dist/cjs/snaps/SnapController.js.map +1 -1
  13. package/dist/cjs/snaps/endowments/cronjob.js.map +1 -1
  14. package/dist/cjs/snaps/endowments/ethereum-provider.js.map +1 -1
  15. package/dist/cjs/snaps/endowments/index.js.map +1 -1
  16. package/dist/cjs/snaps/endowments/long-running.js.map +1 -1
  17. package/dist/cjs/snaps/endowments/network-access.js.map +1 -1
  18. package/dist/cjs/snaps/endowments/rpc.js.map +1 -1
  19. package/dist/cjs/snaps/endowments/transaction-insight.js.map +1 -1
  20. package/dist/cjs/snaps/endowments/web-assembly.js.map +1 -1
  21. package/dist/cjs/snaps/location/http.js.map +1 -1
  22. package/dist/cjs/snaps/location/local.js.map +1 -1
  23. package/dist/cjs/snaps/location/location.js.map +1 -1
  24. package/dist/cjs/snaps/location/npm.js.map +1 -1
  25. package/dist/cjs/snaps/permissions.js.map +1 -1
  26. package/dist/cjs/snaps/registry/json.js.map +1 -1
  27. package/dist/cjs/snaps/registry/registry.js.map +1 -1
  28. package/dist/cjs/snaps/selectors.js.map +1 -1
  29. package/dist/cjs/utils.js.map +1 -1
  30. package/dist/esm/cronjob/CronjobController.js.map +1 -1
  31. package/dist/esm/fsm.js.map +1 -1
  32. package/dist/esm/services/AbstractExecutionService.js.map +1 -1
  33. package/dist/esm/services/ExecutionService.js.map +1 -1
  34. package/dist/esm/services/ProxyPostMessageStream.js.map +1 -1
  35. package/dist/esm/services/iframe/IframeExecutionService.js.map +1 -1
  36. package/dist/esm/services/node/NodeProcessExecutionService.js.map +1 -1
  37. package/dist/esm/services/node/NodeThreadExecutionService.js.map +1 -1
  38. package/dist/esm/services/offscreen/OffscreenExecutionService.js.map +1 -1
  39. package/dist/esm/services/webworker/WebWorkerExecutionService.js.map +1 -1
  40. package/dist/esm/snaps/SnapController.js.map +1 -1
  41. package/dist/esm/snaps/endowments/cronjob.js.map +1 -1
  42. package/dist/esm/snaps/endowments/ethereum-provider.js.map +1 -1
  43. package/dist/esm/snaps/endowments/index.js.map +1 -1
  44. package/dist/esm/snaps/endowments/long-running.js.map +1 -1
  45. package/dist/esm/snaps/endowments/network-access.js.map +1 -1
  46. package/dist/esm/snaps/endowments/rpc.js.map +1 -1
  47. package/dist/esm/snaps/endowments/transaction-insight.js.map +1 -1
  48. package/dist/esm/snaps/endowments/web-assembly.js.map +1 -1
  49. package/dist/esm/snaps/location/http.js.map +1 -1
  50. package/dist/esm/snaps/location/local.js.map +1 -1
  51. package/dist/esm/snaps/location/location.js.map +1 -1
  52. package/dist/esm/snaps/location/npm.js.map +1 -1
  53. package/dist/esm/snaps/permissions.js.map +1 -1
  54. package/dist/esm/snaps/registry/json.js.map +1 -1
  55. package/dist/esm/snaps/registry/registry.js.map +1 -1
  56. package/dist/esm/snaps/selectors.js.map +1 -1
  57. package/dist/esm/utils.js +2 -2
  58. package/dist/esm/utils.js.map +1 -1
  59. package/dist/types/cronjob/CronjobController.d.ts +5 -4
  60. package/dist/types/fsm.d.ts +1 -1
  61. package/dist/types/services/AbstractExecutionService.d.ts +4 -4
  62. package/dist/types/services/ExecutionService.d.ts +3 -3
  63. package/dist/types/services/ProxyPostMessageStream.d.ts +1 -1
  64. package/dist/types/services/iframe/IframeExecutionService.d.ts +3 -2
  65. package/dist/types/services/node/NodeProcessExecutionService.d.ts +4 -3
  66. package/dist/types/services/node/NodeThreadExecutionService.d.ts +3 -2
  67. package/dist/types/services/offscreen/OffscreenExecutionService.d.ts +2 -1
  68. package/dist/types/services/webworker/WebWorkerExecutionService.d.ts +2 -1
  69. package/dist/types/snaps/SnapController.d.ts +13 -10
  70. package/dist/types/snaps/endowments/cronjob.d.ts +5 -3
  71. package/dist/types/snaps/endowments/ethereum-provider.d.ts +2 -1
  72. package/dist/types/snaps/endowments/index.d.ts +2 -2
  73. package/dist/types/snaps/endowments/long-running.d.ts +2 -1
  74. package/dist/types/snaps/endowments/network-access.d.ts +2 -1
  75. package/dist/types/snaps/endowments/rpc.d.ts +5 -3
  76. package/dist/types/snaps/endowments/transaction-insight.d.ts +3 -2
  77. package/dist/types/snaps/endowments/web-assembly.d.ts +2 -1
  78. package/dist/types/snaps/location/http.d.ts +3 -2
  79. package/dist/types/snaps/location/local.d.ts +3 -3
  80. package/dist/types/snaps/location/location.d.ts +2 -2
  81. package/dist/types/snaps/location/npm.d.ts +4 -3
  82. package/dist/types/snaps/permissions.d.ts +2 -2
  83. package/dist/types/snaps/registry/json.d.ts +5 -4
  84. package/dist/types/snaps/registry/registry.d.ts +3 -3
  85. package/dist/types/snaps/selectors.d.ts +2 -2
  86. package/dist/types/utils.d.ts +14 -14
  87. package/package.json +10 -9
@@ -1,7 +1,8 @@
1
- import { BaseControllerV2 as BaseController, RestrictedControllerMessenger } from '@metamask/base-controller';
2
- import { GetPermissions } from '@metamask/permission-controller';
3
- import { SnapId, ValidatedSnapId, CronjobSpecification } from '@metamask/snaps-utils';
4
- import { GetAllSnaps, HandleSnapRequest, SnapInstalled, SnapRemoved, SnapUpdated } from '..';
1
+ import type { RestrictedControllerMessenger } from '@metamask/base-controller';
2
+ import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
3
+ import type { GetPermissions } from '@metamask/permission-controller';
4
+ import type { SnapId, ValidatedSnapId, CronjobSpecification } from '@metamask/snaps-utils';
5
+ import type { GetAllSnaps, HandleSnapRequest, SnapInstalled, SnapRemoved, SnapUpdated } from '..';
5
6
  import { Timer } from '../snaps/Timer';
6
7
  export declare type CronjobControllerActions = GetAllSnaps | HandleSnapRequest | GetPermissions;
7
8
  export declare type CronjobControllerEvents = SnapInstalled | SnapRemoved | SnapUpdated;
@@ -1,4 +1,4 @@
1
- import { EventObject, StateMachine, Typestate } from '@xstate/fsm';
1
+ import type { EventObject, StateMachine, Typestate } from '@xstate/fsm';
2
2
  /**
3
3
  * Validates the set-up of a @xstate/fsm machine.
4
4
  *
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import ObjectMultiplex from '@metamask/object-multiplex';
3
- import { BasePostMessageStream } from '@metamask/post-message-stream';
4
- import { SnapRpcHookArgs } from '@metamask/snaps-utils';
3
+ import type { BasePostMessageStream } from '@metamask/post-message-stream';
4
+ import type { SnapRpcHookArgs } from '@metamask/snaps-utils';
5
5
  import { JsonRpcEngine } from 'json-rpc-engine';
6
- import { Duplex } from 'stream';
7
- import { ExecutionService, ExecutionServiceMessenger, SnapExecutionData } from './ExecutionService';
6
+ import type { Duplex } from 'stream';
7
+ import type { ExecutionService, ExecutionServiceMessenger, SnapExecutionData } from './ExecutionService';
8
8
  export declare type SetupSnapProvider = (snapId: string, stream: Duplex) => void;
9
9
  export declare type ExecutionServiceArgs = {
10
10
  setupSnapProvider: SetupSnapProvider;
@@ -1,6 +1,6 @@
1
- import { RestrictedControllerMessenger } from '@metamask/base-controller';
2
- import { SnapId, SnapRpcHookArgs } from '@metamask/snaps-utils';
3
- import { Json } from '@metamask/types';
1
+ import type { RestrictedControllerMessenger } from '@metamask/base-controller';
2
+ import type { SnapId, SnapRpcHookArgs } from '@metamask/snaps-utils';
3
+ import type { Json } from '@metamask/types';
4
4
  declare type TerminateSnap = (snapId: string) => Promise<void>;
5
5
  declare type TerminateAll = () => Promise<void>;
6
6
  declare type ExecuteSnap = (snapData: SnapExecutionData) => Promise<unknown>;
@@ -1,5 +1,5 @@
1
1
  import { BasePostMessageStream } from '@metamask/post-message-stream';
2
- import { JsonRpcRequest } from '@metamask/utils';
2
+ import type { JsonRpcRequest } from '@metamask/utils';
3
3
  export declare type ProxyPostMessageStreamArgs = {
4
4
  stream: BasePostMessageStream;
5
5
  jobId: string;
@@ -1,5 +1,6 @@
1
- import { BasePostMessageStream } from '@metamask/post-message-stream';
2
- import { Job, AbstractExecutionService, ExecutionServiceArgs } from '../AbstractExecutionService';
1
+ import type { BasePostMessageStream } from '@metamask/post-message-stream';
2
+ import type { Job, ExecutionServiceArgs } from '../AbstractExecutionService';
3
+ import { AbstractExecutionService } from '../AbstractExecutionService';
3
4
  declare type IframeExecutionEnvironmentServiceArgs = {
4
5
  iframeUrl: URL;
5
6
  } & ExecutionServiceArgs;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
- import { BasePostMessageStream } from '@metamask/post-message-stream';
3
- import { ChildProcess } from 'child_process';
4
- import { AbstractExecutionService, Job } from '..';
2
+ import type { BasePostMessageStream } from '@metamask/post-message-stream';
3
+ import type { ChildProcess } from 'child_process';
4
+ import type { Job } from '..';
5
+ import { AbstractExecutionService } from '..';
5
6
  export declare class NodeProcessExecutionService extends AbstractExecutionService<ChildProcess> {
6
7
  protected initEnvStream(): Promise<{
7
8
  worker: ChildProcess;
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
- import { BasePostMessageStream } from '@metamask/post-message-stream';
2
+ import type { BasePostMessageStream } from '@metamask/post-message-stream';
3
3
  import { Worker } from 'worker_threads';
4
- import { AbstractExecutionService, Job } from '..';
4
+ import type { Job } from '..';
5
+ import { AbstractExecutionService } from '..';
5
6
  export declare class NodeThreadExecutionService extends AbstractExecutionService<Worker> {
6
7
  protected initEnvStream(): Promise<{
7
8
  worker: Worker;
@@ -1,4 +1,5 @@
1
- import { AbstractExecutionService, ExecutionServiceArgs, Job } from '../AbstractExecutionService';
1
+ import type { ExecutionServiceArgs, Job } from '../AbstractExecutionService';
2
+ import { AbstractExecutionService } from '../AbstractExecutionService';
2
3
  import { ProxyPostMessageStream } from '../ProxyPostMessageStream';
3
4
  declare type OffscreenExecutionEnvironmentServiceArgs = {
4
5
  documentUrl: URL;
@@ -1,4 +1,5 @@
1
- import { AbstractExecutionService, ExecutionServiceArgs, Job } from '../AbstractExecutionService';
1
+ import type { ExecutionServiceArgs, Job } from '../AbstractExecutionService';
2
+ import { AbstractExecutionService } from '../AbstractExecutionService';
2
3
  import { ProxyPostMessageStream } from '../ProxyPostMessageStream';
3
4
  declare type WebWorkerExecutionEnvironmentServiceArgs = {
4
5
  documentUrl: URL;
@@ -1,14 +1,17 @@
1
- import { AddApprovalRequest, UpdateRequestState } from '@metamask/approval-controller';
2
- import { BaseControllerV2 as BaseController, RestrictedControllerMessenger } from '@metamask/base-controller';
3
- import { GetEndowments, GetPermissions, GetSubjects, GrantPermissions, HasPermission, HasPermissions, RevokeAllPermissions, RevokePermissionForAllSubjects, RevokePermissions, UpdateCaveat, GetSubjectMetadata } from '@metamask/permission-controller';
4
- import { BlockReason } from '@metamask/snaps-registry';
5
- import { InstallSnapsResult, PersistedSnap, RequestedSnapPermissions, Snap, SnapId, SnapRpcHook, SnapRpcHookArgs, SnapStatusEvents, StatusContext, StatusEvents, StatusStates, TruncatedSnap, ValidatedSnapId } from '@metamask/snaps-utils';
6
- import { Json, NonEmptyArray } from '@metamask/utils';
7
- import { StateMachine } from '@xstate/fsm';
1
+ import type { AddApprovalRequest, UpdateRequestState } from '@metamask/approval-controller';
2
+ import type { RestrictedControllerMessenger } from '@metamask/base-controller';
3
+ import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
4
+ import type { GetEndowments, GetPermissions, GetSubjects, GrantPermissions, HasPermission, HasPermissions, RevokeAllPermissions, RevokePermissionForAllSubjects, RevokePermissions, UpdateCaveat, GetSubjectMetadata } from '@metamask/permission-controller';
5
+ import type { BlockReason } from '@metamask/snaps-registry';
6
+ import type { InstallSnapsResult, PersistedSnap, RequestedSnapPermissions, Snap, SnapId, SnapRpcHook, SnapRpcHookArgs, StatusContext, StatusEvents, StatusStates, TruncatedSnap, ValidatedSnapId } from '@metamask/snaps-utils';
7
+ import { SnapStatusEvents } from '@metamask/snaps-utils';
8
+ import type { Json, NonEmptyArray } from '@metamask/utils';
9
+ import type { StateMachine } from '@xstate/fsm';
8
10
  import type { Patch } from 'immer';
9
- import { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
10
- import { detectSnapLocation, SnapLocation } from './location';
11
- import { GetMetadata, GetResult, SnapsRegistryMetadata } from './registry';
11
+ import type { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
12
+ import type { SnapLocation } from './location';
13
+ import { detectSnapLocation } from './location';
14
+ import type { GetMetadata, GetResult, SnapsRegistryMetadata } from './registry';
12
15
  import { Timer } from './Timer';
13
16
  export declare const controllerName = "SnapController";
14
17
  export declare const SNAP_APPROVAL_INSTALL = "wallet_installSnap";
@@ -1,6 +1,8 @@
1
- import { PermissionSpecificationBuilder, PermissionType, PermissionConstraint, Caveat, CaveatSpecificationConstraint } from '@metamask/permission-controller';
2
- import { SnapCaveatType, CronjobSpecification } from '@metamask/snaps-utils';
3
- import { Json, NonEmptyArray } from '@metamask/utils';
1
+ import type { PermissionSpecificationBuilder, PermissionConstraint, Caveat, CaveatSpecificationConstraint } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
3
+ import type { CronjobSpecification } from '@metamask/snaps-utils';
4
+ import { SnapCaveatType } from '@metamask/snaps-utils';
5
+ import type { Json, NonEmptyArray } from '@metamask/utils';
4
6
  import { SnapEndowments } from './enum';
5
7
  declare const permissionName = SnapEndowments.Cronjob;
6
8
  export declare const cronjobEndowmentBuilder: Readonly<{
@@ -1,4 +1,5 @@
1
- import { PermissionSpecificationBuilder, PermissionType } from '@metamask/permission-controller';
1
+ import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
2
3
  import { SnapEndowments } from './enum';
3
4
  declare const permissionName = SnapEndowments.EthereumProvider;
4
5
  export declare const ethereumProviderEndowmentBuilder: Readonly<{
@@ -1,6 +1,6 @@
1
- import { PermissionConstraint } from '@metamask/permission-controller';
1
+ import type { PermissionConstraint } from '@metamask/permission-controller';
2
2
  import { HandlerType } from '@metamask/snaps-utils';
3
- import { Json } from '@metamask/utils';
3
+ import type { Json } from '@metamask/utils';
4
4
  export declare const endowmentPermissionBuilders: {
5
5
  readonly "endowment:network-access": Readonly<{
6
6
  readonly targetName: import("./enum").SnapEndowments.NetworkAccess;
@@ -1,4 +1,5 @@
1
- import { PermissionSpecificationBuilder, PermissionType } from '@metamask/permission-controller';
1
+ import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
2
3
  import { SnapEndowments } from './enum';
3
4
  declare const permissionName = SnapEndowments.LongRunning;
4
5
  export declare const longRunningEndowmentBuilder: Readonly<{
@@ -1,4 +1,5 @@
1
- import { PermissionSpecificationBuilder, PermissionType } from '@metamask/permission-controller';
1
+ import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
2
3
  import { SnapEndowments } from './enum';
3
4
  declare const permissionName = SnapEndowments.NetworkAccess;
4
5
  export declare const networkAccessEndowmentBuilder: Readonly<{
@@ -1,6 +1,8 @@
1
- import { CaveatSpecificationConstraint, PermissionConstraint, PermissionSpecificationBuilder, PermissionType, PermissionValidatorConstraint, SubjectType } from '@metamask/permission-controller';
2
- import { RpcOrigins, SnapCaveatType } from '@metamask/snaps-utils';
3
- import { Json, NonEmptyArray } from '@metamask/utils';
1
+ import type { CaveatSpecificationConstraint, PermissionConstraint, PermissionSpecificationBuilder, PermissionValidatorConstraint } from '@metamask/permission-controller';
2
+ import { PermissionType, SubjectType } from '@metamask/permission-controller';
3
+ import type { RpcOrigins } from '@metamask/snaps-utils';
4
+ import { SnapCaveatType } from '@metamask/snaps-utils';
5
+ import type { Json, NonEmptyArray } from '@metamask/utils';
4
6
  import { SnapEndowments } from './enum';
5
7
  declare const targetName = SnapEndowments.Rpc;
6
8
  declare type RpcSpecificationBuilderOptions = {};
@@ -1,6 +1,7 @@
1
- import { PermissionSpecificationBuilder, PermissionType, EndowmentGetterParams, PermissionValidatorConstraint, PermissionConstraint, CaveatSpecificationConstraint } from '@metamask/permission-controller';
1
+ import type { PermissionSpecificationBuilder, EndowmentGetterParams, PermissionValidatorConstraint, PermissionConstraint, CaveatSpecificationConstraint } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
2
3
  import { SnapCaveatType } from '@metamask/snaps-utils';
3
- import { Json, NonEmptyArray } from '@metamask/utils';
4
+ import type { Json, NonEmptyArray } from '@metamask/utils';
4
5
  import { SnapEndowments } from './enum';
5
6
  declare const permissionName = SnapEndowments.TransactionInsight;
6
7
  export declare const transactionInsightEndowmentBuilder: Readonly<{
@@ -1,4 +1,5 @@
1
- import { PermissionSpecificationBuilder, PermissionType } from '@metamask/permission-controller';
1
+ import type { PermissionSpecificationBuilder } from '@metamask/permission-controller';
2
+ import { PermissionType } from '@metamask/permission-controller';
2
3
  import { SnapEndowments } from './enum';
3
4
  declare const permissionName = SnapEndowments.WebAssemblyAccess;
4
5
  export declare const webAssemblyEndowmentBuilder: Readonly<{
@@ -1,5 +1,6 @@
1
- import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
- import { SnapLocation } from './location';
1
+ import type { SnapManifest } from '@metamask/snaps-utils';
2
+ import { VirtualFile } from '@metamask/snaps-utils';
3
+ import type { SnapLocation } from './location';
3
4
  export interface HttpOptions {
4
5
  /**
5
6
  * @default fetch
@@ -1,6 +1,6 @@
1
- import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
- import { HttpOptions } from './http';
3
- import { SnapLocation } from './location';
1
+ import type { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
+ import type { HttpOptions } from './http';
3
+ import type { SnapLocation } from './location';
4
4
  export declare class LocalLocation implements SnapLocation {
5
5
  #private;
6
6
  constructor(url: URL, opts?: HttpOptions);
@@ -1,5 +1,5 @@
1
- import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
- import { NpmOptions } from './npm';
1
+ import type { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
+ import type { NpmOptions } from './npm';
3
3
  declare module '@metamask/snaps-utils' {
4
4
  interface DataMap {
5
5
  /**
@@ -1,6 +1,7 @@
1
- import { SnapManifest, VirtualFile } from '@metamask/snaps-utils';
2
- import { SemVerRange } from '@metamask/utils';
3
- import { DetectSnapLocationOptions, SnapLocation } from './location';
1
+ import type { SnapManifest } from '@metamask/snaps-utils';
2
+ import { VirtualFile } from '@metamask/snaps-utils';
3
+ import type { SemVerRange } from '@metamask/utils';
4
+ import type { DetectSnapLocationOptions, SnapLocation } from './location';
4
5
  export declare const DEFAULT_NPM_REGISTRY = "https://registry.npmjs.org";
5
6
  export interface NpmOptions {
6
7
  /**
@@ -1,5 +1,5 @@
1
- import { PermissionConstraint, PermissionSpecificationConstraint } from '@metamask/permission-controller';
2
- import { SnapPermissions } from '@metamask/snaps-utils';
1
+ import type { PermissionConstraint, PermissionSpecificationConstraint } from '@metamask/permission-controller';
2
+ import type { SnapPermissions } from '@metamask/snaps-utils';
3
3
  /**
4
4
  * Map initial permissions as defined in a Snap manifest to something that can
5
5
  * be processed by the PermissionsController. Each caveat mapping function
@@ -1,7 +1,8 @@
1
- import { BaseControllerV2 as BaseController, RestrictedControllerMessenger } from '@metamask/base-controller';
2
- import { SnapsRegistryDatabase } from '@metamask/snaps-registry';
3
- import { Hex } from '@metamask/utils';
4
- import { SnapsRegistry } from './registry';
1
+ import type { RestrictedControllerMessenger } from '@metamask/base-controller';
2
+ import { BaseControllerV2 as BaseController } from '@metamask/base-controller';
3
+ import type { SnapsRegistryDatabase } from '@metamask/snaps-registry';
4
+ import type { Hex } from '@metamask/utils';
5
+ import type { SnapsRegistry } from './registry';
5
6
  declare type JsonSnapsRegistryUrl = {
6
7
  registry: string;
7
8
  signature: string;
@@ -1,6 +1,6 @@
1
- import { BlockReason, SnapsRegistryDatabase } from '@metamask/snaps-registry';
2
- import { SnapId, ValidatedSnapId } from '@metamask/snaps-utils';
3
- import { SemVerVersion } from '@metamask/utils';
1
+ import type { BlockReason, SnapsRegistryDatabase } from '@metamask/snaps-registry';
2
+ import type { SnapId, ValidatedSnapId } from '@metamask/snaps-utils';
3
+ import type { SemVerVersion } from '@metamask/utils';
4
4
  export declare type SnapsRegistryInfo = {
5
5
  version: SemVerVersion;
6
6
  checksum: string;
@@ -1,2 +1,2 @@
1
- import { TruncatedSnap } from '@metamask/snaps-utils';
2
- export declare const getRunnableSnaps: <T extends TruncatedSnap>(snaps: T[]) => T[];
1
+ import type { TruncatedSnap } from '@metamask/snaps-utils';
2
+ export declare const getRunnableSnaps: <Snap extends TruncatedSnap>(snaps: Snap[]) => Snap[];
@@ -15,7 +15,7 @@ import { Timer } from './snaps/Timer';
15
15
  */
16
16
  export declare function setDiff<ObjectA extends Record<any, unknown>, ObjectB extends Record<any, unknown>>(objectA: ObjectA, objectB: ObjectB): Diff<ObjectA, ObjectB>;
17
17
  /**
18
- * A Promise that delays it's return for a given amount of milliseconds.
18
+ * A Promise that delays its return for a given amount of milliseconds.
19
19
  *
20
20
  * @param ms - Milliseconds to delay the execution for.
21
21
  * @param result - The result to return from the Promise after delay.
@@ -46,7 +46,7 @@ export declare const hasTimedOut: unique symbol;
46
46
  * @param timerOrMs - The timer controlling the timeout or a ms value.
47
47
  * @returns The resolved `PromiseValue`, or the hasTimedOut symbol if
48
48
  * returning early.
49
- * @template PromiseValue- - The value of the Promise.
49
+ * @template PromiseValue - The value of the Promise.
50
50
  */
51
51
  export declare function withTimeout<PromiseValue = void>(promise: Promise<PromiseValue>, timerOrMs: Timer | number): Promise<PromiseValue | typeof hasTimedOut>;
52
52
  /**
@@ -72,7 +72,7 @@ export declare function withTimeout<PromiseValue = void>(promise: Promise<Promis
72
72
  * // t5 = false;
73
73
  * ```
74
74
  */
75
- declare type IsLiteral<T> = T extends string | number | boolean | symbol ? Extract<string | number | boolean | symbol, T> extends never ? true : false : false;
75
+ declare type IsLiteral<Type> = Type extends string | number | boolean | symbol ? Extract<string | number | boolean | symbol, Type> extends never ? true : false : false;
76
76
  /**
77
77
  * Returns all keys of an object, that are literal, as an union
78
78
  *
@@ -83,9 +83,9 @@ declare type IsLiteral<T> = T extends string | number | boolean | symbol ? Extra
83
83
  * ```
84
84
  * @see [Literal types]{@link https://www.typescriptlang.org/docs/handbook/literal-types.html}
85
85
  */
86
- declare type LiteralKeys<T> = NonNullable<{
87
- [Key in keyof T]: IsLiteral<Key> extends true ? Key : never;
88
- }[keyof T]>;
86
+ declare type LiteralKeys<Type> = NonNullable<{
87
+ [Key in keyof Type]: IsLiteral<Key> extends true ? Key : never;
88
+ }[keyof Type]>;
89
89
  /**
90
90
  * Returns all keys of an object, that are not literal, as an union
91
91
  *
@@ -96,9 +96,9 @@ declare type LiteralKeys<T> = NonNullable<{
96
96
  * ```
97
97
  * @see [Literal types]{@link https://www.typescriptlang.org/docs/handbook/literal-types.html}
98
98
  */
99
- declare type NonLiteralKeys<T> = NonNullable<{
100
- [Key in keyof T]: IsLiteral<Key> extends false ? Key : never;
101
- }[keyof T]>;
99
+ declare type NonLiteralKeys<Type> = NonNullable<{
100
+ [Key in keyof Type]: IsLiteral<Key> extends false ? Key : never;
101
+ }[keyof Type]>;
102
102
  /**
103
103
  * A set difference of two objects based on their keys
104
104
  *
@@ -113,16 +113,16 @@ declare type NonLiteralKeys<T> = NonNullable<{
113
113
  * ```
114
114
  * @see {@link setDiff} for the main use-case
115
115
  */
116
- export declare type Diff<A, B> = Omit<A, LiteralKeys<B>> & Partial<Pick<A, Extract<keyof A, NonLiteralKeys<B>>>>;
116
+ export declare type Diff<First, Second> = Omit<First, LiteralKeys<Second>> & Partial<Pick<First, Extract<keyof First, NonLiteralKeys<Second>>>>;
117
117
  /**
118
118
  * Makes every specified property of the specified object type mutable.
119
119
  *
120
- * @template T - The object whose readonly properties to make mutable.
120
+ * @template Type - The object whose readonly properties to make mutable.
121
121
  * @template TargetKey - The property key(s) to make mutable.
122
122
  */
123
- export declare type Mutable<T extends Record<string, unknown>, TargetKey extends string> = {
124
- -readonly [Key in keyof Pick<T, TargetKey>]: T[Key];
123
+ export declare type Mutable<Type extends Record<string, unknown>, TargetKey extends string> = {
124
+ -readonly [Key in keyof Pick<Type, TargetKey>]: Type[Key];
125
125
  } & {
126
- [Key in keyof Omit<T, TargetKey>]: T[Key];
126
+ [Key in keyof Omit<Type, TargetKey>]: Type[Key];
127
127
  };
128
128
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/snaps-controllers",
3
- "version": "0.36.1-flask.1",
3
+ "version": "0.37.0-flask.1",
4
4
  "description": "Controllers for MetaMask Snaps.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,10 +47,10 @@
47
47
  "@metamask/object-multiplex": "^1.2.0",
48
48
  "@metamask/permission-controller": "^4.0.0",
49
49
  "@metamask/post-message-stream": "^6.1.2",
50
- "@metamask/rpc-methods": "^0.36.1-flask.1",
51
- "@metamask/snaps-execution-environments": "^0.36.1-flask.1",
50
+ "@metamask/rpc-methods": "^0.37.0-flask.1",
51
+ "@metamask/snaps-execution-environments": "^0.37.0-flask.1",
52
52
  "@metamask/snaps-registry": "^1.2.1",
53
- "@metamask/snaps-utils": "^0.36.1-flask.1",
53
+ "@metamask/snaps-utils": "^0.37.0-flask.1",
54
54
  "@metamask/utils": "^6.0.1",
55
55
  "@xstate/fsm": "^2.0.0",
56
56
  "concat-stream": "^2.0.0",
@@ -70,10 +70,10 @@
70
70
  "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
71
71
  "@lavamoat/allow-scripts": "^2.3.1",
72
72
  "@metamask/auto-changelog": "^3.1.0",
73
- "@metamask/eslint-config": "^11.0.0",
74
- "@metamask/eslint-config-jest": "^11.0.0",
75
- "@metamask/eslint-config-nodejs": "^11.0.1",
76
- "@metamask/eslint-config-typescript": "^11.0.0",
73
+ "@metamask/eslint-config": "^12.1.0",
74
+ "@metamask/eslint-config-jest": "^12.1.0",
75
+ "@metamask/eslint-config-nodejs": "^12.1.0",
76
+ "@metamask/eslint-config-typescript": "^12.1.0",
77
77
  "@metamask/template-snap": "^0.7.0",
78
78
  "@peculiar/webcrypto": "^1.3.3",
79
79
  "@swc/cli": "^0.1.62",
@@ -103,8 +103,9 @@
103
103
  "eslint-plugin-import": "^2.26.0",
104
104
  "eslint-plugin-jest": "^27.1.5",
105
105
  "eslint-plugin-jsdoc": "^39.6.2",
106
- "eslint-plugin-node": "^11.1.0",
106
+ "eslint-plugin-n": "^15.7.0",
107
107
  "eslint-plugin-prettier": "^4.2.1",
108
+ "eslint-plugin-promise": "^6.1.1",
108
109
  "expect-webdriverio": "^4.1.2",
109
110
  "istanbul-lib-coverage": "^3.2.0",
110
111
  "istanbul-lib-report": "^3.0.0",