@metamask/snaps-controllers 6.0.3 → 7.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 (114) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/dist/{chunk-SXF7KAMU.mjs → chunk-25LS4KZK.mjs} +2 -2
  3. package/dist/{chunk-YDVUJQ2S.mjs → chunk-2KCUVQFS.mjs} +2 -2
  4. package/dist/{chunk-VOAJRWUB.js → chunk-3ZC4LB7T.js} +3 -3
  5. package/dist/{chunk-B67RDBZ4.mjs → chunk-42ODFZSH.mjs} +4 -4
  6. package/dist/{chunk-VJZI4VSJ.js → chunk-54TYYPAN.js} +2 -2
  7. package/dist/chunk-54TYYPAN.js.map +1 -0
  8. package/dist/{chunk-TXR2WWIP.js → chunk-63GNCRER.js} +3 -3
  9. package/dist/{chunk-E7627MMH.mjs → chunk-75VM3O4K.mjs} +2 -2
  10. package/dist/{chunk-AELC3WCV.mjs → chunk-BJOQRBH2.mjs} +2 -2
  11. package/dist/chunk-HP6S5IOB.js +1 -0
  12. package/dist/chunk-HP6S5IOB.js.map +1 -0
  13. package/dist/{chunk-APQVOL5T.js → chunk-MIYZN7HG.js} +139 -18
  14. package/dist/chunk-MIYZN7HG.js.map +1 -0
  15. package/dist/{chunk-WFADRL7I.js → chunk-N7WIJNHY.js} +3 -3
  16. package/dist/{chunk-CFTCANAK.js → chunk-NSLYI2LS.js} +3 -3
  17. package/dist/chunk-NZOUFWUN.mjs +1 -0
  18. package/dist/chunk-NZOUFWUN.mjs.map +1 -0
  19. package/dist/{chunk-7WOG63YY.js → chunk-PT22IXNS.js} +3 -3
  20. package/dist/{chunk-KEEKVE7E.mjs → chunk-Q4I5QTVC.mjs} +2 -2
  21. package/dist/{chunk-BAJUEBP6.mjs → chunk-SCERVW3B.mjs} +2 -2
  22. package/dist/{chunk-AXXQZJBW.mjs → chunk-TIP3Q7KZ.mjs} +140 -19
  23. package/dist/chunk-TIP3Q7KZ.mjs.map +1 -0
  24. package/dist/{chunk-6HI7J27U.js → chunk-WQYMF7QP.js} +3 -3
  25. package/dist/{chunk-XBGQ5PKQ.mjs → chunk-WVGK5B5P.mjs} +2 -2
  26. package/dist/{chunk-VJZI4VSJ.js.map → chunk-WVGK5B5P.mjs.map} +1 -1
  27. package/dist/{chunk-E7FBXFXJ.mjs → chunk-Y5KX5ICF.mjs} +2 -2
  28. package/dist/{chunk-MXCU2GFU.js → chunk-YVNRYLOC.js} +3 -3
  29. package/dist/{chunk-LAVQZHSH.js → chunk-Z6SOB3SY.js} +3 -3
  30. package/dist/cronjob/CronjobController.js +11 -11
  31. package/dist/cronjob/CronjobController.mjs +11 -11
  32. package/dist/cronjob/index.js +11 -11
  33. package/dist/cronjob/index.mjs +11 -11
  34. package/dist/index.js +15 -15
  35. package/dist/index.mjs +17 -17
  36. package/dist/node.js +17 -17
  37. package/dist/node.mjs +19 -19
  38. package/dist/react-native.js +16 -16
  39. package/dist/react-native.mjs +18 -18
  40. package/dist/services/AbstractExecutionService.js +2 -2
  41. package/dist/services/AbstractExecutionService.mjs +1 -1
  42. package/dist/services/browser.js +8 -8
  43. package/dist/services/browser.mjs +7 -7
  44. package/dist/services/iframe/IframeExecutionService.js +3 -3
  45. package/dist/services/iframe/IframeExecutionService.mjs +2 -2
  46. package/dist/services/iframe/index.js +3 -3
  47. package/dist/services/iframe/index.mjs +2 -2
  48. package/dist/services/index.js +7 -7
  49. package/dist/services/index.mjs +6 -6
  50. package/dist/services/node-js/NodeProcessExecutionService.js +8 -8
  51. package/dist/services/node-js/NodeProcessExecutionService.mjs +7 -7
  52. package/dist/services/node-js/NodeThreadExecutionService.js +8 -8
  53. package/dist/services/node-js/NodeThreadExecutionService.mjs +7 -7
  54. package/dist/services/node-js/index.js +9 -9
  55. package/dist/services/node-js/index.mjs +8 -8
  56. package/dist/services/node.js +9 -9
  57. package/dist/services/node.mjs +8 -8
  58. package/dist/services/offscreen/OffscreenExecutionService.js +4 -4
  59. package/dist/services/offscreen/OffscreenExecutionService.mjs +3 -3
  60. package/dist/services/offscreen/index.js +4 -4
  61. package/dist/services/offscreen/index.mjs +3 -3
  62. package/dist/services/proxy/ProxyExecutionService.js +3 -3
  63. package/dist/services/proxy/ProxyExecutionService.mjs +2 -2
  64. package/dist/services/react-native.js +8 -8
  65. package/dist/services/react-native.mjs +7 -7
  66. package/dist/services/webview/WebViewExecutionService.js +4 -4
  67. package/dist/services/webview/WebViewExecutionService.mjs +3 -3
  68. package/dist/services/webview/index.js +4 -4
  69. package/dist/services/webview/index.mjs +3 -3
  70. package/dist/services/webworker/WebWorkerExecutionService.js +3 -3
  71. package/dist/services/webworker/WebWorkerExecutionService.mjs +2 -2
  72. package/dist/services/webworker/index.js +3 -3
  73. package/dist/services/webworker/index.mjs +2 -2
  74. package/dist/snaps/SnapController.js +6 -6
  75. package/dist/snaps/SnapController.mjs +5 -5
  76. package/dist/snaps/index.js +9 -9
  77. package/dist/snaps/index.mjs +11 -11
  78. package/dist/snaps/location/index.js +4 -4
  79. package/dist/snaps/location/index.mjs +4 -4
  80. package/dist/snaps/location/location.js +3 -3
  81. package/dist/snaps/location/location.mjs +2 -2
  82. package/dist/tsconfig.build.tsbuildinfo +1 -1
  83. package/dist/types/encryptor.js +2 -0
  84. package/dist/types/encryptor.js.map +1 -0
  85. package/dist/types/encryptor.mjs +2 -0
  86. package/dist/types/encryptor.mjs.map +1 -0
  87. package/dist/types/index.js +2 -0
  88. package/dist/types/index.js.map +1 -0
  89. package/dist/types/index.mjs +2 -0
  90. package/dist/types/index.mjs.map +1 -0
  91. package/dist/types/snaps/SnapController.d.ts +18 -3
  92. package/dist/types/types/encryptor.d.ts +98 -0
  93. package/dist/types/types/index.d.ts +1 -0
  94. package/dist/types/utils.d.ts +31 -55
  95. package/package.json +13 -12
  96. package/dist/chunk-APQVOL5T.js.map +0 -1
  97. package/dist/chunk-AXXQZJBW.mjs.map +0 -1
  98. package/dist/chunk-XBGQ5PKQ.mjs.map +0 -1
  99. /package/dist/{chunk-SXF7KAMU.mjs.map → chunk-25LS4KZK.mjs.map} +0 -0
  100. /package/dist/{chunk-YDVUJQ2S.mjs.map → chunk-2KCUVQFS.mjs.map} +0 -0
  101. /package/dist/{chunk-VOAJRWUB.js.map → chunk-3ZC4LB7T.js.map} +0 -0
  102. /package/dist/{chunk-B67RDBZ4.mjs.map → chunk-42ODFZSH.mjs.map} +0 -0
  103. /package/dist/{chunk-TXR2WWIP.js.map → chunk-63GNCRER.js.map} +0 -0
  104. /package/dist/{chunk-E7627MMH.mjs.map → chunk-75VM3O4K.mjs.map} +0 -0
  105. /package/dist/{chunk-AELC3WCV.mjs.map → chunk-BJOQRBH2.mjs.map} +0 -0
  106. /package/dist/{chunk-WFADRL7I.js.map → chunk-N7WIJNHY.js.map} +0 -0
  107. /package/dist/{chunk-CFTCANAK.js.map → chunk-NSLYI2LS.js.map} +0 -0
  108. /package/dist/{chunk-7WOG63YY.js.map → chunk-PT22IXNS.js.map} +0 -0
  109. /package/dist/{chunk-KEEKVE7E.mjs.map → chunk-Q4I5QTVC.mjs.map} +0 -0
  110. /package/dist/{chunk-BAJUEBP6.mjs.map → chunk-SCERVW3B.mjs.map} +0 -0
  111. /package/dist/{chunk-6HI7J27U.js.map → chunk-WQYMF7QP.js.map} +0 -0
  112. /package/dist/{chunk-E7FBXFXJ.mjs.map → chunk-Y5KX5ICF.mjs.map} +0 -0
  113. /package/dist/{chunk-MXCU2GFU.js.map → chunk-YVNRYLOC.js.map} +0 -0
  114. /package/dist/{chunk-LAVQZHSH.js.map → chunk-Z6SOB3SY.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";require('../chunk-HP6S5IOB.js');
2
+ //# sourceMappingURL=encryptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "../chunk-NZOUFWUN.mjs";
2
+ //# sourceMappingURL=encryptor.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";require('../chunk-HP6S5IOB.js');
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import "../chunk-NZOUFWUN.mjs";
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -12,6 +12,7 @@ import type { StateMachine } from '@xstate/fsm';
12
12
  import type { Patch } from 'immer';
13
13
  import type { CreateInterface, GetInterface } from '../interface';
14
14
  import type { ExecuteSnapAction, ExecutionServiceEvents, HandleRpcRequestAction, SnapErrorJson, TerminateAllSnapsAction, TerminateSnapAction } from '../services';
15
+ import { type ExportableKeyEncryptor } from '../types';
15
16
  import type { SnapLocation } from './location';
16
17
  import { detectSnapLocation } from './location';
17
18
  import type { GetMetadata, GetResult, ResolveVersion, SnapsRegistryMetadata, Update } from './registry';
@@ -75,6 +76,10 @@ export interface SnapRuntimeData {
75
76
  * @see {@link SnapController:constructor}
76
77
  */
77
78
  interpreter: StateMachine.Service<StatusContext, StatusEvents, StatusStates>;
79
+ /**
80
+ * Cached encryption key used for state encryption.
81
+ */
82
+ encryptionKey: string | null;
78
83
  }
79
84
  export declare type SnapError = {
80
85
  message: string;
@@ -351,11 +356,21 @@ declare type SnapControllerArgs = {
351
356
  * A list of snaps to be preinstalled into the SnapController state on initialization.
352
357
  */
353
358
  preinstalledSnaps?: PreinstalledSnap[];
359
+ /**
360
+ * A utility object containing functions required for state encryption.
361
+ */
362
+ encryptor: ExportableKeyEncryptor;
363
+ /**
364
+ * A hook to access the mnemonic of the user's primary keyring.
365
+ *
366
+ * @returns The mnemonic as bytes.
367
+ */
368
+ getMnemonic: () => Promise<Uint8Array>;
354
369
  };
355
370
  export declare class SnapController extends BaseController<string, SnapControllerState, SnapControllerMessenger> {
356
371
  #private;
357
372
  private readonly maxRequestTime;
358
- constructor({ closeAllConnections, messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, maxInitTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, }: SnapControllerArgs);
373
+ constructor({ closeAllConnections, messenger, state, dynamicPermissions, environmentEndowmentPermissions, excludedPermissions, idleTimeCheckInterval, maxIdleTime, maxRequestTime, maxInitTime, fetchFunction, featureFlags, detectSnapLocation: detectSnapLocationFunction, preinstalledSnaps, encryptor, getMnemonic, }: SnapControllerArgs);
359
374
  /**
360
375
  * Checks all installed snaps against the block list and
361
376
  * blocks/unblocks snaps as appropriate. See {@link SnapController.blockSnap}
@@ -454,7 +469,7 @@ export declare class SnapController extends BaseController<string, SnapControlle
454
469
  * @param newSnapState - The new state of the snap.
455
470
  * @param encrypted - A flag to indicate whether to use encrypted storage or not.
456
471
  */
457
- updateSnapState(snapId: SnapId, newSnapState: string, encrypted: boolean): void;
472
+ updateSnapState(snapId: SnapId, newSnapState: Record<string, Json>, encrypted: boolean): Promise<void>;
458
473
  /**
459
474
  * Clears the state of the snap with the given id.
460
475
  * This is distinct from the state MetaMask uses to manage snaps.
@@ -471,7 +486,7 @@ export declare class SnapController extends BaseController<string, SnapControlle
471
486
  * @param encrypted - A flag to indicate whether to use encrypted storage or not.
472
487
  * @returns The requested snap state or null if no state exists.
473
488
  */
474
- getSnapState(snapId: SnapId, encrypted: boolean): Json;
489
+ getSnapState(snapId: SnapId, encrypted: boolean): Promise<Json>;
475
490
  /**
476
491
  * Gets a static auxiliary snap file in a chosen file encoding.
477
492
  *
@@ -0,0 +1,98 @@
1
+ import type { Json } from '@metamask/utils';
2
+ export declare type PBKDF2Params = {
3
+ iterations: number;
4
+ };
5
+ export declare type KeyDerivationOptions = {
6
+ algorithm: 'PBKDF2';
7
+ params: PBKDF2Params;
8
+ };
9
+ export declare type EncryptionResult = {
10
+ data: string;
11
+ iv: string;
12
+ salt: string;
13
+ keyMetadata?: KeyDerivationOptions;
14
+ };
15
+ /**
16
+ * A generic encryptor interface that supports encrypting and decrypting
17
+ * serializable data with a password.
18
+ */
19
+ export declare type GenericEncryptor = {
20
+ /**
21
+ * Encrypt the given object with the given password.
22
+ *
23
+ * @param password - The password to encrypt with.
24
+ * @param object - The object to encrypt.
25
+ * @returns The encrypted string.
26
+ */
27
+ encrypt: (password: string, object: Json) => Promise<string>;
28
+ /**
29
+ * Decrypt the given encrypted string with the given password.
30
+ *
31
+ * @param password - The password to decrypt with.
32
+ * @param encryptedString - The encrypted string to decrypt.
33
+ * @returns The decrypted object.
34
+ */
35
+ decrypt: (password: string, encryptedString: string) => Promise<unknown>;
36
+ /**
37
+ * Check if the provided vault is up to date with the
38
+ * desired encryption algorithm.
39
+ *
40
+ * @param vault - The encrypted string to check.
41
+ * @param targetDerivationParams - The desired target derivation params.
42
+ * @returns The updated encrypted string.
43
+ */
44
+ isVaultUpdated: (vault: string, targetDerivationParams?: KeyDerivationOptions) => boolean;
45
+ };
46
+ /**
47
+ * An encryptor interface that supports encrypting and decrypting
48
+ * serializable data with a password, and exporting and importing keys.
49
+ */
50
+ export declare type ExportableKeyEncryptor = GenericEncryptor & {
51
+ /**
52
+ * Encrypt the given object with the given encryption key.
53
+ *
54
+ * @param key - The encryption key to encrypt with.
55
+ * @param object - The object to encrypt.
56
+ * @returns The encryption result.
57
+ */
58
+ encryptWithKey: (key: unknown, object: Json) => Promise<EncryptionResult>;
59
+ /**
60
+ * Decrypt the given encrypted string with the given encryption key.
61
+ *
62
+ * @param key - The encryption key to decrypt with.
63
+ * @param encryptedString - The encrypted string to decrypt.
64
+ * @returns The decrypted object.
65
+ */
66
+ decryptWithKey: (key: unknown, encryptedString: EncryptionResult) => Promise<unknown>;
67
+ /**
68
+ * Generate an encryption key from exported key string.
69
+ *
70
+ * @param key - The exported key string.
71
+ * @returns The encryption key.
72
+ */
73
+ importKey: <Type>(key: string) => Promise<Type>;
74
+ /**
75
+ * Export a generated key as a string.
76
+ *
77
+ * @param key - The encryption key.
78
+ * @returns The exported key string.
79
+ */
80
+ exportKey: (key: unknown) => Promise<string>;
81
+ /**
82
+ * Generate a salt with a given length.
83
+ *
84
+ * @param length - The length of the salt, default is 32 bytes.
85
+ * @returns The base64 encoded salt bytes.
86
+ */
87
+ generateSalt: (length?: number) => string;
88
+ /**
89
+ * Generate an encryption key using a password.
90
+ *
91
+ * @param password - The password to use to generate key.
92
+ * @param salt - The salt string to use in key derivation.
93
+ * @param exportable - Whether or not the key should be exportable.
94
+ * @param opts - The options to use for key derivation.
95
+ * @returns The encryption key.
96
+ */
97
+ keyFromPassword: <Type>(password: string, salt: string, exportable?: boolean, opts?: KeyDerivationOptions) => Promise<Type>;
98
+ };
@@ -0,0 +1 @@
1
+ export * from './encryptor';
@@ -162,78 +162,54 @@ export declare function fetchSnap(snapId: SnapId, location: SnapLocation): Promi
162
162
  locales?: string[] | undefined;
163
163
  };
164
164
  proposedName: string;
165
- initialPermissions: {
166
- snap_dialog?: {} | undefined;
167
- snap_getBip32Entropy?: {
168
- path: string[];
169
- curve: "ed25519" | "secp256k1";
170
- }[] | undefined;
171
- snap_getBip32PublicKey?: {
172
- path: string[];
173
- curve: "ed25519" | "secp256k1";
174
- }[] | undefined;
175
- snap_getBip44Entropy?: {
176
- coinType: number;
177
- }[] | undefined;
178
- snap_getEntropy?: {} | undefined;
179
- snap_getLocale?: {} | undefined;
180
- snap_manageAccounts?: {} | undefined;
181
- snap_manageState?: {} | undefined;
182
- snap_notify?: {} | undefined;
183
- wallet_snap?: Record<string, {
184
- version?: string | undefined;
185
- }> | undefined;
186
- 'endowment:cronjob'?: {
187
- jobs: {
188
- request: {
189
- method: string;
190
- id?: string | number | null | undefined;
191
- jsonrpc?: "2.0" | undefined;
192
- params?: Record<string, import("@metamask/snaps-sdk").Json> | import("@metamask/snaps-sdk").Json[] | undefined;
193
- };
194
- expression: string;
195
- }[];
165
+ initialPermissions: Partial<{
166
+ 'endowment:cronjob': {
167
+ jobs: import("@metamask/snaps-sdk").Cronjob[];
196
168
  maxRequestTime?: number | undefined;
197
- } | undefined;
198
- 'endowment:ethereum-provider'?: {} | undefined;
199
- 'endowment:keyring'?: {
169
+ };
170
+ 'endowment:ethereum-provider': import("@metamask/snaps-sdk").EmptyObject;
171
+ 'endowment:keyring': {
200
172
  allowedOrigins?: string[] | undefined;
201
173
  maxRequestTime?: number | undefined;
202
- } | undefined;
174
+ };
203
175
  'endowment:lifecycle-hooks'?: {
204
176
  maxRequestTime?: number | undefined;
205
177
  } | undefined;
206
- 'endowment:name-lookup'?: {
178
+ 'endowment:name-lookup': {
207
179
  chains?: `${string}:${string}`[] | undefined;
180
+ matchers?: import("@metamask/snaps-sdk").NameLookupMatchers | undefined;
208
181
  maxRequestTime?: number | undefined;
209
- matchers?: {
210
- tlds: string[];
211
- } | {
212
- schemes: string[];
213
- } | {
214
- tlds: string[];
215
- schemes: string[];
216
- } | undefined;
217
- } | undefined;
218
- 'endowment:network-access'?: {} | undefined;
182
+ };
183
+ 'endowment:network-access': import("@metamask/snaps-sdk").EmptyObject;
219
184
  'endowment:page-home'?: {
220
185
  maxRequestTime?: number | undefined;
221
186
  } | undefined;
222
- 'endowment:rpc'?: {
223
- snaps?: boolean | undefined;
187
+ 'endowment:rpc': {
224
188
  dapps?: boolean | undefined;
189
+ snaps?: boolean | undefined;
225
190
  allowedOrigins?: string[] | undefined;
226
- } | undefined;
227
- 'endowment:signature-insight'?: {
228
191
  maxRequestTime?: number | undefined;
192
+ };
193
+ 'endowment:signature-insight': {
229
194
  allowSignatureOrigin?: boolean | undefined;
230
- } | undefined;
231
- 'endowment:transaction-insight'?: {
232
195
  maxRequestTime?: number | undefined;
196
+ };
197
+ 'endowment:transaction-insight': {
233
198
  allowTransactionOrigin?: boolean | undefined;
234
- } | undefined;
235
- 'endowment:webassembly'?: {} | undefined;
236
- };
199
+ maxRequestTime?: number | undefined;
200
+ };
201
+ 'endowment:webassembly': import("@metamask/snaps-sdk").EmptyObject;
202
+ snap_dialog: import("@metamask/snaps-sdk").EmptyObject;
203
+ snap_getBip32Entropy: import("@metamask/snaps-sdk").Bip32Entropy[];
204
+ snap_getBip32PublicKey: import("@metamask/snaps-sdk").Bip32Entropy[];
205
+ snap_getBip44Entropy: import("@metamask/snaps-sdk").Bip44Entropy[];
206
+ snap_getEntropy: import("@metamask/snaps-sdk").EmptyObject;
207
+ snap_getLocale: import("@metamask/snaps-sdk").EmptyObject;
208
+ snap_manageAccounts: import("@metamask/snaps-sdk").EmptyObject;
209
+ snap_manageState: import("@metamask/snaps-sdk").EmptyObject;
210
+ snap_notify: import("@metamask/snaps-sdk").EmptyObject;
211
+ wallet_snap: Record<string, import("@metamask/snaps-sdk").RequestedSnap>;
212
+ }>;
237
213
  manifestVersion: "0.1";
238
214
  repository?: {
239
215
  type: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/snaps-controllers",
3
- "version": "6.0.3",
3
+ "version": "7.0.0",
4
4
  "description": "Controllers for MetaMask Snaps.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -51,25 +51,25 @@
51
51
  "build:ci": "tsup --clean"
52
52
  },
53
53
  "dependencies": {
54
- "@metamask/approval-controller": "^5.1.3",
55
- "@metamask/base-controller": "^4.1.0",
56
- "@metamask/json-rpc-engine": "^7.3.3",
54
+ "@metamask/approval-controller": "^6.0.1",
55
+ "@metamask/base-controller": "^5.0.1",
56
+ "@metamask/json-rpc-engine": "^8.0.1",
57
+ "@metamask/json-rpc-middleware-stream": "^7.0.1",
57
58
  "@metamask/object-multiplex": "^2.0.0",
58
- "@metamask/permission-controller": "^8.0.1",
59
- "@metamask/phishing-controller": "^8.0.2",
59
+ "@metamask/permission-controller": "^9.0.2",
60
+ "@metamask/phishing-controller": "^9.0.1",
60
61
  "@metamask/post-message-stream": "^8.0.0",
61
62
  "@metamask/rpc-errors": "^6.2.1",
62
- "@metamask/snaps-registry": "^3.0.1",
63
- "@metamask/snaps-rpc-methods": "^7.0.1",
64
- "@metamask/snaps-sdk": "^3.1.1",
65
- "@metamask/snaps-utils": "^7.0.3",
63
+ "@metamask/snaps-registry": "^3.1.0",
64
+ "@metamask/snaps-rpc-methods": "^8.0.0",
65
+ "@metamask/snaps-sdk": "^4.0.0",
66
+ "@metamask/snaps-utils": "^7.1.0",
66
67
  "@metamask/utils": "^8.3.0",
67
68
  "@xstate/fsm": "^2.0.0",
68
69
  "browserify-zlib": "^0.2.0",
69
70
  "concat-stream": "^2.0.0",
70
71
  "get-npm-tarball-url": "^2.0.3",
71
72
  "immer": "^9.0.6",
72
- "json-rpc-middleware-stream": "^5.0.0",
73
73
  "nanoid": "^3.1.31",
74
74
  "readable-stream": "^3.6.2",
75
75
  "readable-web-to-node-stream": "^3.0.2",
@@ -80,6 +80,7 @@
80
80
  "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
81
81
  "@lavamoat/allow-scripts": "^3.0.3",
82
82
  "@metamask/auto-changelog": "^3.4.4",
83
+ "@metamask/browser-passworder": "^5.0.0",
83
84
  "@metamask/eslint-config": "^12.1.0",
84
85
  "@metamask/eslint-config-jest": "^12.1.0",
85
86
  "@metamask/eslint-config-nodejs": "^12.1.0",
@@ -134,7 +135,7 @@
134
135
  "webdriverio": "^8.19.0"
135
136
  },
136
137
  "peerDependencies": {
137
- "@metamask/snaps-execution-environments": "^5.0.3"
138
+ "@metamask/snaps-execution-environments": "^6.0.0"
138
139
  },
139
140
  "peerDependenciesMeta": {
140
141
  "@metamask/snaps-execution-environments": {