@metamask/permission-controller 10.0.1 → 11.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 (76) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/dist/Caveat.js +3 -3
  3. package/dist/Caveat.mjs +2 -2
  4. package/dist/PermissionController.js +6 -6
  5. package/dist/PermissionController.mjs +5 -5
  6. package/dist/SubjectMetadataController.js +2 -2
  7. package/dist/SubjectMetadataController.mjs +1 -1
  8. package/dist/{chunk-6V5UTS24.mjs → chunk-3WWJKO7P.mjs} +2 -2
  9. package/dist/{chunk-D7PWCWCC.js → chunk-3YOPLPVY.js} +4 -4
  10. package/dist/{chunk-SPOFDHOW.mjs → chunk-42QSJHWO.mjs} +3 -3
  11. package/dist/chunk-42QSJHWO.mjs.map +1 -0
  12. package/dist/{chunk-NOB77ENO.mjs → chunk-4FMYQC3Y.mjs} +4 -4
  13. package/dist/{chunk-ZTBBRCDR.mjs → chunk-4NAVRO44.mjs} +4 -4
  14. package/dist/chunk-4NAVRO44.mjs.map +1 -0
  15. package/dist/{chunk-73M67Z5X.mjs → chunk-5RFW5THA.mjs} +2 -2
  16. package/dist/{chunk-73M67Z5X.mjs.map → chunk-5RFW5THA.mjs.map} +1 -1
  17. package/dist/{chunk-AQ46ICF5.js → chunk-6PXDVUYM.js} +7 -7
  18. package/dist/{chunk-FVYYHAVF.mjs → chunk-74H4CVH7.mjs} +3 -3
  19. package/dist/{chunk-FVYYHAVF.mjs.map → chunk-74H4CVH7.mjs.map} +1 -1
  20. package/dist/{chunk-HZPWUOQB.js → chunk-7A3VYLCK.js} +4 -4
  21. package/dist/{chunk-HZPWUOQB.js.map → chunk-7A3VYLCK.js.map} +1 -1
  22. package/dist/{chunk-R56CBYD3.js → chunk-B6PDRQ7N.js} +73 -75
  23. package/dist/{chunk-7WEYLBME.mjs.map → chunk-B6PDRQ7N.js.map} +1 -1
  24. package/dist/{chunk-7WEYLBME.mjs → chunk-COGJLF22.mjs} +19 -21
  25. package/dist/chunk-COGJLF22.mjs.map +1 -0
  26. package/dist/{chunk-M5GM7UFU.js → chunk-F5TBMVWC.js} +3 -3
  27. package/dist/{chunk-4YXP3WEE.js → chunk-FYADAA2G.js} +4 -2
  28. package/dist/chunk-FYADAA2G.js.map +1 -0
  29. package/dist/{chunk-VHHS2FJX.mjs → chunk-G4BWJ7EA.mjs} +4 -2
  30. package/dist/chunk-G4BWJ7EA.mjs.map +1 -0
  31. package/dist/{chunk-5NYMBY4A.mjs → chunk-I62TTXZ6.mjs} +2 -2
  32. package/dist/{chunk-SKKQZ5E6.mjs → chunk-OCLNDUYO.mjs} +3 -3
  33. package/dist/{chunk-SKKQZ5E6.mjs.map → chunk-OCLNDUYO.mjs.map} +1 -1
  34. package/dist/{chunk-HRDKMOYS.js → chunk-VBIZGGQL.js} +2 -2
  35. package/dist/{chunk-HRDKMOYS.js.map → chunk-VBIZGGQL.js.map} +1 -1
  36. package/dist/{chunk-TAK6LXU6.js → chunk-VQPP5PWS.js} +4 -4
  37. package/dist/chunk-VQPP5PWS.js.map +1 -0
  38. package/dist/{chunk-IPKS33XA.js → chunk-VSDHL2GQ.js} +3 -3
  39. package/dist/{chunk-IPKS33XA.js.map → chunk-VSDHL2GQ.js.map} +1 -1
  40. package/dist/{chunk-6UCIDD5V.js → chunk-X4ZAW4QR.js} +5 -5
  41. package/dist/{chunk-6UCIDD5V.js.map → chunk-X4ZAW4QR.js.map} +1 -1
  42. package/dist/errors.js +2 -2
  43. package/dist/errors.mjs +1 -1
  44. package/dist/index.js +11 -11
  45. package/dist/index.mjs +10 -10
  46. package/dist/permission-middleware.js +3 -3
  47. package/dist/permission-middleware.mjs +2 -2
  48. package/dist/rpc-methods/getPermissions.js +3 -3
  49. package/dist/rpc-methods/getPermissions.mjs +2 -2
  50. package/dist/rpc-methods/index.js +7 -7
  51. package/dist/rpc-methods/index.mjs +6 -6
  52. package/dist/rpc-methods/requestPermissions.js +4 -4
  53. package/dist/rpc-methods/requestPermissions.mjs +3 -3
  54. package/dist/rpc-methods/revokePermissions.js +4 -4
  55. package/dist/rpc-methods/revokePermissions.mjs +3 -3
  56. package/dist/tsconfig.build.tsbuildinfo +1 -1
  57. package/dist/types/PermissionController.d.ts +10 -10
  58. package/dist/types/PermissionController.d.ts.map +1 -1
  59. package/dist/types/errors.d.ts.map +1 -1
  60. package/dist/types/utils.d.ts +9 -9
  61. package/dist/types/utils.d.ts.map +1 -1
  62. package/dist/utils.js +2 -2
  63. package/dist/utils.mjs +1 -1
  64. package/package.json +11 -11
  65. package/dist/chunk-4YXP3WEE.js.map +0 -1
  66. package/dist/chunk-R56CBYD3.js.map +0 -1
  67. package/dist/chunk-SPOFDHOW.mjs.map +0 -1
  68. package/dist/chunk-TAK6LXU6.js.map +0 -1
  69. package/dist/chunk-VHHS2FJX.mjs.map +0 -1
  70. package/dist/chunk-ZTBBRCDR.mjs.map +0 -1
  71. /package/dist/{chunk-6V5UTS24.mjs.map → chunk-3WWJKO7P.mjs.map} +0 -0
  72. /package/dist/{chunk-D7PWCWCC.js.map → chunk-3YOPLPVY.js.map} +0 -0
  73. /package/dist/{chunk-NOB77ENO.mjs.map → chunk-4FMYQC3Y.mjs.map} +0 -0
  74. /package/dist/{chunk-AQ46ICF5.js.map → chunk-6PXDVUYM.js.map} +0 -0
  75. /package/dist/{chunk-M5GM7UFU.js.map → chunk-F5TBMVWC.js.map} +0 -0
  76. /package/dist/{chunk-5NYMBY4A.mjs.map → chunk-I62TTXZ6.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/rpc-methods/getPermissions.ts"],"names":[],"mappings":";AAQO,IAAM,wBAIT;AAAA,EACF,aAAa,6CAA2B;AAAA,EACxC,gBAAgB;AAAA,EAChB,WAAW;AAAA,IACT,yBAAyB;AAAA,EAC3B;AACF;AAkBA,eAAe,6BACb,MACA,KACA,OACA,KACA,EAAE,wBAAwB,GACX;AACf,MAAI,SAAS,OAAO,OAAO,wBAAwB,KAAK,CAAC,CAAC;AAC1D,SAAO,IAAI;AACb","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { PermissionConstraint } from '../Permission';\nimport type { SubjectPermissions } from '../PermissionController';\nimport type { PermittedHandlerExport } from '../utils';\nimport { MethodNames } from '../utils';\n\nexport const getPermissionsHandler: PermittedHandlerExport<\n GetPermissionsHooks,\n [],\n PermissionConstraint[]\n> = {\n methodNames: [MethodNames.getPermissions],\n implementation: getPermissionsImplementation,\n hookNames: {\n getPermissionsForOrigin: true,\n },\n};\n\nexport type GetPermissionsHooks = {\n // This must be bound to the requesting origin.\n getPermissionsForOrigin: () => SubjectPermissions<PermissionConstraint>;\n};\n\n/**\n * Get Permissions implementation to be used in JsonRpcEngine middleware.\n *\n * @param _req - The JsonRpcEngine request - unused\n * @param res - The JsonRpcEngine result object\n * @param _next - JsonRpcEngine next() callback - unused\n * @param end - JsonRpcEngine end() callback\n * @param options - Method hooks passed to the method implementation\n * @param options.getPermissionsForOrigin - The specific method hook needed for this method implementation\n * @returns A promise that resolves to nothing\n */\nasync function getPermissionsImplementation(\n _req: unknown,\n res: PendingJsonRpcResponse<PermissionConstraint[]>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getPermissionsForOrigin }: GetPermissionsHooks,\n): Promise<void> {\n res.result = Object.values(getPermissionsForOrigin() || {});\n return end();\n}\n"]}
1
+ {"version":3,"sources":["../src/rpc-methods/getPermissions.ts"],"names":[],"mappings":";AAQO,IAAM,wBAIT;AAAA,EACF,aAAa,6CAA2B;AAAA,EACxC,gBAAgB;AAAA,EAChB,WAAW;AAAA,IACT,yBAAyB;AAAA,EAC3B;AACF;AAkBA,eAAe,6BACb,MACA,KACA,OACA,KACA,EAAE,wBAAwB,GACX;AACf,MAAI,SAAS,OAAO,OAAO,wBAAwB,KAAK,CAAC,CAAC;AAC1D,SAAO,IAAI;AACb","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport type { PendingJsonRpcResponse } from '@metamask/utils';\n\nimport type { PermissionConstraint } from '../Permission';\nimport type { SubjectPermissions } from '../PermissionController';\nimport type { PermittedHandlerExport } from '../utils';\nimport { MethodNames } from '../utils';\n\nexport const getPermissionsHandler: PermittedHandlerExport<\n GetPermissionsHooks,\n [],\n PermissionConstraint[]\n> = {\n methodNames: [MethodNames.GetPermissions],\n implementation: getPermissionsImplementation,\n hookNames: {\n getPermissionsForOrigin: true,\n },\n};\n\nexport type GetPermissionsHooks = {\n // This must be bound to the requesting origin.\n getPermissionsForOrigin: () => SubjectPermissions<PermissionConstraint>;\n};\n\n/**\n * Get Permissions implementation to be used in JsonRpcEngine middleware.\n *\n * @param _req - The JsonRpcEngine request - unused\n * @param res - The JsonRpcEngine result object\n * @param _next - JsonRpcEngine next() callback - unused\n * @param end - JsonRpcEngine end() callback\n * @param options - Method hooks passed to the method implementation\n * @param options.getPermissionsForOrigin - The specific method hook needed for this method implementation\n * @returns A promise that resolves to nothing\n */\nasync function getPermissionsImplementation(\n _req: unknown,\n res: PendingJsonRpcResponse<PermissionConstraint[]>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { getPermissionsForOrigin }: GetPermissionsHooks,\n): Promise<void> {\n res.result = Object.values(getPermissionsForOrigin() || {});\n return end();\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/utils.ts
2
2
  var MethodNames = /* @__PURE__ */ ((MethodNames2) => {
3
- MethodNames2["requestPermissions"] = "wallet_requestPermissions";
4
- MethodNames2["getPermissions"] = "wallet_getPermissions";
5
- MethodNames2["revokePermissions"] = "wallet_revokePermissions";
3
+ MethodNames2["RequestPermissions"] = "wallet_requestPermissions";
4
+ MethodNames2["GetPermissions"] = "wallet_getPermissions";
5
+ MethodNames2["RevokePermissions"] = "wallet_revokePermissions";
6
6
  return MethodNames2;
7
7
  })(MethodNames || {});
8
8
  function collectUniqueAndPairedCaveats(leftPermission, rightPermission) {
@@ -32,4 +32,4 @@ function collectUniqueAndPairedCaveats(leftPermission, rightPermission) {
32
32
 
33
33
 
34
34
  exports.MethodNames = MethodNames; exports.collectUniqueAndPairedCaveats = collectUniqueAndPairedCaveats;
35
- //# sourceMappingURL=chunk-TAK6LXU6.js.map
35
+ //# sourceMappingURL=chunk-VQPP5PWS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts"],"names":["MethodNames"],"mappings":";AAsBO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,wBAAqB;AACrB,EAAAA,aAAA,oBAAiB;AACjB,EAAAA,aAAA,uBAAoB;AAHV,SAAAA;AAAA,GAAA;AAsEL,SAAS,8BACd,gBACA,iBACA;AACA,QAAM,cAAc,gBAAgB,SAAS,MAAM,KAAK,CAAC;AACzD,QAAM,eAAe,gBAAgB,SAAS,MAAM,KAAK,CAAC;AAC1D,QAAM,oBAAwC,CAAC;AAC/C,QAAM,cAAsD,CAAC;AAE7D,cAAY,QAAQ,CAAC,eAAe;AAClC,UAAM,mBAAmB,aAAa;AAAA,MACpC,CAAC,gBAAgB,YAAY,SAAS,WAAW;AAAA,IACnD;AAEA,QAAI,qBAAqB,IAAI;AAC3B,wBAAkB,KAAK,UAAU;AAAA,IACnC,OAAO;AACL,kBAAY,KAAK,CAAC,YAAY,aAAa,gBAAgB,CAAC,CAAC;AAC7D,mBAAa,OAAO,kBAAkB,CAAC;AAAA,IACzC;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,oBAAoB,CAAC,GAAG,YAAY;AAAA,EACtC;AACF","sourcesContent":["import type {\n JsonRpcEngineEndCallback,\n JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport type {\n Json,\n JsonRpcParams,\n JsonRpcRequest,\n PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type {\n CaveatConstraint,\n CaveatSpecificationConstraint,\n CaveatSpecificationMap,\n} from './Caveat';\nimport type {\n PermissionConstraint,\n PermissionSpecificationConstraint,\n PermissionSpecificationMap,\n} from './Permission';\n\nexport enum MethodNames {\n RequestPermissions = 'wallet_requestPermissions',\n GetPermissions = 'wallet_getPermissions',\n RevokePermissions = 'wallet_revokePermissions',\n}\n\n/**\n * Utility type for extracting a union of all individual caveat or permission\n * specification types from a {@link CaveatSpecificationMap} or\n * {@link PermissionSpecificationMap}.\n *\n * @template SpecificationsMap - The caveat or permission specifications map\n * whose specification type union to extract.\n */\nexport type ExtractSpecifications<\n SpecificationsMap extends\n | CaveatSpecificationMap<CaveatSpecificationConstraint>\n | PermissionSpecificationMap<PermissionSpecificationConstraint>,\n> = SpecificationsMap[keyof SpecificationsMap];\n\n/**\n * A middleware function for handling a permitted method.\n */\nexport type HandlerMiddlewareFunction<\n Hooks,\n Params extends JsonRpcParams,\n Result extends Json,\n> = (\n req: JsonRpcRequest<Params>,\n res: PendingJsonRpcResponse<Result>,\n next: JsonRpcEngineNextCallback,\n end: JsonRpcEngineEndCallback,\n hooks: Hooks,\n) => void | Promise<void>;\n\n/**\n * We use a mapped object type in order to create a type that requires the\n * presence of the names of all hooks for the given handler.\n * This can then be used to select only the necessary hooks whenever a method\n * is called for purposes of POLA.\n */\nexport type HookNames<HookMap> = {\n [Property in keyof HookMap]: true;\n};\n\n/**\n * A handler for a permitted method.\n */\nexport type PermittedHandlerExport<\n Hooks,\n Params extends JsonRpcParams,\n Result extends Json,\n> = {\n implementation: HandlerMiddlewareFunction<Hooks, Params, Result>;\n hookNames: HookNames<Hooks>;\n methodNames: string[];\n};\n\n/**\n * Given two permission objects, computes 3 sets:\n * - The set of caveat pairs that are common to both permissions.\n * - The set of caveats that are unique to the existing permission.\n * - The set of caveats that are unique to the requested permission.\n *\n * Assumes that the caveat arrays of both permissions are valid.\n *\n * @param leftPermission - The left-hand permission.\n * @param rightPermission - The right-hand permission.\n * @returns The sets of caveat pairs and unique caveats.\n */\nexport function collectUniqueAndPairedCaveats(\n leftPermission: Partial<PermissionConstraint> | undefined,\n rightPermission: Partial<PermissionConstraint>,\n) {\n const leftCaveats = leftPermission?.caveats?.slice() ?? [];\n const rightCaveats = rightPermission.caveats?.slice() ?? [];\n const leftUniqueCaveats: CaveatConstraint[] = [];\n const caveatPairs: [CaveatConstraint, CaveatConstraint][] = [];\n\n leftCaveats.forEach((leftCaveat) => {\n const rightCaveatIndex = rightCaveats.findIndex(\n (rightCaveat) => rightCaveat.type === leftCaveat.type,\n );\n\n if (rightCaveatIndex === -1) {\n leftUniqueCaveats.push(leftCaveat);\n } else {\n caveatPairs.push([leftCaveat, rightCaveats[rightCaveatIndex]]);\n rightCaveats.splice(rightCaveatIndex, 1);\n }\n });\n\n return {\n caveatPairs,\n leftUniqueCaveats,\n rightUniqueCaveats: [...rightCaveats],\n };\n}\n"]}
@@ -41,13 +41,13 @@ var SubjectMetadataController = class _SubjectMetadataController extends _baseco
41
41
  this.subjectCacheLimit = subjectCacheLimit;
42
42
  this.subjectsWithoutPermissionsEncounteredSinceStartup = /* @__PURE__ */ new Set();
43
43
  this.messagingSystem.registerActionHandler(
44
- // TODO: Either fix this lint violation or explain why it's necessary to ignore.
44
+ // ESLint is confused by the string literal type.
45
45
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
46
46
  `${this.name}:getSubjectMetadata`,
47
47
  this.getSubjectMetadata.bind(this)
48
48
  );
49
49
  this.messagingSystem.registerActionHandler(
50
- // TODO: Either fix this lint violation or explain why it's necessary to ignore.
50
+ // ESLint is confused by the string literal type.
51
51
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
52
52
  `${this.name}:addSubjectMetadata`,
53
53
  this.addSubjectMetadata.bind(this)
@@ -152,4 +152,4 @@ var SubjectMetadataController = class _SubjectMetadataController extends _baseco
152
152
 
153
153
 
154
154
  exports.SubjectType = SubjectType; exports.SubjectMetadataController = SubjectMetadataController;
155
- //# sourceMappingURL=chunk-IPKS33XA.js.map
155
+ //# sourceMappingURL=chunk-VSDHL2GQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/SubjectMetadataController.ts"],"names":["SubjectType"],"mappings":"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","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedControllerMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { Json } from '@metamask/utils';\n\nimport type {\n GenericPermissionController,\n HasPermissions,\n PermissionSubjectMetadata,\n} from './PermissionController';\n\nconst controllerName = 'SubjectMetadataController';\n\ntype SubjectOrigin = string;\n\n/**\n * The different kinds of subjects that MetaMask may interact with, including\n * third parties and itself (e.g., when the background communicated with the UI).\n */\nexport enum SubjectType {\n Extension = 'extension',\n Internal = 'internal',\n Unknown = 'unknown',\n Website = 'website',\n Snap = 'snap',\n}\n\nexport type SubjectMetadata = PermissionSubjectMetadata & {\n [key: string]: Json;\n name: string | null;\n subjectType: SubjectType | null;\n extensionId: string | null;\n iconUrl: string | null;\n};\n\ntype SubjectMetadataToAdd = PermissionSubjectMetadata & {\n name?: string | null;\n subjectType?: SubjectType | null;\n extensionId?: string | null;\n iconUrl?: string | null;\n} & Record<string, Json>;\n\nexport type SubjectMetadataControllerState = {\n subjectMetadata: Record<SubjectOrigin, SubjectMetadata>;\n};\n\nconst stateMetadata = {\n subjectMetadata: { persist: true, anonymous: false },\n};\n\nconst defaultState: SubjectMetadataControllerState = {\n subjectMetadata: {},\n};\n\nexport type GetSubjectMetadataState = ControllerGetStateAction<\n typeof controllerName,\n SubjectMetadataControllerState\n>;\n\nexport type GetSubjectMetadata = {\n type: `${typeof controllerName}:getSubjectMetadata`;\n handler: (origin: SubjectOrigin) => SubjectMetadata | undefined;\n};\n\nexport type AddSubjectMetadata = {\n type: `${typeof controllerName}:addSubjectMetadata`;\n handler: (metadata: SubjectMetadataToAdd) => void;\n};\n\nexport type SubjectMetadataControllerActions =\n | GetSubjectMetadataState\n | GetSubjectMetadata\n | AddSubjectMetadata;\n\nexport type SubjectMetadataStateChange = ControllerStateChangeEvent<\n typeof controllerName,\n SubjectMetadataControllerState\n>;\n\nexport type SubjectMetadataControllerEvents = SubjectMetadataStateChange;\n\ntype AllowedActions = HasPermissions;\n\nexport type SubjectMetadataControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n SubjectMetadataControllerActions | AllowedActions,\n SubjectMetadataControllerEvents,\n AllowedActions['type'],\n never\n>;\n\ntype SubjectMetadataControllerOptions = {\n messenger: SubjectMetadataControllerMessenger;\n subjectCacheLimit: number;\n state?: Partial<SubjectMetadataControllerState>;\n};\n\n/**\n * A controller for storing metadata associated with permission subjects. More\n * or less, a cache.\n */\nexport class SubjectMetadataController extends BaseController<\n typeof controllerName,\n SubjectMetadataControllerState,\n SubjectMetadataControllerMessenger\n> {\n private readonly subjectCacheLimit: number;\n\n private readonly subjectsWithoutPermissionsEncounteredSinceStartup: Set<string>;\n\n private readonly subjectHasPermissions: GenericPermissionController['hasPermissions'];\n\n constructor({\n messenger,\n subjectCacheLimit,\n state = {},\n }: SubjectMetadataControllerOptions) {\n if (!Number.isInteger(subjectCacheLimit) || subjectCacheLimit < 1) {\n throw new Error(\n `subjectCacheLimit must be a positive integer. Received: \"${subjectCacheLimit}\"`,\n );\n }\n\n const hasPermissions = (origin: string) => {\n return messenger.call('PermissionController:hasPermissions', origin);\n };\n\n super({\n name: controllerName,\n metadata: stateMetadata,\n messenger,\n state: {\n ...SubjectMetadataController.getTrimmedState(state, hasPermissions),\n },\n });\n\n this.subjectHasPermissions = hasPermissions;\n this.subjectCacheLimit = subjectCacheLimit;\n this.subjectsWithoutPermissionsEncounteredSinceStartup = new Set();\n\n this.messagingSystem.registerActionHandler(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${this.name}:getSubjectMetadata`,\n this.getSubjectMetadata.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${this.name}:addSubjectMetadata`,\n this.addSubjectMetadata.bind(this),\n );\n }\n\n /**\n * Clears the state of this controller. Also resets the cache of subjects\n * encountered since startup, so as to not prematurely reach the cache limit.\n */\n clearState(): void {\n this.subjectsWithoutPermissionsEncounteredSinceStartup.clear();\n this.update((_draftState) => {\n return { ...defaultState };\n });\n }\n\n /**\n * Stores domain metadata for the given origin (subject). Deletes metadata for\n * subjects without permissions in a FIFO manner once more than\n * {@link SubjectMetadataController.subjectCacheLimit} distinct origins have\n * been added since boot.\n *\n * In order to prevent a degraded user experience,\n * metadata is never deleted for subjects with permissions, since metadata\n * cannot yet be requested on demand.\n *\n * @param metadata - The subject metadata to store.\n */\n addSubjectMetadata(metadata: SubjectMetadataToAdd): void {\n const { origin } = metadata;\n const newMetadata: SubjectMetadata = {\n ...metadata,\n extensionId: metadata.extensionId || null,\n iconUrl: metadata.iconUrl || null,\n name: metadata.name || null,\n subjectType: metadata.subjectType || null,\n };\n\n let originToForget: string | null = null;\n // We only delete the oldest encountered subject from the cache, again to\n // ensure that the user's experience isn't degraded by missing icons etc.\n if (\n this.subjectsWithoutPermissionsEncounteredSinceStartup.size >=\n this.subjectCacheLimit\n ) {\n const cachedOrigin =\n this.subjectsWithoutPermissionsEncounteredSinceStartup\n .values()\n .next().value;\n\n this.subjectsWithoutPermissionsEncounteredSinceStartup.delete(\n cachedOrigin,\n );\n\n if (!this.subjectHasPermissions(cachedOrigin)) {\n originToForget = cachedOrigin;\n }\n }\n\n this.subjectsWithoutPermissionsEncounteredSinceStartup.add(origin);\n\n this.update((draftState) => {\n draftState.subjectMetadata[origin] = newMetadata;\n if (typeof originToForget === 'string') {\n delete draftState.subjectMetadata[originToForget];\n }\n });\n }\n\n /**\n * Gets the subject metadata for the given origin, if any.\n *\n * @param origin - The origin for which to get the subject metadata.\n * @returns The subject metadata, if any, or `undefined` otherwise.\n */\n getSubjectMetadata(origin: SubjectOrigin): SubjectMetadata | undefined {\n return this.state.subjectMetadata[origin];\n }\n\n /**\n * Deletes all subjects without permissions from the controller's state.\n */\n trimMetadataState(): void {\n this.update((draftState) => {\n // @ts-expect-error ts(2589)\n return SubjectMetadataController.getTrimmedState(\n draftState,\n this.subjectHasPermissions,\n );\n });\n }\n\n /**\n * Returns a new state object that only includes subjects with permissions.\n * This method is static because we want to call it in the constructor, before\n * the controller's state is initialized.\n *\n * @param state - The state object to trim.\n * @param hasPermissions - A function that returns a boolean indicating\n * whether a particular subject (identified by its origin) has any\n * permissions.\n * @returns The new state object. If the specified `state` object has no\n * subject metadata, the returned object will be equivalent to the default\n * state of this controller.\n */\n private static getTrimmedState(\n state: Partial<SubjectMetadataControllerState>,\n hasPermissions: SubjectMetadataController['subjectHasPermissions'],\n ): SubjectMetadataControllerState {\n const { subjectMetadata = {} } = state;\n\n return {\n subjectMetadata: Object.keys(subjectMetadata).reduce<\n Record<SubjectOrigin, SubjectMetadata>\n >((newSubjectMetadata, origin) => {\n if (hasPermissions(origin)) {\n newSubjectMetadata[origin] = subjectMetadata[origin];\n }\n return newSubjectMetadata;\n }, {}),\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/SubjectMetadataController.ts"],"names":["SubjectType"],"mappings":"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","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedControllerMessenger,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { Json } from '@metamask/utils';\n\nimport type {\n GenericPermissionController,\n HasPermissions,\n PermissionSubjectMetadata,\n} from './PermissionController';\n\nconst controllerName = 'SubjectMetadataController';\n\ntype SubjectOrigin = string;\n\n/**\n * The different kinds of subjects that MetaMask may interact with, including\n * third parties and itself (e.g., when the background communicated with the UI).\n */\nexport enum SubjectType {\n Extension = 'extension',\n Internal = 'internal',\n Unknown = 'unknown',\n Website = 'website',\n Snap = 'snap',\n}\n\nexport type SubjectMetadata = PermissionSubjectMetadata & {\n [key: string]: Json;\n name: string | null;\n subjectType: SubjectType | null;\n extensionId: string | null;\n iconUrl: string | null;\n};\n\ntype SubjectMetadataToAdd = PermissionSubjectMetadata & {\n name?: string | null;\n subjectType?: SubjectType | null;\n extensionId?: string | null;\n iconUrl?: string | null;\n} & Record<string, Json>;\n\nexport type SubjectMetadataControllerState = {\n subjectMetadata: Record<SubjectOrigin, SubjectMetadata>;\n};\n\nconst stateMetadata = {\n subjectMetadata: { persist: true, anonymous: false },\n};\n\nconst defaultState: SubjectMetadataControllerState = {\n subjectMetadata: {},\n};\n\nexport type GetSubjectMetadataState = ControllerGetStateAction<\n typeof controllerName,\n SubjectMetadataControllerState\n>;\n\nexport type GetSubjectMetadata = {\n type: `${typeof controllerName}:getSubjectMetadata`;\n handler: (origin: SubjectOrigin) => SubjectMetadata | undefined;\n};\n\nexport type AddSubjectMetadata = {\n type: `${typeof controllerName}:addSubjectMetadata`;\n handler: (metadata: SubjectMetadataToAdd) => void;\n};\n\nexport type SubjectMetadataControllerActions =\n | GetSubjectMetadataState\n | GetSubjectMetadata\n | AddSubjectMetadata;\n\nexport type SubjectMetadataStateChange = ControllerStateChangeEvent<\n typeof controllerName,\n SubjectMetadataControllerState\n>;\n\nexport type SubjectMetadataControllerEvents = SubjectMetadataStateChange;\n\ntype AllowedActions = HasPermissions;\n\nexport type SubjectMetadataControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n SubjectMetadataControllerActions | AllowedActions,\n SubjectMetadataControllerEvents,\n AllowedActions['type'],\n never\n>;\n\ntype SubjectMetadataControllerOptions = {\n messenger: SubjectMetadataControllerMessenger;\n subjectCacheLimit: number;\n state?: Partial<SubjectMetadataControllerState>;\n};\n\n/**\n * A controller for storing metadata associated with permission subjects. More\n * or less, a cache.\n */\nexport class SubjectMetadataController extends BaseController<\n typeof controllerName,\n SubjectMetadataControllerState,\n SubjectMetadataControllerMessenger\n> {\n private readonly subjectCacheLimit: number;\n\n private readonly subjectsWithoutPermissionsEncounteredSinceStartup: Set<string>;\n\n private readonly subjectHasPermissions: GenericPermissionController['hasPermissions'];\n\n constructor({\n messenger,\n subjectCacheLimit,\n state = {},\n }: SubjectMetadataControllerOptions) {\n if (!Number.isInteger(subjectCacheLimit) || subjectCacheLimit < 1) {\n throw new Error(\n `subjectCacheLimit must be a positive integer. Received: \"${subjectCacheLimit}\"`,\n );\n }\n\n const hasPermissions = (origin: string) => {\n return messenger.call('PermissionController:hasPermissions', origin);\n };\n\n super({\n name: controllerName,\n metadata: stateMetadata,\n messenger,\n state: {\n ...SubjectMetadataController.getTrimmedState(state, hasPermissions),\n },\n });\n\n this.subjectHasPermissions = hasPermissions;\n this.subjectCacheLimit = subjectCacheLimit;\n this.subjectsWithoutPermissionsEncounteredSinceStartup = new Set();\n\n this.messagingSystem.registerActionHandler(\n // ESLint is confused by the string literal type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${this.name}:getSubjectMetadata`,\n this.getSubjectMetadata.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n // ESLint is confused by the string literal type.\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n `${this.name}:addSubjectMetadata`,\n this.addSubjectMetadata.bind(this),\n );\n }\n\n /**\n * Clears the state of this controller. Also resets the cache of subjects\n * encountered since startup, so as to not prematurely reach the cache limit.\n */\n clearState(): void {\n this.subjectsWithoutPermissionsEncounteredSinceStartup.clear();\n this.update((_draftState) => {\n return { ...defaultState };\n });\n }\n\n /**\n * Stores domain metadata for the given origin (subject). Deletes metadata for\n * subjects without permissions in a FIFO manner once more than\n * {@link SubjectMetadataController.subjectCacheLimit} distinct origins have\n * been added since boot.\n *\n * In order to prevent a degraded user experience,\n * metadata is never deleted for subjects with permissions, since metadata\n * cannot yet be requested on demand.\n *\n * @param metadata - The subject metadata to store.\n */\n addSubjectMetadata(metadata: SubjectMetadataToAdd): void {\n const { origin } = metadata;\n const newMetadata: SubjectMetadata = {\n ...metadata,\n extensionId: metadata.extensionId || null,\n iconUrl: metadata.iconUrl || null,\n name: metadata.name || null,\n subjectType: metadata.subjectType || null,\n };\n\n let originToForget: string | null = null;\n // We only delete the oldest encountered subject from the cache, again to\n // ensure that the user's experience isn't degraded by missing icons etc.\n if (\n this.subjectsWithoutPermissionsEncounteredSinceStartup.size >=\n this.subjectCacheLimit\n ) {\n const cachedOrigin =\n this.subjectsWithoutPermissionsEncounteredSinceStartup\n .values()\n .next().value;\n\n this.subjectsWithoutPermissionsEncounteredSinceStartup.delete(\n cachedOrigin,\n );\n\n if (!this.subjectHasPermissions(cachedOrigin)) {\n originToForget = cachedOrigin;\n }\n }\n\n this.subjectsWithoutPermissionsEncounteredSinceStartup.add(origin);\n\n this.update((draftState) => {\n draftState.subjectMetadata[origin] = newMetadata;\n if (typeof originToForget === 'string') {\n delete draftState.subjectMetadata[originToForget];\n }\n });\n }\n\n /**\n * Gets the subject metadata for the given origin, if any.\n *\n * @param origin - The origin for which to get the subject metadata.\n * @returns The subject metadata, if any, or `undefined` otherwise.\n */\n getSubjectMetadata(origin: SubjectOrigin): SubjectMetadata | undefined {\n return this.state.subjectMetadata[origin];\n }\n\n /**\n * Deletes all subjects without permissions from the controller's state.\n */\n trimMetadataState(): void {\n this.update((draftState) => {\n // @ts-expect-error ts(2589)\n return SubjectMetadataController.getTrimmedState(\n draftState,\n this.subjectHasPermissions,\n );\n });\n }\n\n /**\n * Returns a new state object that only includes subjects with permissions.\n * This method is static because we want to call it in the constructor, before\n * the controller's state is initialized.\n *\n * @param state - The state object to trim.\n * @param hasPermissions - A function that returns a boolean indicating\n * whether a particular subject (identified by its origin) has any\n * permissions.\n * @returns The new state object. If the specified `state` object has no\n * subject metadata, the returned object will be equivalent to the default\n * state of this controller.\n */\n private static getTrimmedState(\n state: Partial<SubjectMetadataControllerState>,\n hasPermissions: SubjectMetadataController['subjectHasPermissions'],\n ): SubjectMetadataControllerState {\n const { subjectMetadata = {} } = state;\n\n return {\n subjectMetadata: Object.keys(subjectMetadata).reduce<\n Record<SubjectOrigin, SubjectMetadata>\n >((newSubjectMetadata, origin) => {\n if (hasPermissions(origin)) {\n newSubjectMetadata[origin] = subjectMetadata[origin];\n }\n return newSubjectMetadata;\n }, {}),\n };\n }\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk4YXP3WEEjs = require('./chunk-4YXP3WEE.js');
3
+ var _chunkFYADAA2Gjs = require('./chunk-FYADAA2G.js');
4
4
 
5
5
  // src/rpc-methods/revokePermissions.ts
6
6
 
7
7
 
8
8
  var _utils = require('@metamask/utils');
9
9
  var revokePermissionsHandler = {
10
- methodNames: ["wallet_revokePermissions" /* revokePermissions */],
10
+ methodNames: ["wallet_revokePermissions" /* RevokePermissions */],
11
11
  implementation: revokePermissionsImplementation,
12
12
  hookNames: {
13
13
  revokePermissionsForOrigin: true
@@ -17,11 +17,11 @@ async function revokePermissionsImplementation(req, res, _next, end, { revokePer
17
17
  const { params } = req;
18
18
  const param = params?.[0];
19
19
  if (!param) {
20
- return end(_chunk4YXP3WEEjs.invalidParams.call(void 0, { data: { request: req } }));
20
+ return end(_chunkFYADAA2Gjs.invalidParams.call(void 0, { data: { request: req } }));
21
21
  }
22
22
  const permissionKeys = Object.keys(param);
23
23
  if (!_utils.isNonEmptyArray.call(void 0, permissionKeys)) {
24
- return end(_chunk4YXP3WEEjs.invalidParams.call(void 0, { data: { request: req } }));
24
+ return end(_chunkFYADAA2Gjs.invalidParams.call(void 0, { data: { request: req } }));
25
25
  }
26
26
  revokePermissionsForOrigin(permissionKeys);
27
27
  res.result = null;
@@ -31,4 +31,4 @@ async function revokePermissionsImplementation(req, res, _next, end, { revokePer
31
31
 
32
32
 
33
33
  exports.revokePermissionsHandler = revokePermissionsHandler;
34
- //# sourceMappingURL=chunk-6UCIDD5V.js.map
34
+ //# sourceMappingURL=chunk-X4ZAW4QR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/rpc-methods/revokePermissions.ts"],"names":[],"mappings":";;;;;AACA;AAAA,EACE;AAAA,OAKK;AAOA,IAAM,2BAIT;AAAA,EACF,aAAa,mDAA8B;AAAA,EAC3C,gBAAgB;AAAA,EAChB,WAAW;AAAA,IACT,4BAA4B;AAAA,EAC9B;AACF;AA0BA,eAAe,gCACb,KACA,KACA,OACA,KACA,EAAE,2BAA2B,GACd;AACf,QAAM,EAAE,OAAO,IAAI;AAEnB,QAAM,QAAQ,SAAS,CAAC;AAExB,MAAI,CAAC,OAAO;AACV,WAAO,IAAI,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,EACtD;AAIA,QAAM,iBAAiB,OAAO,KAAK,KAAK;AAExC,MAAI,CAAC,gBAAgB,cAAc,GAAG;AACpC,WAAO,IAAI,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,EACtD;AAEA,6BAA2B,cAAc;AAEzC,MAAI,SAAS;AAEb,SAAO,IAAI;AACb","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport {\n isNonEmptyArray,\n type Json,\n type JsonRpcRequest,\n type NonEmptyArray,\n type PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport { invalidParams } from '../errors';\nimport type { PermissionConstraint } from '../Permission';\nimport type { PermittedHandlerExport } from '../utils';\nimport { MethodNames } from '../utils';\n\nexport const revokePermissionsHandler: PermittedHandlerExport<\n RevokePermissionsHooks,\n RevokePermissionArgs,\n null\n> = {\n methodNames: [MethodNames.revokePermissions],\n implementation: revokePermissionsImplementation,\n hookNames: {\n revokePermissionsForOrigin: true,\n },\n};\n\nexport type RevokePermissionArgs = Record<\n PermissionConstraint['parentCapability'],\n Json\n>;\n\ntype RevokePermissions = (\n permissions: NonEmptyArray<PermissionConstraint['parentCapability']>,\n) => void;\n\nexport type RevokePermissionsHooks = {\n revokePermissionsForOrigin: RevokePermissions;\n};\n\n/**\n * Revoke Permissions implementation to be used in JsonRpcEngine middleware.\n *\n * @param req - The JsonRpcEngine request\n * @param res - The JsonRpcEngine result object\n * @param _next - JsonRpcEngine next() callback - unused\n * @param end - JsonRpcEngine end() callback\n * @param options - Method hooks passed to the method implementation\n * @param options.revokePermissionsForOrigin - A hook that revokes given permission keys for an origin\n * @returns A promise that resolves to nothing\n */\nasync function revokePermissionsImplementation(\n req: JsonRpcRequest<RevokePermissionArgs>,\n res: PendingJsonRpcResponse<null>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { revokePermissionsForOrigin }: RevokePermissionsHooks,\n): Promise<void> {\n const { params } = req;\n\n const param = params?.[0];\n\n if (!param) {\n return end(invalidParams({ data: { request: req } }));\n }\n\n // For now, this API revokes the entire permission key\n // even if caveats are specified.\n const permissionKeys = Object.keys(param);\n\n if (!isNonEmptyArray(permissionKeys)) {\n return end(invalidParams({ data: { request: req } }));\n }\n\n revokePermissionsForOrigin(permissionKeys);\n\n res.result = null;\n\n return end();\n}\n"]}
1
+ {"version":3,"sources":["../src/rpc-methods/revokePermissions.ts"],"names":[],"mappings":";;;;;AACA;AAAA,EACE;AAAA,OAKK;AAOA,IAAM,2BAIT;AAAA,EACF,aAAa,mDAA8B;AAAA,EAC3C,gBAAgB;AAAA,EAChB,WAAW;AAAA,IACT,4BAA4B;AAAA,EAC9B;AACF;AA0BA,eAAe,gCACb,KACA,KACA,OACA,KACA,EAAE,2BAA2B,GACd;AACf,QAAM,EAAE,OAAO,IAAI;AAEnB,QAAM,QAAQ,SAAS,CAAC;AAExB,MAAI,CAAC,OAAO;AACV,WAAO,IAAI,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,EACtD;AAIA,QAAM,iBAAiB,OAAO,KAAK,KAAK;AAExC,MAAI,CAAC,gBAAgB,cAAc,GAAG;AACpC,WAAO,IAAI,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AAAA,EACtD;AAEA,6BAA2B,cAAc;AAEzC,MAAI,SAAS;AAEb,SAAO,IAAI;AACb","sourcesContent":["import type { JsonRpcEngineEndCallback } from '@metamask/json-rpc-engine';\nimport {\n isNonEmptyArray,\n type Json,\n type JsonRpcRequest,\n type NonEmptyArray,\n type PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport { invalidParams } from '../errors';\nimport type { PermissionConstraint } from '../Permission';\nimport type { PermittedHandlerExport } from '../utils';\nimport { MethodNames } from '../utils';\n\nexport const revokePermissionsHandler: PermittedHandlerExport<\n RevokePermissionsHooks,\n RevokePermissionArgs,\n null\n> = {\n methodNames: [MethodNames.RevokePermissions],\n implementation: revokePermissionsImplementation,\n hookNames: {\n revokePermissionsForOrigin: true,\n },\n};\n\nexport type RevokePermissionArgs = Record<\n PermissionConstraint['parentCapability'],\n Json\n>;\n\ntype RevokePermissions = (\n permissions: NonEmptyArray<PermissionConstraint['parentCapability']>,\n) => void;\n\nexport type RevokePermissionsHooks = {\n revokePermissionsForOrigin: RevokePermissions;\n};\n\n/**\n * Revoke Permissions implementation to be used in JsonRpcEngine middleware.\n *\n * @param req - The JsonRpcEngine request\n * @param res - The JsonRpcEngine result object\n * @param _next - JsonRpcEngine next() callback - unused\n * @param end - JsonRpcEngine end() callback\n * @param options - Method hooks passed to the method implementation\n * @param options.revokePermissionsForOrigin - A hook that revokes given permission keys for an origin\n * @returns A promise that resolves to nothing\n */\nasync function revokePermissionsImplementation(\n req: JsonRpcRequest<RevokePermissionArgs>,\n res: PendingJsonRpcResponse<null>,\n _next: unknown,\n end: JsonRpcEngineEndCallback,\n { revokePermissionsForOrigin }: RevokePermissionsHooks,\n): Promise<void> {\n const { params } = req;\n\n const param = params?.[0];\n\n if (!param) {\n return end(invalidParams({ data: { request: req } }));\n }\n\n // For now, this API revokes the entire permission key\n // even if caveats are specified.\n const permissionKeys = Object.keys(param);\n\n if (!isNonEmptyArray(permissionKeys)) {\n return end(invalidParams({ data: { request: req } }));\n }\n\n revokePermissionsForOrigin(permissionKeys);\n\n res.result = null;\n\n return end();\n}\n"]}
package/dist/errors.js CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
 
27
27
 
28
- var _chunk4YXP3WEEjs = require('./chunk-4YXP3WEE.js');
28
+ var _chunkFYADAA2Gjs = require('./chunk-FYADAA2G.js');
29
29
  require('./chunk-Z2XKIXLS.js');
30
30
 
31
31
 
@@ -54,5 +54,5 @@ require('./chunk-Z2XKIXLS.js');
54
54
 
55
55
 
56
56
 
57
- exports.CaveatAlreadyExistsError = _chunk4YXP3WEEjs.CaveatAlreadyExistsError; exports.CaveatDoesNotExistError = _chunk4YXP3WEEjs.CaveatDoesNotExistError; exports.CaveatInvalidJsonError = _chunk4YXP3WEEjs.CaveatInvalidJsonError; exports.CaveatMergeTypeMismatchError = _chunk4YXP3WEEjs.CaveatMergeTypeMismatchError; exports.CaveatMergerDoesNotExistError = _chunk4YXP3WEEjs.CaveatMergerDoesNotExistError; exports.CaveatMissingValueError = _chunk4YXP3WEEjs.CaveatMissingValueError; exports.CaveatSpecificationMismatchError = _chunk4YXP3WEEjs.CaveatSpecificationMismatchError; exports.DuplicateCaveatError = _chunk4YXP3WEEjs.DuplicateCaveatError; exports.EndowmentPermissionDoesNotExistError = _chunk4YXP3WEEjs.EndowmentPermissionDoesNotExistError; exports.ForbiddenCaveatError = _chunk4YXP3WEEjs.ForbiddenCaveatError; exports.InvalidApprovedPermissionError = _chunk4YXP3WEEjs.InvalidApprovedPermissionError; exports.InvalidCaveatError = _chunk4YXP3WEEjs.InvalidCaveatError; exports.InvalidCaveatFieldsError = _chunk4YXP3WEEjs.InvalidCaveatFieldsError; exports.InvalidCaveatTypeError = _chunk4YXP3WEEjs.InvalidCaveatTypeError; exports.InvalidCaveatsPropertyError = _chunk4YXP3WEEjs.InvalidCaveatsPropertyError; exports.InvalidMergedPermissionsError = _chunk4YXP3WEEjs.InvalidMergedPermissionsError; exports.InvalidSubjectIdentifierError = _chunk4YXP3WEEjs.InvalidSubjectIdentifierError; exports.PermissionDoesNotExistError = _chunk4YXP3WEEjs.PermissionDoesNotExistError; exports.PermissionsRequestNotFoundError = _chunk4YXP3WEEjs.PermissionsRequestNotFoundError; exports.UnrecognizedCaveatTypeError = _chunk4YXP3WEEjs.UnrecognizedCaveatTypeError; exports.UnrecognizedSubjectError = _chunk4YXP3WEEjs.UnrecognizedSubjectError; exports.internalError = _chunk4YXP3WEEjs.internalError; exports.invalidParams = _chunk4YXP3WEEjs.invalidParams; exports.methodNotFound = _chunk4YXP3WEEjs.methodNotFound; exports.unauthorized = _chunk4YXP3WEEjs.unauthorized; exports.userRejectedRequest = _chunk4YXP3WEEjs.userRejectedRequest;
57
+ exports.CaveatAlreadyExistsError = _chunkFYADAA2Gjs.CaveatAlreadyExistsError; exports.CaveatDoesNotExistError = _chunkFYADAA2Gjs.CaveatDoesNotExistError; exports.CaveatInvalidJsonError = _chunkFYADAA2Gjs.CaveatInvalidJsonError; exports.CaveatMergeTypeMismatchError = _chunkFYADAA2Gjs.CaveatMergeTypeMismatchError; exports.CaveatMergerDoesNotExistError = _chunkFYADAA2Gjs.CaveatMergerDoesNotExistError; exports.CaveatMissingValueError = _chunkFYADAA2Gjs.CaveatMissingValueError; exports.CaveatSpecificationMismatchError = _chunkFYADAA2Gjs.CaveatSpecificationMismatchError; exports.DuplicateCaveatError = _chunkFYADAA2Gjs.DuplicateCaveatError; exports.EndowmentPermissionDoesNotExistError = _chunkFYADAA2Gjs.EndowmentPermissionDoesNotExistError; exports.ForbiddenCaveatError = _chunkFYADAA2Gjs.ForbiddenCaveatError; exports.InvalidApprovedPermissionError = _chunkFYADAA2Gjs.InvalidApprovedPermissionError; exports.InvalidCaveatError = _chunkFYADAA2Gjs.InvalidCaveatError; exports.InvalidCaveatFieldsError = _chunkFYADAA2Gjs.InvalidCaveatFieldsError; exports.InvalidCaveatTypeError = _chunkFYADAA2Gjs.InvalidCaveatTypeError; exports.InvalidCaveatsPropertyError = _chunkFYADAA2Gjs.InvalidCaveatsPropertyError; exports.InvalidMergedPermissionsError = _chunkFYADAA2Gjs.InvalidMergedPermissionsError; exports.InvalidSubjectIdentifierError = _chunkFYADAA2Gjs.InvalidSubjectIdentifierError; exports.PermissionDoesNotExistError = _chunkFYADAA2Gjs.PermissionDoesNotExistError; exports.PermissionsRequestNotFoundError = _chunkFYADAA2Gjs.PermissionsRequestNotFoundError; exports.UnrecognizedCaveatTypeError = _chunkFYADAA2Gjs.UnrecognizedCaveatTypeError; exports.UnrecognizedSubjectError = _chunkFYADAA2Gjs.UnrecognizedSubjectError; exports.internalError = _chunkFYADAA2Gjs.internalError; exports.invalidParams = _chunkFYADAA2Gjs.invalidParams; exports.methodNotFound = _chunkFYADAA2Gjs.methodNotFound; exports.unauthorized = _chunkFYADAA2Gjs.unauthorized; exports.userRejectedRequest = _chunkFYADAA2Gjs.userRejectedRequest;
58
58
  //# sourceMappingURL=errors.js.map
package/dist/errors.mjs CHANGED
@@ -25,7 +25,7 @@ import {
25
25
  methodNotFound,
26
26
  unauthorized,
27
27
  userRejectedRequest
28
- } from "./chunk-VHHS2FJX.mjs";
28
+ } from "./chunk-G4BWJ7EA.mjs";
29
29
  import "./chunk-2L4QPE5A.mjs";
30
30
  export {
31
31
  CaveatAlreadyExistsError,
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkAQ46ICF5js = require('./chunk-AQ46ICF5.js');
4
- require('./chunk-HRDKMOYS.js');
5
- require('./chunk-HZPWUOQB.js');
6
- require('./chunk-6UCIDD5V.js');
3
+ var _chunk6PXDVUYMjs = require('./chunk-6PXDVUYM.js');
4
+ require('./chunk-VBIZGGQL.js');
5
+ require('./chunk-7A3VYLCK.js');
6
+ require('./chunk-X4ZAW4QR.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkR56CBYD3js = require('./chunk-R56CBYD3.js');
10
+ var _chunkB6PDRQ7Njs = require('./chunk-B6PDRQ7N.js');
11
11
 
12
12
 
13
13
 
14
- var _chunkD7PWCWCCjs = require('./chunk-D7PWCWCC.js');
14
+ var _chunk3YOPLPVYjs = require('./chunk-3YOPLPVY.js');
15
15
 
16
16
 
17
17
 
@@ -21,8 +21,8 @@ var _chunkZH4MLSXXjs = require('./chunk-ZH4MLSXX.js');
21
21
 
22
22
 
23
23
 
24
- var _chunkIPKS33XAjs = require('./chunk-IPKS33XA.js');
25
- require('./chunk-M5GM7UFU.js');
24
+ var _chunkVSDHL2GQjs = require('./chunk-VSDHL2GQ.js');
25
+ require('./chunk-F5TBMVWC.js');
26
26
 
27
27
 
28
28
 
@@ -50,10 +50,10 @@ require('./chunk-M5GM7UFU.js');
50
50
 
51
51
 
52
52
 
53
- var _chunk4YXP3WEEjs = require('./chunk-4YXP3WEE.js');
53
+ var _chunkFYADAA2Gjs = require('./chunk-FYADAA2G.js');
54
54
 
55
55
 
56
- var _chunkTAK6LXU6js = require('./chunk-TAK6LXU6.js');
56
+ var _chunkVQPP5PWSjs = require('./chunk-VQPP5PWS.js');
57
57
  require('./chunk-Z2XKIXLS.js');
58
58
 
59
59
 
@@ -94,5 +94,5 @@ require('./chunk-Z2XKIXLS.js');
94
94
 
95
95
 
96
96
 
97
- exports.CaveatAlreadyExistsError = _chunk4YXP3WEEjs.CaveatAlreadyExistsError; exports.CaveatDoesNotExistError = _chunk4YXP3WEEjs.CaveatDoesNotExistError; exports.CaveatInvalidJsonError = _chunk4YXP3WEEjs.CaveatInvalidJsonError; exports.CaveatMergeTypeMismatchError = _chunk4YXP3WEEjs.CaveatMergeTypeMismatchError; exports.CaveatMergerDoesNotExistError = _chunk4YXP3WEEjs.CaveatMergerDoesNotExistError; exports.CaveatMissingValueError = _chunk4YXP3WEEjs.CaveatMissingValueError; exports.CaveatMutatorOperation = _chunkR56CBYD3js.CaveatMutatorOperation; exports.CaveatSpecificationMismatchError = _chunk4YXP3WEEjs.CaveatSpecificationMismatchError; exports.DuplicateCaveatError = _chunk4YXP3WEEjs.DuplicateCaveatError; exports.EndowmentPermissionDoesNotExistError = _chunk4YXP3WEEjs.EndowmentPermissionDoesNotExistError; exports.ForbiddenCaveatError = _chunk4YXP3WEEjs.ForbiddenCaveatError; exports.InvalidApprovedPermissionError = _chunk4YXP3WEEjs.InvalidApprovedPermissionError; exports.InvalidCaveatError = _chunk4YXP3WEEjs.InvalidCaveatError; exports.InvalidCaveatFieldsError = _chunk4YXP3WEEjs.InvalidCaveatFieldsError; exports.InvalidCaveatTypeError = _chunk4YXP3WEEjs.InvalidCaveatTypeError; exports.InvalidCaveatsPropertyError = _chunk4YXP3WEEjs.InvalidCaveatsPropertyError; exports.InvalidMergedPermissionsError = _chunk4YXP3WEEjs.InvalidMergedPermissionsError; exports.InvalidSubjectIdentifierError = _chunk4YXP3WEEjs.InvalidSubjectIdentifierError; exports.MethodNames = _chunkTAK6LXU6js.MethodNames; exports.PermissionController = _chunkR56CBYD3js.PermissionController; exports.PermissionDoesNotExistError = _chunk4YXP3WEEjs.PermissionDoesNotExistError; exports.PermissionType = _chunkZH4MLSXXjs.PermissionType; exports.PermissionsRequestNotFoundError = _chunk4YXP3WEEjs.PermissionsRequestNotFoundError; exports.SubjectMetadataController = _chunkIPKS33XAjs.SubjectMetadataController; exports.SubjectType = _chunkIPKS33XAjs.SubjectType; exports.UnrecognizedCaveatTypeError = _chunk4YXP3WEEjs.UnrecognizedCaveatTypeError; exports.UnrecognizedSubjectError = _chunk4YXP3WEEjs.UnrecognizedSubjectError; exports.constructPermission = _chunkZH4MLSXXjs.constructPermission; exports.decorateWithCaveats = _chunkD7PWCWCCjs.decorateWithCaveats; exports.findCaveat = _chunkZH4MLSXXjs.findCaveat; exports.hasSpecificationType = _chunkZH4MLSXXjs.hasSpecificationType; exports.internalError = _chunk4YXP3WEEjs.internalError; exports.invalidParams = _chunk4YXP3WEEjs.invalidParams; exports.isRestrictedMethodCaveatSpecification = _chunkD7PWCWCCjs.isRestrictedMethodCaveatSpecification; exports.methodNotFound = _chunk4YXP3WEEjs.methodNotFound; exports.permissionRpcMethods = _chunkAQ46ICF5js.rpc_methods_exports; exports.unauthorized = _chunk4YXP3WEEjs.unauthorized; exports.userRejectedRequest = _chunk4YXP3WEEjs.userRejectedRequest;
97
+ exports.CaveatAlreadyExistsError = _chunkFYADAA2Gjs.CaveatAlreadyExistsError; exports.CaveatDoesNotExistError = _chunkFYADAA2Gjs.CaveatDoesNotExistError; exports.CaveatInvalidJsonError = _chunkFYADAA2Gjs.CaveatInvalidJsonError; exports.CaveatMergeTypeMismatchError = _chunkFYADAA2Gjs.CaveatMergeTypeMismatchError; exports.CaveatMergerDoesNotExistError = _chunkFYADAA2Gjs.CaveatMergerDoesNotExistError; exports.CaveatMissingValueError = _chunkFYADAA2Gjs.CaveatMissingValueError; exports.CaveatMutatorOperation = _chunkB6PDRQ7Njs.CaveatMutatorOperation; exports.CaveatSpecificationMismatchError = _chunkFYADAA2Gjs.CaveatSpecificationMismatchError; exports.DuplicateCaveatError = _chunkFYADAA2Gjs.DuplicateCaveatError; exports.EndowmentPermissionDoesNotExistError = _chunkFYADAA2Gjs.EndowmentPermissionDoesNotExistError; exports.ForbiddenCaveatError = _chunkFYADAA2Gjs.ForbiddenCaveatError; exports.InvalidApprovedPermissionError = _chunkFYADAA2Gjs.InvalidApprovedPermissionError; exports.InvalidCaveatError = _chunkFYADAA2Gjs.InvalidCaveatError; exports.InvalidCaveatFieldsError = _chunkFYADAA2Gjs.InvalidCaveatFieldsError; exports.InvalidCaveatTypeError = _chunkFYADAA2Gjs.InvalidCaveatTypeError; exports.InvalidCaveatsPropertyError = _chunkFYADAA2Gjs.InvalidCaveatsPropertyError; exports.InvalidMergedPermissionsError = _chunkFYADAA2Gjs.InvalidMergedPermissionsError; exports.InvalidSubjectIdentifierError = _chunkFYADAA2Gjs.InvalidSubjectIdentifierError; exports.MethodNames = _chunkVQPP5PWSjs.MethodNames; exports.PermissionController = _chunkB6PDRQ7Njs.PermissionController; exports.PermissionDoesNotExistError = _chunkFYADAA2Gjs.PermissionDoesNotExistError; exports.PermissionType = _chunkZH4MLSXXjs.PermissionType; exports.PermissionsRequestNotFoundError = _chunkFYADAA2Gjs.PermissionsRequestNotFoundError; exports.SubjectMetadataController = _chunkVSDHL2GQjs.SubjectMetadataController; exports.SubjectType = _chunkVSDHL2GQjs.SubjectType; exports.UnrecognizedCaveatTypeError = _chunkFYADAA2Gjs.UnrecognizedCaveatTypeError; exports.UnrecognizedSubjectError = _chunkFYADAA2Gjs.UnrecognizedSubjectError; exports.constructPermission = _chunkZH4MLSXXjs.constructPermission; exports.decorateWithCaveats = _chunk3YOPLPVYjs.decorateWithCaveats; exports.findCaveat = _chunkZH4MLSXXjs.findCaveat; exports.hasSpecificationType = _chunkZH4MLSXXjs.hasSpecificationType; exports.internalError = _chunkFYADAA2Gjs.internalError; exports.invalidParams = _chunkFYADAA2Gjs.invalidParams; exports.isRestrictedMethodCaveatSpecification = _chunk3YOPLPVYjs.isRestrictedMethodCaveatSpecification; exports.methodNotFound = _chunkFYADAA2Gjs.methodNotFound; exports.permissionRpcMethods = _chunk6PXDVUYMjs.rpc_methods_exports; exports.unauthorized = _chunkFYADAA2Gjs.unauthorized; exports.userRejectedRequest = _chunkFYADAA2Gjs.userRejectedRequest;
98
98
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  rpc_methods_exports
3
- } from "./chunk-NOB77ENO.mjs";
4
- import "./chunk-73M67Z5X.mjs";
5
- import "./chunk-SKKQZ5E6.mjs";
6
- import "./chunk-FVYYHAVF.mjs";
3
+ } from "./chunk-4FMYQC3Y.mjs";
4
+ import "./chunk-5RFW5THA.mjs";
5
+ import "./chunk-OCLNDUYO.mjs";
6
+ import "./chunk-74H4CVH7.mjs";
7
7
  import {
8
8
  CaveatMutatorOperation,
9
9
  PermissionController
10
- } from "./chunk-7WEYLBME.mjs";
10
+ } from "./chunk-COGJLF22.mjs";
11
11
  import {
12
12
  decorateWithCaveats,
13
13
  isRestrictedMethodCaveatSpecification
14
- } from "./chunk-6V5UTS24.mjs";
14
+ } from "./chunk-3WWJKO7P.mjs";
15
15
  import {
16
16
  PermissionType,
17
17
  constructPermission,
@@ -21,8 +21,8 @@ import {
21
21
  import {
22
22
  SubjectMetadataController,
23
23
  SubjectType
24
- } from "./chunk-SPOFDHOW.mjs";
25
- import "./chunk-5NYMBY4A.mjs";
24
+ } from "./chunk-42QSJHWO.mjs";
25
+ import "./chunk-I62TTXZ6.mjs";
26
26
  import {
27
27
  CaveatAlreadyExistsError,
28
28
  CaveatDoesNotExistError,
@@ -50,10 +50,10 @@ import {
50
50
  methodNotFound,
51
51
  unauthorized,
52
52
  userRejectedRequest
53
- } from "./chunk-VHHS2FJX.mjs";
53
+ } from "./chunk-G4BWJ7EA.mjs";
54
54
  import {
55
55
  MethodNames
56
- } from "./chunk-ZTBBRCDR.mjs";
56
+ } from "./chunk-4NAVRO44.mjs";
57
57
  import "./chunk-2L4QPE5A.mjs";
58
58
  export {
59
59
  CaveatAlreadyExistsError,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkM5GM7UFUjs = require('./chunk-M5GM7UFU.js');
4
- require('./chunk-4YXP3WEE.js');
3
+ var _chunkF5TBMVWCjs = require('./chunk-F5TBMVWC.js');
4
+ require('./chunk-FYADAA2G.js');
5
5
  require('./chunk-Z2XKIXLS.js');
6
6
 
7
7
 
8
- exports.getPermissionMiddlewareFactory = _chunkM5GM7UFUjs.getPermissionMiddlewareFactory;
8
+ exports.getPermissionMiddlewareFactory = _chunkF5TBMVWCjs.getPermissionMiddlewareFactory;
9
9
  //# sourceMappingURL=permission-middleware.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPermissionMiddlewareFactory
3
- } from "./chunk-5NYMBY4A.mjs";
4
- import "./chunk-VHHS2FJX.mjs";
3
+ } from "./chunk-I62TTXZ6.mjs";
4
+ import "./chunk-G4BWJ7EA.mjs";
5
5
  import "./chunk-2L4QPE5A.mjs";
6
6
  export {
7
7
  getPermissionMiddlewareFactory
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkHRDKMOYSjs = require('../chunk-HRDKMOYS.js');
4
- require('../chunk-TAK6LXU6.js');
3
+ var _chunkVBIZGGQLjs = require('../chunk-VBIZGGQL.js');
4
+ require('../chunk-VQPP5PWS.js');
5
5
  require('../chunk-Z2XKIXLS.js');
6
6
 
7
7
 
8
- exports.getPermissionsHandler = _chunkHRDKMOYSjs.getPermissionsHandler;
8
+ exports.getPermissionsHandler = _chunkVBIZGGQLjs.getPermissionsHandler;
9
9
  //# sourceMappingURL=getPermissions.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPermissionsHandler
3
- } from "../chunk-73M67Z5X.mjs";
4
- import "../chunk-ZTBBRCDR.mjs";
3
+ } from "../chunk-5RFW5THA.mjs";
4
+ import "../chunk-4NAVRO44.mjs";
5
5
  import "../chunk-2L4QPE5A.mjs";
6
6
  export {
7
7
  getPermissionsHandler
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkAQ46ICF5js = require('../chunk-AQ46ICF5.js');
4
- require('../chunk-HRDKMOYS.js');
5
- require('../chunk-HZPWUOQB.js');
6
- require('../chunk-6UCIDD5V.js');
7
- require('../chunk-4YXP3WEE.js');
8
- require('../chunk-TAK6LXU6.js');
3
+ var _chunk6PXDVUYMjs = require('../chunk-6PXDVUYM.js');
4
+ require('../chunk-VBIZGGQL.js');
5
+ require('../chunk-7A3VYLCK.js');
6
+ require('../chunk-X4ZAW4QR.js');
7
+ require('../chunk-FYADAA2G.js');
8
+ require('../chunk-VQPP5PWS.js');
9
9
  require('../chunk-Z2XKIXLS.js');
10
10
 
11
11
 
12
- exports.handlers = _chunkAQ46ICF5js.handlers;
12
+ exports.handlers = _chunk6PXDVUYMjs.handlers;
13
13
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  handlers
3
- } from "../chunk-NOB77ENO.mjs";
4
- import "../chunk-73M67Z5X.mjs";
5
- import "../chunk-SKKQZ5E6.mjs";
6
- import "../chunk-FVYYHAVF.mjs";
7
- import "../chunk-VHHS2FJX.mjs";
8
- import "../chunk-ZTBBRCDR.mjs";
3
+ } from "../chunk-4FMYQC3Y.mjs";
4
+ import "../chunk-5RFW5THA.mjs";
5
+ import "../chunk-OCLNDUYO.mjs";
6
+ import "../chunk-74H4CVH7.mjs";
7
+ import "../chunk-G4BWJ7EA.mjs";
8
+ import "../chunk-4NAVRO44.mjs";
9
9
  import "../chunk-2L4QPE5A.mjs";
10
10
  export {
11
11
  handlers
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkHZPWUOQBjs = require('../chunk-HZPWUOQB.js');
4
- require('../chunk-4YXP3WEE.js');
5
- require('../chunk-TAK6LXU6.js');
3
+ var _chunk7A3VYLCKjs = require('../chunk-7A3VYLCK.js');
4
+ require('../chunk-FYADAA2G.js');
5
+ require('../chunk-VQPP5PWS.js');
6
6
  require('../chunk-Z2XKIXLS.js');
7
7
 
8
8
 
9
- exports.requestPermissionsHandler = _chunkHZPWUOQBjs.requestPermissionsHandler;
9
+ exports.requestPermissionsHandler = _chunk7A3VYLCKjs.requestPermissionsHandler;
10
10
  //# sourceMappingURL=requestPermissions.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  requestPermissionsHandler
3
- } from "../chunk-SKKQZ5E6.mjs";
4
- import "../chunk-VHHS2FJX.mjs";
5
- import "../chunk-ZTBBRCDR.mjs";
3
+ } from "../chunk-OCLNDUYO.mjs";
4
+ import "../chunk-G4BWJ7EA.mjs";
5
+ import "../chunk-4NAVRO44.mjs";
6
6
  import "../chunk-2L4QPE5A.mjs";
7
7
  export {
8
8
  requestPermissionsHandler
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk6UCIDD5Vjs = require('../chunk-6UCIDD5V.js');
4
- require('../chunk-4YXP3WEE.js');
5
- require('../chunk-TAK6LXU6.js');
3
+ var _chunkX4ZAW4QRjs = require('../chunk-X4ZAW4QR.js');
4
+ require('../chunk-FYADAA2G.js');
5
+ require('../chunk-VQPP5PWS.js');
6
6
  require('../chunk-Z2XKIXLS.js');
7
7
 
8
8
 
9
- exports.revokePermissionsHandler = _chunk6UCIDD5Vjs.revokePermissionsHandler;
9
+ exports.revokePermissionsHandler = _chunkX4ZAW4QRjs.revokePermissionsHandler;
10
10
  //# sourceMappingURL=revokePermissions.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  revokePermissionsHandler
3
- } from "../chunk-FVYYHAVF.mjs";
4
- import "../chunk-VHHS2FJX.mjs";
5
- import "../chunk-ZTBBRCDR.mjs";
3
+ } from "../chunk-74H4CVH7.mjs";
4
+ import "../chunk-G4BWJ7EA.mjs";
5
+ import "../chunk-4NAVRO44.mjs";
6
6
  import "../chunk-2L4QPE5A.mjs";
7
7
  export {
8
8
  revokePermissionsHandler