@metamask/snaps-rpc-methods 7.0.1 → 8.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 (31) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/dist/{chunk-AKRFLGOS.mjs → chunk-AMBEX4N4.mjs} +2 -2
  3. package/dist/{chunk-FBOZCV3C.js → chunk-EGKFC56F.js} +3 -3
  4. package/dist/{chunk-7NBRKDKJ.mjs → chunk-NESDQ4PF.mjs} +9 -54
  5. package/dist/chunk-NESDQ4PF.mjs.map +1 -0
  6. package/dist/{chunk-KO4MKRYZ.js → chunk-R2M4YLJ7.js} +7 -52
  7. package/dist/chunk-R2M4YLJ7.js.map +1 -0
  8. package/dist/{chunk-LVTN25J2.js → chunk-RZXF4KSR.js} +3 -3
  9. package/dist/{chunk-LVTN25J2.js.map → chunk-RZXF4KSR.js.map} +1 -1
  10. package/dist/{chunk-3S7DJI4I.mjs → chunk-SU6KOIVB.mjs} +2 -2
  11. package/dist/chunk-SU6KOIVB.mjs.map +1 -0
  12. package/dist/index.js +4 -4
  13. package/dist/index.mjs +5 -5
  14. package/dist/permissions.js +4 -4
  15. package/dist/permissions.mjs +3 -3
  16. package/dist/restricted/index.js +3 -3
  17. package/dist/restricted/index.mjs +4 -4
  18. package/dist/restricted/manageState.js +2 -2
  19. package/dist/restricted/manageState.mjs +3 -3
  20. package/dist/tsconfig.build.tsbuildinfo +1 -1
  21. package/dist/types/permitted/createInterface.d.ts +44 -40
  22. package/dist/types/permitted/updateInterface.d.ts +45 -41
  23. package/dist/types/restricted/dialog.d.ts +190 -166
  24. package/dist/types/restricted/index.d.ts +1 -1
  25. package/dist/types/restricted/manageState.d.ts +5 -31
  26. package/package.json +6 -7
  27. package/dist/chunk-3S7DJI4I.mjs.map +0 -1
  28. package/dist/chunk-7NBRKDKJ.mjs.map +0 -1
  29. package/dist/chunk-KO4MKRYZ.js.map +0 -1
  30. /package/dist/{chunk-AKRFLGOS.mjs.map → chunk-AMBEX4N4.mjs.map} +0 -0
  31. /package/dist/{chunk-FBOZCV3C.js.map → chunk-EGKFC56F.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [8.0.0]
10
+ ### Changed
11
+ - **BREAKING:** Refactor to support changes to encryption ([#2316](https://github.com/MetaMask/snaps/pull/2316))
12
+ - No longer expects `encrypt` or `decrypt`, instead expects `updateSnapState` and `getSnapState` to be asynchronous
13
+
14
+ ## [7.0.2]
15
+ ### Changed
16
+ - Bump MetaMask dependencies ([#2270](https://github.com/MetaMask/snaps/pull/2270))
17
+ - Bump @metamask/json-rpc-engine from 7.3.2 to 7.3.3 ([#2247](https://github.com/MetaMask/snaps/pull/2247))
18
+
9
19
  ## [7.0.1]
10
20
  ### Fixed
11
21
  - Fix minor build configuration problems ([#2220](https://github.com/MetaMask/snaps/pull/2220))
@@ -120,7 +130,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
120
130
  - The version of the package no longer needs to match the version of all other
121
131
  MetaMask Snaps packages.
122
132
 
123
- [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.1...HEAD
133
+ [Unreleased]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@8.0.0...HEAD
134
+ [8.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.2...@metamask/snaps-rpc-methods@8.0.0
135
+ [7.0.2]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.1...@metamask/snaps-rpc-methods@7.0.2
124
136
  [7.0.1]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@7.0.0...@metamask/snaps-rpc-methods@7.0.1
125
137
  [7.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@6.0.0...@metamask/snaps-rpc-methods@7.0.0
126
138
  [6.0.0]: https://github.com/MetaMask/snaps/compare/@metamask/snaps-rpc-methods@5.0.0...@metamask/snaps-rpc-methods@6.0.0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  restrictedMethodPermissionBuilders
3
- } from "./chunk-3S7DJI4I.mjs";
3
+ } from "./chunk-SU6KOIVB.mjs";
4
4
  import {
5
5
  caveatMappers
6
6
  } from "./chunk-Y4LNTDZ2.mjs";
@@ -56,4 +56,4 @@ export {
56
56
  buildSnapEndowmentSpecifications,
57
57
  buildSnapRestrictedMethodSpecifications
58
58
  };
59
- //# sourceMappingURL=chunk-AKRFLGOS.mjs.map
59
+ //# sourceMappingURL=chunk-AMBEX4N4.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkLVTN25J2js = require('./chunk-LVTN25J2.js');
3
+ var _chunkRZXF4KSRjs = require('./chunk-RZXF4KSR.js');
4
4
 
5
5
 
6
6
  var _chunkAYJK7MSHjs = require('./chunk-AYJK7MSH.js');
@@ -38,7 +38,7 @@ var buildSnapEndowmentSpecifications = (excludedEndowments) => Object.values(_ch
38
38
  }
39
39
  return allSpecifications;
40
40
  }, {});
41
- var buildSnapRestrictedMethodSpecifications = (excludedPermissions, hooks) => Object.values(_chunkLVTN25J2js.restrictedMethodPermissionBuilders).reduce((specifications, { targetName, specificationBuilder, methodHooks }) => {
41
+ var buildSnapRestrictedMethodSpecifications = (excludedPermissions, hooks) => Object.values(_chunkRZXF4KSRjs.restrictedMethodPermissionBuilders).reduce((specifications, { targetName, specificationBuilder, methodHooks }) => {
42
42
  if (!excludedPermissions.includes(targetName)) {
43
43
  specifications[targetName] = specificationBuilder({
44
44
  // @ts-expect-error The selectHooks type is wonky
@@ -56,4 +56,4 @@ var buildSnapRestrictedMethodSpecifications = (excludedPermissions, hooks) => Ob
56
56
 
57
57
 
58
58
  exports.processSnapPermissions = processSnapPermissions; exports.buildSnapEndowmentSpecifications = buildSnapEndowmentSpecifications; exports.buildSnapRestrictedMethodSpecifications = buildSnapRestrictedMethodSpecifications;
59
- //# sourceMappingURL=chunk-FBOZCV3C.js.map
59
+ //# sourceMappingURL=chunk-EGKFC56F.js.map
@@ -6,8 +6,8 @@ import {
6
6
  import { PermissionType, SubjectType } from "@metamask/permission-controller";
7
7
  import { rpcErrors } from "@metamask/rpc-errors";
8
8
  import { ManageStateOperation } from "@metamask/snaps-sdk";
9
- import { STATE_ENCRYPTION_MAGIC_VALUE, parseJson } from "@metamask/snaps-utils";
10
- import { isObject, getJsonSize, assert, isValidJson } from "@metamask/utils";
9
+ import { STATE_ENCRYPTION_MAGIC_VALUE } from "@metamask/snaps-utils";
10
+ import { isObject, getJsonSize } from "@metamask/utils";
11
11
  var STATE_ENCRYPTION_SALT = "snap_manageState encryption";
12
12
  var methodName = "snap_manageState";
13
13
  var specificationBuilder = ({
@@ -23,13 +23,10 @@ var specificationBuilder = ({
23
23
  };
24
24
  };
25
25
  var methodHooks = {
26
- getMnemonic: true,
27
26
  getUnlockPromise: true,
28
27
  clearSnapState: true,
29
28
  getSnapState: true,
30
- updateSnapState: true,
31
- encrypt: true,
32
- decrypt: true
29
+ updateSnapState: true
33
30
  };
34
31
  var manageStateBuilder = Object.freeze({
35
32
  targetName: methodName,
@@ -37,7 +34,7 @@ var manageStateBuilder = Object.freeze({
37
34
  methodHooks
38
35
  });
39
36
  var STORAGE_SIZE_LIMIT = 104857600;
40
- async function getEncryptionKey({
37
+ async function getEncryptionEntropy({
41
38
  mnemonicPhrase,
42
39
  snapId
43
40
  }) {
@@ -48,38 +45,11 @@ async function getEncryptionKey({
48
45
  magic: STATE_ENCRYPTION_MAGIC_VALUE
49
46
  });
50
47
  }
51
- async function encryptState({
52
- state,
53
- encryptFunction,
54
- ...keyArgs
55
- }) {
56
- const encryptionKey = await getEncryptionKey(keyArgs);
57
- return await encryptFunction(encryptionKey, state);
58
- }
59
- async function decryptState({
60
- state,
61
- decryptFunction,
62
- ...keyArgs
63
- }) {
64
- try {
65
- const encryptionKey = await getEncryptionKey(keyArgs);
66
- const decryptedState = await decryptFunction(encryptionKey, state);
67
- assert(isValidJson(decryptedState));
68
- return decryptedState;
69
- } catch {
70
- throw rpcErrors.internal({
71
- message: "Failed to decrypt snap state, the state must be corrupted."
72
- });
73
- }
74
- }
75
48
  function getManageStateImplementation({
76
- getMnemonic,
77
49
  getUnlockPromise,
78
50
  clearSnapState,
79
51
  getSnapState,
80
- updateSnapState,
81
- encrypt,
82
- decrypt
52
+ updateSnapState
83
53
  }) {
84
54
  return async function manageState(options) {
85
55
  const {
@@ -97,25 +67,10 @@ function getManageStateImplementation({
97
67
  clearSnapState(origin, shouldEncrypt);
98
68
  return null;
99
69
  case ManageStateOperation.GetState: {
100
- const state = getSnapState(origin, shouldEncrypt);
101
- if (state === null) {
102
- return state;
103
- }
104
- return shouldEncrypt ? await decryptState({
105
- state,
106
- decryptFunction: decrypt,
107
- mnemonicPhrase: await getMnemonic(),
108
- snapId: origin
109
- }) : parseJson(state);
70
+ return await getSnapState(origin, shouldEncrypt);
110
71
  }
111
72
  case ManageStateOperation.UpdateState: {
112
- const finalizedState = shouldEncrypt ? await encryptState({
113
- state: validatedParams.newState,
114
- encryptFunction: encrypt,
115
- mnemonicPhrase: await getMnemonic(),
116
- snapId: origin
117
- }) : JSON.stringify(validatedParams.newState);
118
- updateSnapState(origin, finalizedState, shouldEncrypt);
73
+ await updateSnapState(origin, validatedParams.newState, shouldEncrypt);
119
74
  return null;
120
75
  }
121
76
  default:
@@ -181,8 +136,8 @@ export {
181
136
  specificationBuilder,
182
137
  manageStateBuilder,
183
138
  STORAGE_SIZE_LIMIT,
184
- getEncryptionKey,
139
+ getEncryptionEntropy,
185
140
  getManageStateImplementation,
186
141
  getValidatedParams
187
142
  };
188
- //# sourceMappingURL=chunk-7NBRKDKJ.mjs.map
143
+ //# sourceMappingURL=chunk-NESDQ4PF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/restricted/manageState.ts"],"sourcesContent":["import type {\n PermissionSpecificationBuilder,\n RestrictedMethodOptions,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { ManageStateParams, ManageStateResult } from '@metamask/snaps-sdk';\nimport { ManageStateOperation } from '@metamask/snaps-sdk';\nimport { STATE_ENCRYPTION_MAGIC_VALUE } from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { isObject, getJsonSize } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\nimport { deriveEntropy } from '../utils';\n\n// The salt used for SIP-6-based entropy derivation.\nexport const STATE_ENCRYPTION_SALT = 'snap_manageState encryption';\n\nconst methodName = 'snap_manageState';\n\nexport type ManageStateMethodHooks = {\n /**\n * Waits for the extension to be unlocked.\n *\n * @returns A promise that resolves once the extension is unlocked.\n */\n getUnlockPromise: (shouldShowUnlockRequest: boolean) => Promise<void>;\n\n /**\n * A function that clears the state of the requesting Snap.\n */\n clearSnapState: (snapId: string, encrypted: boolean) => void;\n\n /**\n * A function that gets the encrypted state of the requesting Snap.\n *\n * @returns The current state of the Snap.\n */\n getSnapState: (\n snapId: string,\n encrypted: boolean,\n ) => Promise<Record<string, Json>>;\n\n /**\n * A function that updates the state of the requesting Snap.\n *\n * @param newState - The new state of the Snap.\n */\n updateSnapState: (\n snapId: string,\n newState: Record<string, Json>,\n encrypted: boolean,\n ) => Promise<void>;\n};\n\ntype ManageStateSpecificationBuilderOptions = {\n allowedCaveats?: Readonly<NonEmptyArray<string>> | null;\n methodHooks: ManageStateMethodHooks;\n};\n\ntype ManageStateSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.RestrictedMethod;\n targetName: typeof methodName;\n methodImplementation: ReturnType<typeof getManageStateImplementation>;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * The specification builder for the `snap_manageState` permission.\n * `snap_manageState` lets the Snap store and manage some of its state on\n * your device.\n *\n * @param options - The specification builder options.\n * @param options.allowedCaveats - The optional allowed caveats for the permission.\n * @param options.methodHooks - The RPC method hooks needed by the method implementation.\n * @returns The specification for the `snap_manageState` permission.\n */\nexport const specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.RestrictedMethod,\n ManageStateSpecificationBuilderOptions,\n ManageStateSpecification\n> = ({\n allowedCaveats = null,\n methodHooks,\n}: ManageStateSpecificationBuilderOptions) => {\n return {\n permissionType: PermissionType.RestrictedMethod,\n targetName: methodName,\n allowedCaveats,\n methodImplementation: getManageStateImplementation(methodHooks),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nconst methodHooks: MethodHooksObject<ManageStateMethodHooks> = {\n getUnlockPromise: true,\n clearSnapState: true,\n getSnapState: true,\n updateSnapState: true,\n};\n\nexport const manageStateBuilder = Object.freeze({\n targetName: methodName,\n specificationBuilder,\n methodHooks,\n} as const);\n\nexport const STORAGE_SIZE_LIMIT = 104857600; // In bytes (100MB)\n\ntype GetEncryptionKeyArgs = {\n snapId: string;\n mnemonicPhrase: Uint8Array;\n};\n\n/**\n * Get a deterministic encryption key to use for encrypting and decrypting the\n * state.\n *\n * This key should only be used for state encryption using `snap_manageState`.\n * To get other encryption keys, a different salt can be used.\n *\n * @param args - The encryption key args.\n * @param args.snapId - The ID of the snap to get the encryption key for.\n * @param args.mnemonicPhrase - The mnemonic phrase to derive the encryption key\n * from.\n * @returns The state encryption key.\n */\nexport async function getEncryptionEntropy({\n mnemonicPhrase,\n snapId,\n}: GetEncryptionKeyArgs) {\n return await deriveEntropy({\n mnemonicPhrase,\n input: snapId,\n salt: STATE_ENCRYPTION_SALT,\n magic: STATE_ENCRYPTION_MAGIC_VALUE,\n });\n}\n\n/**\n * Builds the method implementation for `snap_manageState`.\n *\n * @param hooks - The RPC method hooks.\n * @param hooks.clearSnapState - A function that clears the state stored for a\n * snap.\n * @param hooks.getSnapState - A function that fetches the persisted decrypted\n * state for a snap.\n * @param hooks.updateSnapState - A function that updates the state stored for a\n * snap.\n * @param hooks.getUnlockPromise - A function that resolves once the MetaMask\n * extension is unlocked and prompts the user to unlock their MetaMask if it is\n * locked.\n * @returns The method implementation which either returns `null` for a\n * successful state update/deletion or returns the decrypted state.\n * @throws If the params are invalid.\n */\nexport function getManageStateImplementation({\n getUnlockPromise,\n clearSnapState,\n getSnapState,\n updateSnapState,\n}: ManageStateMethodHooks) {\n return async function manageState(\n options: RestrictedMethodOptions<ManageStateParams>,\n ): Promise<ManageStateResult> {\n const {\n params = {},\n method,\n context: { origin },\n } = options;\n const validatedParams = getValidatedParams(params, method);\n\n // If the encrypted param is undefined or null we default to true.\n const shouldEncrypt = validatedParams.encrypted ?? true;\n\n // We only need to prompt the user when the mnemonic is needed\n // which it isn't for the clear operation or unencrypted storage.\n if (\n shouldEncrypt &&\n validatedParams.operation !== ManageStateOperation.ClearState\n ) {\n await getUnlockPromise(true);\n }\n\n switch (validatedParams.operation) {\n case ManageStateOperation.ClearState:\n clearSnapState(origin, shouldEncrypt);\n return null;\n\n case ManageStateOperation.GetState: {\n return await getSnapState(origin, shouldEncrypt);\n }\n\n case ManageStateOperation.UpdateState: {\n await updateSnapState(origin, validatedParams.newState, shouldEncrypt);\n return null;\n }\n\n default:\n throw rpcErrors.invalidParams(\n `Invalid ${method} operation: \"${\n validatedParams.operation as string\n }\"`,\n );\n }\n };\n}\n\n/**\n * Validates the manageState method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @param method - RPC method name used for debugging errors.\n * @param storageSizeLimit - Maximum allowed size (in bytes) of a new state object.\n * @returns The validated method parameter object.\n */\nexport function getValidatedParams(\n params: unknown,\n method: string,\n storageSizeLimit = STORAGE_SIZE_LIMIT,\n): ManageStateParams {\n if (!isObject(params)) {\n throw rpcErrors.invalidParams({\n message: 'Expected params to be a single object.',\n });\n }\n\n const { operation, newState, encrypted } = params;\n\n if (\n !operation ||\n typeof operation !== 'string' ||\n !Object.values(ManageStateOperation).includes(\n operation as ManageStateOperation,\n )\n ) {\n throw rpcErrors.invalidParams({\n message: 'Must specify a valid manage state \"operation\".',\n });\n }\n\n if (encrypted !== undefined && typeof encrypted !== 'boolean') {\n throw rpcErrors.invalidParams({\n message: '\"encrypted\" parameter must be a boolean if specified.',\n });\n }\n\n if (operation === ManageStateOperation.UpdateState) {\n if (!isObject(newState)) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be a plain object.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n let size;\n try {\n // `getJsonSize` will throw if the state is not JSON serializable.\n size = getJsonSize(newState);\n } catch {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be JSON serializable.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n if (size > storageSizeLimit) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must not exceed ${storageSizeLimit} bytes in size.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n }\n\n return params as ManageStateParams;\n}\n"],"mappings":"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","names":["methodHooks"]}
@@ -23,13 +23,10 @@ var specificationBuilder = ({
23
23
  };
24
24
  };
25
25
  var methodHooks = {
26
- getMnemonic: true,
27
26
  getUnlockPromise: true,
28
27
  clearSnapState: true,
29
28
  getSnapState: true,
30
- updateSnapState: true,
31
- encrypt: true,
32
- decrypt: true
29
+ updateSnapState: true
33
30
  };
34
31
  var manageStateBuilder = Object.freeze({
35
32
  targetName: methodName,
@@ -37,7 +34,7 @@ var manageStateBuilder = Object.freeze({
37
34
  methodHooks
38
35
  });
39
36
  var STORAGE_SIZE_LIMIT = 104857600;
40
- async function getEncryptionKey({
37
+ async function getEncryptionEntropy({
41
38
  mnemonicPhrase,
42
39
  snapId
43
40
  }) {
@@ -48,38 +45,11 @@ async function getEncryptionKey({
48
45
  magic: _snapsutils.STATE_ENCRYPTION_MAGIC_VALUE
49
46
  });
50
47
  }
51
- async function encryptState({
52
- state,
53
- encryptFunction,
54
- ...keyArgs
55
- }) {
56
- const encryptionKey = await getEncryptionKey(keyArgs);
57
- return await encryptFunction(encryptionKey, state);
58
- }
59
- async function decryptState({
60
- state,
61
- decryptFunction,
62
- ...keyArgs
63
- }) {
64
- try {
65
- const encryptionKey = await getEncryptionKey(keyArgs);
66
- const decryptedState = await decryptFunction(encryptionKey, state);
67
- _utils.assert.call(void 0, _utils.isValidJson.call(void 0, decryptedState));
68
- return decryptedState;
69
- } catch {
70
- throw _rpcerrors.rpcErrors.internal({
71
- message: "Failed to decrypt snap state, the state must be corrupted."
72
- });
73
- }
74
- }
75
48
  function getManageStateImplementation({
76
- getMnemonic,
77
49
  getUnlockPromise,
78
50
  clearSnapState,
79
51
  getSnapState,
80
- updateSnapState,
81
- encrypt,
82
- decrypt
52
+ updateSnapState
83
53
  }) {
84
54
  return async function manageState(options) {
85
55
  const {
@@ -97,25 +67,10 @@ function getManageStateImplementation({
97
67
  clearSnapState(origin, shouldEncrypt);
98
68
  return null;
99
69
  case _snapssdk.ManageStateOperation.GetState: {
100
- const state = getSnapState(origin, shouldEncrypt);
101
- if (state === null) {
102
- return state;
103
- }
104
- return shouldEncrypt ? await decryptState({
105
- state,
106
- decryptFunction: decrypt,
107
- mnemonicPhrase: await getMnemonic(),
108
- snapId: origin
109
- }) : _snapsutils.parseJson.call(void 0, state);
70
+ return await getSnapState(origin, shouldEncrypt);
110
71
  }
111
72
  case _snapssdk.ManageStateOperation.UpdateState: {
112
- const finalizedState = shouldEncrypt ? await encryptState({
113
- state: validatedParams.newState,
114
- encryptFunction: encrypt,
115
- mnemonicPhrase: await getMnemonic(),
116
- snapId: origin
117
- }) : JSON.stringify(validatedParams.newState);
118
- updateSnapState(origin, finalizedState, shouldEncrypt);
73
+ await updateSnapState(origin, validatedParams.newState, shouldEncrypt);
119
74
  return null;
120
75
  }
121
76
  default:
@@ -184,5 +139,5 @@ function getValidatedParams(params, method, storageSizeLimit = STORAGE_SIZE_LIMI
184
139
 
185
140
 
186
141
 
187
- exports.STATE_ENCRYPTION_SALT = STATE_ENCRYPTION_SALT; exports.specificationBuilder = specificationBuilder; exports.manageStateBuilder = manageStateBuilder; exports.STORAGE_SIZE_LIMIT = STORAGE_SIZE_LIMIT; exports.getEncryptionKey = getEncryptionKey; exports.getManageStateImplementation = getManageStateImplementation; exports.getValidatedParams = getValidatedParams;
188
- //# sourceMappingURL=chunk-KO4MKRYZ.js.map
142
+ exports.STATE_ENCRYPTION_SALT = STATE_ENCRYPTION_SALT; exports.specificationBuilder = specificationBuilder; exports.manageStateBuilder = manageStateBuilder; exports.STORAGE_SIZE_LIMIT = STORAGE_SIZE_LIMIT; exports.getEncryptionEntropy = getEncryptionEntropy; exports.getManageStateImplementation = getManageStateImplementation; exports.getValidatedParams = getValidatedParams;
143
+ //# sourceMappingURL=chunk-R2M4YLJ7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/restricted/manageState.ts"],"names":["methodHooks"],"mappings":"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","sourcesContent":["import type {\n PermissionSpecificationBuilder,\n RestrictedMethodOptions,\n ValidPermissionSpecification,\n} from '@metamask/permission-controller';\nimport { PermissionType, SubjectType } from '@metamask/permission-controller';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { ManageStateParams, ManageStateResult } from '@metamask/snaps-sdk';\nimport { ManageStateOperation } from '@metamask/snaps-sdk';\nimport { STATE_ENCRYPTION_MAGIC_VALUE } from '@metamask/snaps-utils';\nimport type { Json, NonEmptyArray } from '@metamask/utils';\nimport { isObject, getJsonSize } from '@metamask/utils';\n\nimport type { MethodHooksObject } from '../utils';\nimport { deriveEntropy } from '../utils';\n\n// The salt used for SIP-6-based entropy derivation.\nexport const STATE_ENCRYPTION_SALT = 'snap_manageState encryption';\n\nconst methodName = 'snap_manageState';\n\nexport type ManageStateMethodHooks = {\n /**\n * Waits for the extension to be unlocked.\n *\n * @returns A promise that resolves once the extension is unlocked.\n */\n getUnlockPromise: (shouldShowUnlockRequest: boolean) => Promise<void>;\n\n /**\n * A function that clears the state of the requesting Snap.\n */\n clearSnapState: (snapId: string, encrypted: boolean) => void;\n\n /**\n * A function that gets the encrypted state of the requesting Snap.\n *\n * @returns The current state of the Snap.\n */\n getSnapState: (\n snapId: string,\n encrypted: boolean,\n ) => Promise<Record<string, Json>>;\n\n /**\n * A function that updates the state of the requesting Snap.\n *\n * @param newState - The new state of the Snap.\n */\n updateSnapState: (\n snapId: string,\n newState: Record<string, Json>,\n encrypted: boolean,\n ) => Promise<void>;\n};\n\ntype ManageStateSpecificationBuilderOptions = {\n allowedCaveats?: Readonly<NonEmptyArray<string>> | null;\n methodHooks: ManageStateMethodHooks;\n};\n\ntype ManageStateSpecification = ValidPermissionSpecification<{\n permissionType: PermissionType.RestrictedMethod;\n targetName: typeof methodName;\n methodImplementation: ReturnType<typeof getManageStateImplementation>;\n allowedCaveats: Readonly<NonEmptyArray<string>> | null;\n}>;\n\n/**\n * The specification builder for the `snap_manageState` permission.\n * `snap_manageState` lets the Snap store and manage some of its state on\n * your device.\n *\n * @param options - The specification builder options.\n * @param options.allowedCaveats - The optional allowed caveats for the permission.\n * @param options.methodHooks - The RPC method hooks needed by the method implementation.\n * @returns The specification for the `snap_manageState` permission.\n */\nexport const specificationBuilder: PermissionSpecificationBuilder<\n PermissionType.RestrictedMethod,\n ManageStateSpecificationBuilderOptions,\n ManageStateSpecification\n> = ({\n allowedCaveats = null,\n methodHooks,\n}: ManageStateSpecificationBuilderOptions) => {\n return {\n permissionType: PermissionType.RestrictedMethod,\n targetName: methodName,\n allowedCaveats,\n methodImplementation: getManageStateImplementation(methodHooks),\n subjectTypes: [SubjectType.Snap],\n };\n};\n\nconst methodHooks: MethodHooksObject<ManageStateMethodHooks> = {\n getUnlockPromise: true,\n clearSnapState: true,\n getSnapState: true,\n updateSnapState: true,\n};\n\nexport const manageStateBuilder = Object.freeze({\n targetName: methodName,\n specificationBuilder,\n methodHooks,\n} as const);\n\nexport const STORAGE_SIZE_LIMIT = 104857600; // In bytes (100MB)\n\ntype GetEncryptionKeyArgs = {\n snapId: string;\n mnemonicPhrase: Uint8Array;\n};\n\n/**\n * Get a deterministic encryption key to use for encrypting and decrypting the\n * state.\n *\n * This key should only be used for state encryption using `snap_manageState`.\n * To get other encryption keys, a different salt can be used.\n *\n * @param args - The encryption key args.\n * @param args.snapId - The ID of the snap to get the encryption key for.\n * @param args.mnemonicPhrase - The mnemonic phrase to derive the encryption key\n * from.\n * @returns The state encryption key.\n */\nexport async function getEncryptionEntropy({\n mnemonicPhrase,\n snapId,\n}: GetEncryptionKeyArgs) {\n return await deriveEntropy({\n mnemonicPhrase,\n input: snapId,\n salt: STATE_ENCRYPTION_SALT,\n magic: STATE_ENCRYPTION_MAGIC_VALUE,\n });\n}\n\n/**\n * Builds the method implementation for `snap_manageState`.\n *\n * @param hooks - The RPC method hooks.\n * @param hooks.clearSnapState - A function that clears the state stored for a\n * snap.\n * @param hooks.getSnapState - A function that fetches the persisted decrypted\n * state for a snap.\n * @param hooks.updateSnapState - A function that updates the state stored for a\n * snap.\n * @param hooks.getUnlockPromise - A function that resolves once the MetaMask\n * extension is unlocked and prompts the user to unlock their MetaMask if it is\n * locked.\n * @returns The method implementation which either returns `null` for a\n * successful state update/deletion or returns the decrypted state.\n * @throws If the params are invalid.\n */\nexport function getManageStateImplementation({\n getUnlockPromise,\n clearSnapState,\n getSnapState,\n updateSnapState,\n}: ManageStateMethodHooks) {\n return async function manageState(\n options: RestrictedMethodOptions<ManageStateParams>,\n ): Promise<ManageStateResult> {\n const {\n params = {},\n method,\n context: { origin },\n } = options;\n const validatedParams = getValidatedParams(params, method);\n\n // If the encrypted param is undefined or null we default to true.\n const shouldEncrypt = validatedParams.encrypted ?? true;\n\n // We only need to prompt the user when the mnemonic is needed\n // which it isn't for the clear operation or unencrypted storage.\n if (\n shouldEncrypt &&\n validatedParams.operation !== ManageStateOperation.ClearState\n ) {\n await getUnlockPromise(true);\n }\n\n switch (validatedParams.operation) {\n case ManageStateOperation.ClearState:\n clearSnapState(origin, shouldEncrypt);\n return null;\n\n case ManageStateOperation.GetState: {\n return await getSnapState(origin, shouldEncrypt);\n }\n\n case ManageStateOperation.UpdateState: {\n await updateSnapState(origin, validatedParams.newState, shouldEncrypt);\n return null;\n }\n\n default:\n throw rpcErrors.invalidParams(\n `Invalid ${method} operation: \"${\n validatedParams.operation as string\n }\"`,\n );\n }\n };\n}\n\n/**\n * Validates the manageState method `params` and returns them cast to the correct\n * type. Throws if validation fails.\n *\n * @param params - The unvalidated params object from the method request.\n * @param method - RPC method name used for debugging errors.\n * @param storageSizeLimit - Maximum allowed size (in bytes) of a new state object.\n * @returns The validated method parameter object.\n */\nexport function getValidatedParams(\n params: unknown,\n method: string,\n storageSizeLimit = STORAGE_SIZE_LIMIT,\n): ManageStateParams {\n if (!isObject(params)) {\n throw rpcErrors.invalidParams({\n message: 'Expected params to be a single object.',\n });\n }\n\n const { operation, newState, encrypted } = params;\n\n if (\n !operation ||\n typeof operation !== 'string' ||\n !Object.values(ManageStateOperation).includes(\n operation as ManageStateOperation,\n )\n ) {\n throw rpcErrors.invalidParams({\n message: 'Must specify a valid manage state \"operation\".',\n });\n }\n\n if (encrypted !== undefined && typeof encrypted !== 'boolean') {\n throw rpcErrors.invalidParams({\n message: '\"encrypted\" parameter must be a boolean if specified.',\n });\n }\n\n if (operation === ManageStateOperation.UpdateState) {\n if (!isObject(newState)) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be a plain object.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n let size;\n try {\n // `getJsonSize` will throw if the state is not JSON serializable.\n size = getJsonSize(newState);\n } catch {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must be JSON serializable.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n\n if (size > storageSizeLimit) {\n throw rpcErrors.invalidParams({\n message: `Invalid ${method} \"updateState\" parameter: The new state must not exceed ${storageSizeLimit} bytes in size.`,\n data: {\n receivedNewState:\n typeof newState === 'undefined' ? 'undefined' : newState,\n },\n });\n }\n }\n\n return params as ManageStateParams;\n}\n"]}
@@ -12,7 +12,7 @@ var _chunkSYUGPLEPjs = require('./chunk-SYUGPLEP.js');
12
12
  var _chunkP74WXDY4js = require('./chunk-P74WXDY4.js');
13
13
 
14
14
 
15
- var _chunkKO4MKRYZjs = require('./chunk-KO4MKRYZ.js');
15
+ var _chunkR2M4YLJ7js = require('./chunk-R2M4YLJ7.js');
16
16
 
17
17
 
18
18
  var _chunkQDZAWH6Fjs = require('./chunk-QDZAWH6F.js');
@@ -37,7 +37,7 @@ var restrictedMethodPermissionBuilders = {
37
37
  [_chunkVUA6ICJOjs.getBip44EntropyBuilder.targetName]: _chunkVUA6ICJOjs.getBip44EntropyBuilder,
38
38
  [_chunkQ5W3YGEBjs.getEntropyBuilder.targetName]: _chunkQ5W3YGEBjs.getEntropyBuilder,
39
39
  [_chunkFFHVA6PPjs.invokeSnapBuilder.targetName]: _chunkFFHVA6PPjs.invokeSnapBuilder,
40
- [_chunkKO4MKRYZjs.manageStateBuilder.targetName]: _chunkKO4MKRYZjs.manageStateBuilder,
40
+ [_chunkR2M4YLJ7js.manageStateBuilder.targetName]: _chunkR2M4YLJ7js.manageStateBuilder,
41
41
  [_chunkQDZAWH6Fjs.notifyBuilder.targetName]: _chunkQDZAWH6Fjs.notifyBuilder,
42
42
  [_chunkP74WXDY4js.manageAccountsBuilder.targetName]: _chunkP74WXDY4js.manageAccountsBuilder,
43
43
  [_chunkSYUGPLEPjs.getLocaleBuilder.targetName]: _chunkSYUGPLEPjs.getLocaleBuilder
@@ -46,4 +46,4 @@ var restrictedMethodPermissionBuilders = {
46
46
 
47
47
 
48
48
  exports.restrictedMethodPermissionBuilders = restrictedMethodPermissionBuilders;
49
- //# sourceMappingURL=chunk-LVTN25J2.js.map
49
+ //# sourceMappingURL=chunk-RZXF4KSR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/restricted/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAM,qCAAqC;AAAA,EAChD,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,yBAAyB,UAAU,GAAG;AAAA,EACvC,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,mBAAmB,UAAU,GAAG;AAAA,EACjC,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,sBAAsB,UAAU,GAAG;AAAA,EACpC,CAAC,iBAAiB,UAAU,GAAG;AACjC","sourcesContent":["import type { DialogMethodHooks } from './dialog';\nimport { dialogBuilder } from './dialog';\nimport type { GetBip32EntropyMethodHooks } from './getBip32Entropy';\nimport { getBip32EntropyBuilder } from './getBip32Entropy';\nimport type { GetBip32PublicKeyMethodHooks } from './getBip32PublicKey';\nimport { getBip32PublicKeyBuilder } from './getBip32PublicKey';\nimport type { GetBip44EntropyMethodHooks } from './getBip44Entropy';\nimport { getBip44EntropyBuilder } from './getBip44Entropy';\nimport type { GetEntropyHooks } from './getEntropy';\nimport { getEntropyBuilder } from './getEntropy';\nimport type { GetLocaleMethodHooks } from './getLocale';\nimport { getLocaleBuilder } from './getLocale';\nimport type { InvokeSnapMethodHooks } from './invokeSnap';\nimport { invokeSnapBuilder } from './invokeSnap';\nimport type { ManageAccountsMethodHooks } from './manageAccounts';\nimport { manageAccountsBuilder } from './manageAccounts';\nimport type { ManageStateMethodHooks } from './manageState';\nimport { manageStateBuilder } from './manageState';\nimport type { NotifyMethodHooks } from './notify';\nimport { notifyBuilder } from './notify';\n\nexport { WALLET_SNAP_PERMISSION_KEY } from './invokeSnap';\nexport { getEncryptionKey } from './manageState';\n\nexport type RestrictedMethodHooks = DialogMethodHooks &\n GetBip32EntropyMethodHooks &\n GetBip32PublicKeyMethodHooks &\n GetBip44EntropyMethodHooks &\n GetEntropyHooks &\n InvokeSnapMethodHooks &\n ManageStateMethodHooks &\n NotifyMethodHooks &\n ManageAccountsMethodHooks &\n GetLocaleMethodHooks;\n\nexport const restrictedMethodPermissionBuilders = {\n [dialogBuilder.targetName]: dialogBuilder,\n [getBip32EntropyBuilder.targetName]: getBip32EntropyBuilder,\n [getBip32PublicKeyBuilder.targetName]: getBip32PublicKeyBuilder,\n [getBip44EntropyBuilder.targetName]: getBip44EntropyBuilder,\n [getEntropyBuilder.targetName]: getEntropyBuilder,\n [invokeSnapBuilder.targetName]: invokeSnapBuilder,\n [manageStateBuilder.targetName]: manageStateBuilder,\n [notifyBuilder.targetName]: notifyBuilder,\n [manageAccountsBuilder.targetName]: manageAccountsBuilder,\n [getLocaleBuilder.targetName]: getLocaleBuilder,\n} as const;\n\nexport * from './caveats';\n"]}
1
+ {"version":3,"sources":["../src/restricted/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAM,qCAAqC;AAAA,EAChD,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,yBAAyB,UAAU,GAAG;AAAA,EACvC,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,mBAAmB,UAAU,GAAG;AAAA,EACjC,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,sBAAsB,UAAU,GAAG;AAAA,EACpC,CAAC,iBAAiB,UAAU,GAAG;AACjC","sourcesContent":["import type { DialogMethodHooks } from './dialog';\nimport { dialogBuilder } from './dialog';\nimport type { GetBip32EntropyMethodHooks } from './getBip32Entropy';\nimport { getBip32EntropyBuilder } from './getBip32Entropy';\nimport type { GetBip32PublicKeyMethodHooks } from './getBip32PublicKey';\nimport { getBip32PublicKeyBuilder } from './getBip32PublicKey';\nimport type { GetBip44EntropyMethodHooks } from './getBip44Entropy';\nimport { getBip44EntropyBuilder } from './getBip44Entropy';\nimport type { GetEntropyHooks } from './getEntropy';\nimport { getEntropyBuilder } from './getEntropy';\nimport type { GetLocaleMethodHooks } from './getLocale';\nimport { getLocaleBuilder } from './getLocale';\nimport type { InvokeSnapMethodHooks } from './invokeSnap';\nimport { invokeSnapBuilder } from './invokeSnap';\nimport type { ManageAccountsMethodHooks } from './manageAccounts';\nimport { manageAccountsBuilder } from './manageAccounts';\nimport type { ManageStateMethodHooks } from './manageState';\nimport { manageStateBuilder } from './manageState';\nimport type { NotifyMethodHooks } from './notify';\nimport { notifyBuilder } from './notify';\n\nexport { WALLET_SNAP_PERMISSION_KEY } from './invokeSnap';\nexport { getEncryptionEntropy } from './manageState';\n\nexport type RestrictedMethodHooks = DialogMethodHooks &\n GetBip32EntropyMethodHooks &\n GetBip32PublicKeyMethodHooks &\n GetBip44EntropyMethodHooks &\n GetEntropyHooks &\n InvokeSnapMethodHooks &\n ManageStateMethodHooks &\n NotifyMethodHooks &\n ManageAccountsMethodHooks &\n GetLocaleMethodHooks;\n\nexport const restrictedMethodPermissionBuilders = {\n [dialogBuilder.targetName]: dialogBuilder,\n [getBip32EntropyBuilder.targetName]: getBip32EntropyBuilder,\n [getBip32PublicKeyBuilder.targetName]: getBip32PublicKeyBuilder,\n [getBip44EntropyBuilder.targetName]: getBip44EntropyBuilder,\n [getEntropyBuilder.targetName]: getEntropyBuilder,\n [invokeSnapBuilder.targetName]: invokeSnapBuilder,\n [manageStateBuilder.targetName]: manageStateBuilder,\n [notifyBuilder.targetName]: notifyBuilder,\n [manageAccountsBuilder.targetName]: manageAccountsBuilder,\n [getLocaleBuilder.targetName]: getLocaleBuilder,\n} as const;\n\nexport * from './caveats';\n"]}
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-E6WUMFQT.mjs";
13
13
  import {
14
14
  manageStateBuilder
15
- } from "./chunk-7NBRKDKJ.mjs";
15
+ } from "./chunk-NESDQ4PF.mjs";
16
16
  import {
17
17
  notifyBuilder
18
18
  } from "./chunk-JWDQUKKU.mjs";
@@ -46,4 +46,4 @@ var restrictedMethodPermissionBuilders = {
46
46
  export {
47
47
  restrictedMethodPermissionBuilders
48
48
  };
49
- //# sourceMappingURL=chunk-3S7DJI4I.mjs.map
49
+ //# sourceMappingURL=chunk-SU6KOIVB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/restricted/index.ts"],"sourcesContent":["import type { DialogMethodHooks } from './dialog';\nimport { dialogBuilder } from './dialog';\nimport type { GetBip32EntropyMethodHooks } from './getBip32Entropy';\nimport { getBip32EntropyBuilder } from './getBip32Entropy';\nimport type { GetBip32PublicKeyMethodHooks } from './getBip32PublicKey';\nimport { getBip32PublicKeyBuilder } from './getBip32PublicKey';\nimport type { GetBip44EntropyMethodHooks } from './getBip44Entropy';\nimport { getBip44EntropyBuilder } from './getBip44Entropy';\nimport type { GetEntropyHooks } from './getEntropy';\nimport { getEntropyBuilder } from './getEntropy';\nimport type { GetLocaleMethodHooks } from './getLocale';\nimport { getLocaleBuilder } from './getLocale';\nimport type { InvokeSnapMethodHooks } from './invokeSnap';\nimport { invokeSnapBuilder } from './invokeSnap';\nimport type { ManageAccountsMethodHooks } from './manageAccounts';\nimport { manageAccountsBuilder } from './manageAccounts';\nimport type { ManageStateMethodHooks } from './manageState';\nimport { manageStateBuilder } from './manageState';\nimport type { NotifyMethodHooks } from './notify';\nimport { notifyBuilder } from './notify';\n\nexport { WALLET_SNAP_PERMISSION_KEY } from './invokeSnap';\nexport { getEncryptionEntropy } from './manageState';\n\nexport type RestrictedMethodHooks = DialogMethodHooks &\n GetBip32EntropyMethodHooks &\n GetBip32PublicKeyMethodHooks &\n GetBip44EntropyMethodHooks &\n GetEntropyHooks &\n InvokeSnapMethodHooks &\n ManageStateMethodHooks &\n NotifyMethodHooks &\n ManageAccountsMethodHooks &\n GetLocaleMethodHooks;\n\nexport const restrictedMethodPermissionBuilders = {\n [dialogBuilder.targetName]: dialogBuilder,\n [getBip32EntropyBuilder.targetName]: getBip32EntropyBuilder,\n [getBip32PublicKeyBuilder.targetName]: getBip32PublicKeyBuilder,\n [getBip44EntropyBuilder.targetName]: getBip44EntropyBuilder,\n [getEntropyBuilder.targetName]: getEntropyBuilder,\n [invokeSnapBuilder.targetName]: invokeSnapBuilder,\n [manageStateBuilder.targetName]: manageStateBuilder,\n [notifyBuilder.targetName]: notifyBuilder,\n [manageAccountsBuilder.targetName]: manageAccountsBuilder,\n [getLocaleBuilder.targetName]: getLocaleBuilder,\n} as const;\n\nexport * from './caveats';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,IAAM,qCAAqC;AAAA,EAChD,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,yBAAyB,UAAU,GAAG;AAAA,EACvC,CAAC,uBAAuB,UAAU,GAAG;AAAA,EACrC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,kBAAkB,UAAU,GAAG;AAAA,EAChC,CAAC,mBAAmB,UAAU,GAAG;AAAA,EACjC,CAAC,cAAc,UAAU,GAAG;AAAA,EAC5B,CAAC,sBAAsB,UAAU,GAAG;AAAA,EACpC,CAAC,iBAAiB,UAAU,GAAG;AACjC;","names":[]}
package/dist/index.js CHANGED
@@ -19,10 +19,10 @@ require('./chunk-NWT2EXFD.js');
19
19
 
20
20
 
21
21
 
22
- var _chunkFBOZCV3Cjs = require('./chunk-FBOZCV3C.js');
22
+ var _chunkEGKFC56Fjs = require('./chunk-EGKFC56F.js');
23
23
 
24
24
 
25
- var _chunkLVTN25J2js = require('./chunk-LVTN25J2.js');
25
+ var _chunkRZXF4KSRjs = require('./chunk-RZXF4KSR.js');
26
26
 
27
27
 
28
28
 
@@ -36,7 +36,7 @@ require('./chunk-SYUGPLEP.js');
36
36
  require('./chunk-P74WXDY4.js');
37
37
 
38
38
 
39
- var _chunkKO4MKRYZjs = require('./chunk-KO4MKRYZ.js');
39
+ var _chunkR2M4YLJ7js = require('./chunk-R2M4YLJ7.js');
40
40
  require('./chunk-QDZAWH6F.js');
41
41
  require('./chunk-GYZV5UBD.js');
42
42
  require('./chunk-S7AR3ROH.js');
@@ -114,5 +114,5 @@ var _snapsutils = require('@metamask/snaps-utils');
114
114
 
115
115
 
116
116
 
117
- exports.SnapCaveatType = _snapsutils.SnapCaveatType; exports.SnapEndowments = _chunkYGKFOOWIjs.SnapEndowments; exports.WALLET_SNAP_PERMISSION_KEY = _chunkFFHVA6PPjs.WALLET_SNAP_PERMISSION_KEY; exports.buildSnapEndowmentSpecifications = _chunkFBOZCV3Cjs.buildSnapEndowmentSpecifications; exports.buildSnapRestrictedMethodSpecifications = _chunkFBOZCV3Cjs.buildSnapRestrictedMethodSpecifications; exports.caveatMappers = _chunkAYJK7MSHjs.caveatMappers; exports.caveatSpecifications = _chunkAYJK7MSHjs.caveatSpecifications; exports.createSnapsMethodMiddleware = _chunk6UY23OOZjs.createSnapsMethodMiddleware; exports.endowmentCaveatMappers = _chunkJRSPKOFGjs.endowmentCaveatMappers; exports.endowmentCaveatSpecifications = _chunkJRSPKOFGjs.endowmentCaveatSpecifications; exports.endowmentPermissionBuilders = _chunkJRSPKOFGjs.endowmentPermissionBuilders; exports.getChainIdsCaveat = _chunkIEUCBULUjs.getChainIdsCaveat; exports.getCronjobCaveatJobs = _chunkOQOTJFFVjs.getCronjobCaveatJobs; exports.getEncryptionKey = _chunkKO4MKRYZjs.getEncryptionKey; exports.getKeyringCaveatOrigins = _chunkPWUEAR4Hjs.getKeyringCaveatOrigins; exports.getLookupMatchersCaveat = _chunkIEUCBULUjs.getLookupMatchersCaveat; exports.getMaxRequestTimeCaveat = _chunkFCVWU5XHjs.getMaxRequestTimeCaveat; exports.getRpcCaveatOrigins = _chunkLIWV3FMYjs.getRpcCaveatOrigins; exports.getSignatureOriginCaveat = _chunkTEXEQGNZjs.getSignatureOriginCaveat; exports.getTransactionOriginCaveat = _chunk6TKD32TSjs.getTransactionOriginCaveat; exports.handlerEndowments = _chunkJRSPKOFGjs.handlerEndowments; exports.permittedMethods = _chunkD6MUXDVIjs.handlers; exports.processSnapPermissions = _chunkFBOZCV3Cjs.processSnapPermissions; exports.restrictedMethodPermissionBuilders = _chunkLVTN25J2js.restrictedMethodPermissionBuilders; exports.selectHooks = _chunkYG7W4CDTjs.selectHooks;
117
+ exports.SnapCaveatType = _snapsutils.SnapCaveatType; exports.SnapEndowments = _chunkYGKFOOWIjs.SnapEndowments; exports.WALLET_SNAP_PERMISSION_KEY = _chunkFFHVA6PPjs.WALLET_SNAP_PERMISSION_KEY; exports.buildSnapEndowmentSpecifications = _chunkEGKFC56Fjs.buildSnapEndowmentSpecifications; exports.buildSnapRestrictedMethodSpecifications = _chunkEGKFC56Fjs.buildSnapRestrictedMethodSpecifications; exports.caveatMappers = _chunkAYJK7MSHjs.caveatMappers; exports.caveatSpecifications = _chunkAYJK7MSHjs.caveatSpecifications; exports.createSnapsMethodMiddleware = _chunk6UY23OOZjs.createSnapsMethodMiddleware; exports.endowmentCaveatMappers = _chunkJRSPKOFGjs.endowmentCaveatMappers; exports.endowmentCaveatSpecifications = _chunkJRSPKOFGjs.endowmentCaveatSpecifications; exports.endowmentPermissionBuilders = _chunkJRSPKOFGjs.endowmentPermissionBuilders; exports.getChainIdsCaveat = _chunkIEUCBULUjs.getChainIdsCaveat; exports.getCronjobCaveatJobs = _chunkOQOTJFFVjs.getCronjobCaveatJobs; exports.getEncryptionEntropy = _chunkR2M4YLJ7js.getEncryptionEntropy; exports.getKeyringCaveatOrigins = _chunkPWUEAR4Hjs.getKeyringCaveatOrigins; exports.getLookupMatchersCaveat = _chunkIEUCBULUjs.getLookupMatchersCaveat; exports.getMaxRequestTimeCaveat = _chunkFCVWU5XHjs.getMaxRequestTimeCaveat; exports.getRpcCaveatOrigins = _chunkLIWV3FMYjs.getRpcCaveatOrigins; exports.getSignatureOriginCaveat = _chunkTEXEQGNZjs.getSignatureOriginCaveat; exports.getTransactionOriginCaveat = _chunk6TKD32TSjs.getTransactionOriginCaveat; exports.handlerEndowments = _chunkJRSPKOFGjs.handlerEndowments; exports.permittedMethods = _chunkD6MUXDVIjs.handlers; exports.processSnapPermissions = _chunkEGKFC56Fjs.processSnapPermissions; exports.restrictedMethodPermissionBuilders = _chunkRZXF4KSRjs.restrictedMethodPermissionBuilders; exports.selectHooks = _chunkYG7W4CDTjs.selectHooks;
118
118
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -19,10 +19,10 @@ import {
19
19
  buildSnapEndowmentSpecifications,
20
20
  buildSnapRestrictedMethodSpecifications,
21
21
  processSnapPermissions
22
- } from "./chunk-AKRFLGOS.mjs";
22
+ } from "./chunk-AMBEX4N4.mjs";
23
23
  import {
24
24
  restrictedMethodPermissionBuilders
25
- } from "./chunk-3S7DJI4I.mjs";
25
+ } from "./chunk-SU6KOIVB.mjs";
26
26
  import {
27
27
  caveatMappers,
28
28
  caveatSpecifications
@@ -35,8 +35,8 @@ import "./chunk-IBV23QOX.mjs";
35
35
  import "./chunk-IZYMBIBD.mjs";
36
36
  import "./chunk-E6WUMFQT.mjs";
37
37
  import {
38
- getEncryptionKey
39
- } from "./chunk-7NBRKDKJ.mjs";
38
+ getEncryptionEntropy
39
+ } from "./chunk-NESDQ4PF.mjs";
40
40
  import "./chunk-JWDQUKKU.mjs";
41
41
  import "./chunk-4SQWLI2S.mjs";
42
42
  import "./chunk-TNRH2LRU.mjs";
@@ -102,7 +102,7 @@ export {
102
102
  endowmentPermissionBuilders,
103
103
  getChainIdsCaveat,
104
104
  getCronjobCaveatJobs,
105
- getEncryptionKey,
105
+ getEncryptionEntropy,
106
106
  getKeyringCaveatOrigins,
107
107
  getLookupMatchersCaveat,
108
108
  getMaxRequestTimeCaveat,
@@ -2,8 +2,8 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkFBOZCV3Cjs = require('./chunk-FBOZCV3C.js');
6
- require('./chunk-LVTN25J2.js');
5
+ var _chunkEGKFC56Fjs = require('./chunk-EGKFC56F.js');
6
+ require('./chunk-RZXF4KSR.js');
7
7
  require('./chunk-AYJK7MSH.js');
8
8
  require('./chunk-2KTJCF3C.js');
9
9
  require('./chunk-VHY3NATP.js');
@@ -12,7 +12,7 @@ require('./chunk-VUA6ICJO.js');
12
12
  require('./chunk-Q5W3YGEB.js');
13
13
  require('./chunk-SYUGPLEP.js');
14
14
  require('./chunk-P74WXDY4.js');
15
- require('./chunk-KO4MKRYZ.js');
15
+ require('./chunk-R2M4YLJ7.js');
16
16
  require('./chunk-QDZAWH6F.js');
17
17
  require('./chunk-GYZV5UBD.js');
18
18
  require('./chunk-S7AR3ROH.js');
@@ -39,5 +39,5 @@ require('./chunk-YGKFOOWI.js');
39
39
 
40
40
 
41
41
 
42
- exports.buildSnapEndowmentSpecifications = _chunkFBOZCV3Cjs.buildSnapEndowmentSpecifications; exports.buildSnapRestrictedMethodSpecifications = _chunkFBOZCV3Cjs.buildSnapRestrictedMethodSpecifications; exports.processSnapPermissions = _chunkFBOZCV3Cjs.processSnapPermissions;
42
+ exports.buildSnapEndowmentSpecifications = _chunkEGKFC56Fjs.buildSnapEndowmentSpecifications; exports.buildSnapRestrictedMethodSpecifications = _chunkEGKFC56Fjs.buildSnapRestrictedMethodSpecifications; exports.processSnapPermissions = _chunkEGKFC56Fjs.processSnapPermissions;
43
43
  //# sourceMappingURL=permissions.js.map
@@ -2,8 +2,8 @@ import {
2
2
  buildSnapEndowmentSpecifications,
3
3
  buildSnapRestrictedMethodSpecifications,
4
4
  processSnapPermissions
5
- } from "./chunk-AKRFLGOS.mjs";
6
- import "./chunk-3S7DJI4I.mjs";
5
+ } from "./chunk-AMBEX4N4.mjs";
6
+ import "./chunk-SU6KOIVB.mjs";
7
7
  import "./chunk-Y4LNTDZ2.mjs";
8
8
  import "./chunk-EKXDFYIX.mjs";
9
9
  import "./chunk-WFAY5FPP.mjs";
@@ -12,7 +12,7 @@ import "./chunk-LR7UR4YU.mjs";
12
12
  import "./chunk-IBV23QOX.mjs";
13
13
  import "./chunk-IZYMBIBD.mjs";
14
14
  import "./chunk-E6WUMFQT.mjs";
15
- import "./chunk-7NBRKDKJ.mjs";
15
+ import "./chunk-NESDQ4PF.mjs";
16
16
  import "./chunk-JWDQUKKU.mjs";
17
17
  import "./chunk-4SQWLI2S.mjs";
18
18
  import "./chunk-TNRH2LRU.mjs";
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkLVTN25J2js = require('../chunk-LVTN25J2.js');
3
+ var _chunkRZXF4KSRjs = require('../chunk-RZXF4KSR.js');
4
4
 
5
5
 
6
6
 
@@ -14,7 +14,7 @@ require('../chunk-SYUGPLEP.js');
14
14
  require('../chunk-P74WXDY4.js');
15
15
 
16
16
 
17
- var _chunkKO4MKRYZjs = require('../chunk-KO4MKRYZ.js');
17
+ var _chunkR2M4YLJ7js = require('../chunk-R2M4YLJ7.js');
18
18
  require('../chunk-QDZAWH6F.js');
19
19
  require('../chunk-GYZV5UBD.js');
20
20
  require('../chunk-S7AR3ROH.js');
@@ -29,5 +29,5 @@ require('../chunk-YG7W4CDT.js');
29
29
 
30
30
 
31
31
 
32
- exports.WALLET_SNAP_PERMISSION_KEY = _chunkFFHVA6PPjs.WALLET_SNAP_PERMISSION_KEY; exports.caveatMappers = _chunkAYJK7MSHjs.caveatMappers; exports.caveatSpecifications = _chunkAYJK7MSHjs.caveatSpecifications; exports.getEncryptionKey = _chunkKO4MKRYZjs.getEncryptionKey; exports.restrictedMethodPermissionBuilders = _chunkLVTN25J2js.restrictedMethodPermissionBuilders;
32
+ exports.WALLET_SNAP_PERMISSION_KEY = _chunkFFHVA6PPjs.WALLET_SNAP_PERMISSION_KEY; exports.caveatMappers = _chunkAYJK7MSHjs.caveatMappers; exports.caveatSpecifications = _chunkAYJK7MSHjs.caveatSpecifications; exports.getEncryptionEntropy = _chunkR2M4YLJ7js.getEncryptionEntropy; exports.restrictedMethodPermissionBuilders = _chunkRZXF4KSRjs.restrictedMethodPermissionBuilders;
33
33
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  restrictedMethodPermissionBuilders
3
- } from "../chunk-3S7DJI4I.mjs";
3
+ } from "../chunk-SU6KOIVB.mjs";
4
4
  import {
5
5
  caveatMappers,
6
6
  caveatSpecifications
@@ -13,8 +13,8 @@ import "../chunk-IBV23QOX.mjs";
13
13
  import "../chunk-IZYMBIBD.mjs";
14
14
  import "../chunk-E6WUMFQT.mjs";
15
15
  import {
16
- getEncryptionKey
17
- } from "../chunk-7NBRKDKJ.mjs";
16
+ getEncryptionEntropy
17
+ } from "../chunk-NESDQ4PF.mjs";
18
18
  import "../chunk-JWDQUKKU.mjs";
19
19
  import "../chunk-4SQWLI2S.mjs";
20
20
  import "../chunk-TNRH2LRU.mjs";
@@ -27,7 +27,7 @@ export {
27
27
  WALLET_SNAP_PERMISSION_KEY,
28
28
  caveatMappers,
29
29
  caveatSpecifications,
30
- getEncryptionKey,
30
+ getEncryptionEntropy,
31
31
  restrictedMethodPermissionBuilders
32
32
  };
33
33
  //# sourceMappingURL=index.mjs.map
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- var _chunkKO4MKRYZjs = require('../chunk-KO4MKRYZ.js');
9
+ var _chunkR2M4YLJ7js = require('../chunk-R2M4YLJ7.js');
10
10
  require('../chunk-YG7W4CDT.js');
11
11
 
12
12
 
@@ -16,5 +16,5 @@ require('../chunk-YG7W4CDT.js');
16
16
 
17
17
 
18
18
 
19
- exports.STATE_ENCRYPTION_SALT = _chunkKO4MKRYZjs.STATE_ENCRYPTION_SALT; exports.STORAGE_SIZE_LIMIT = _chunkKO4MKRYZjs.STORAGE_SIZE_LIMIT; exports.getEncryptionKey = _chunkKO4MKRYZjs.getEncryptionKey; exports.getManageStateImplementation = _chunkKO4MKRYZjs.getManageStateImplementation; exports.getValidatedParams = _chunkKO4MKRYZjs.getValidatedParams; exports.manageStateBuilder = _chunkKO4MKRYZjs.manageStateBuilder; exports.specificationBuilder = _chunkKO4MKRYZjs.specificationBuilder;
19
+ exports.STATE_ENCRYPTION_SALT = _chunkR2M4YLJ7js.STATE_ENCRYPTION_SALT; exports.STORAGE_SIZE_LIMIT = _chunkR2M4YLJ7js.STORAGE_SIZE_LIMIT; exports.getEncryptionEntropy = _chunkR2M4YLJ7js.getEncryptionEntropy; exports.getManageStateImplementation = _chunkR2M4YLJ7js.getManageStateImplementation; exports.getValidatedParams = _chunkR2M4YLJ7js.getValidatedParams; exports.manageStateBuilder = _chunkR2M4YLJ7js.manageStateBuilder; exports.specificationBuilder = _chunkR2M4YLJ7js.specificationBuilder;
20
20
  //# sourceMappingURL=manageState.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  STATE_ENCRYPTION_SALT,
3
3
  STORAGE_SIZE_LIMIT,
4
- getEncryptionKey,
4
+ getEncryptionEntropy,
5
5
  getManageStateImplementation,
6
6
  getValidatedParams,
7
7
  manageStateBuilder,
8
8
  specificationBuilder
9
- } from "../chunk-7NBRKDKJ.mjs";
9
+ } from "../chunk-NESDQ4PF.mjs";
10
10
  import "../chunk-SGQXD5K7.mjs";
11
11
  export {
12
12
  STATE_ENCRYPTION_SALT,
13
13
  STORAGE_SIZE_LIMIT,
14
- getEncryptionKey,
14
+ getEncryptionEntropy,
15
15
  getManageStateImplementation,
16
16
  getValidatedParams,
17
17
  manageStateBuilder,