@metamask-previews/gator-permissions-controller 0.1.0-preview-463efec → 0.1.0-preview-9873b6ef

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 (64) hide show
  1. package/CHANGELOG.md +0 -2
  2. package/dist/GatorPermissionsController.cjs +1 -68
  3. package/dist/GatorPermissionsController.cjs.map +1 -1
  4. package/dist/GatorPermissionsController.d.cts +2 -41
  5. package/dist/GatorPermissionsController.d.cts.map +1 -1
  6. package/dist/GatorPermissionsController.d.mts +2 -41
  7. package/dist/GatorPermissionsController.d.mts.map +1 -1
  8. package/dist/GatorPermissionsController.mjs +1 -68
  9. package/dist/GatorPermissionsController.mjs.map +1 -1
  10. package/dist/errors.cjs +1 -22
  11. package/dist/errors.cjs.map +1 -1
  12. package/dist/errors.d.cts +0 -10
  13. package/dist/errors.d.cts.map +1 -1
  14. package/dist/errors.d.mts +0 -10
  15. package/dist/errors.d.mts.map +1 -1
  16. package/dist/errors.mjs +0 -19
  17. package/dist/errors.mjs.map +1 -1
  18. package/dist/index.cjs.map +1 -1
  19. package/dist/index.d.cts +1 -2
  20. package/dist/index.d.cts.map +1 -1
  21. package/dist/index.d.mts +1 -2
  22. package/dist/index.d.mts.map +1 -1
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/types.cjs +0 -2
  25. package/dist/types.cjs.map +1 -1
  26. package/dist/types.d.cts +1 -8
  27. package/dist/types.d.cts.map +1 -1
  28. package/dist/types.d.mts +1 -8
  29. package/dist/types.d.mts.map +1 -1
  30. package/dist/types.mjs +0 -2
  31. package/dist/types.mjs.map +1 -1
  32. package/package.json +2 -4
  33. package/dist/decodePermission/decodePermission.cjs +0 -196
  34. package/dist/decodePermission/decodePermission.cjs.map +0 -1
  35. package/dist/decodePermission/decodePermission.d.cts +0 -87
  36. package/dist/decodePermission/decodePermission.d.cts.map +0 -1
  37. package/dist/decodePermission/decodePermission.d.mts +0 -87
  38. package/dist/decodePermission/decodePermission.d.mts.map +0 -1
  39. package/dist/decodePermission/decodePermission.mjs +0 -190
  40. package/dist/decodePermission/decodePermission.mjs.map +0 -1
  41. package/dist/decodePermission/index.cjs +0 -8
  42. package/dist/decodePermission/index.cjs.map +0 -1
  43. package/dist/decodePermission/index.d.cts +0 -3
  44. package/dist/decodePermission/index.d.cts.map +0 -1
  45. package/dist/decodePermission/index.d.mts +0 -3
  46. package/dist/decodePermission/index.d.mts.map +0 -1
  47. package/dist/decodePermission/index.mjs +0 -2
  48. package/dist/decodePermission/index.mjs.map +0 -1
  49. package/dist/decodePermission/types.cjs +0 -3
  50. package/dist/decodePermission/types.cjs.map +0 -1
  51. package/dist/decodePermission/types.d.cts +0 -23
  52. package/dist/decodePermission/types.d.cts.map +0 -1
  53. package/dist/decodePermission/types.d.mts +0 -23
  54. package/dist/decodePermission/types.d.mts.map +0 -1
  55. package/dist/decodePermission/types.mjs +0 -2
  56. package/dist/decodePermission/types.mjs.map +0 -1
  57. package/dist/decodePermission/utils.cjs +0 -181
  58. package/dist/decodePermission/utils.cjs.map +0 -1
  59. package/dist/decodePermission/utils.d.cts +0 -83
  60. package/dist/decodePermission/utils.d.cts.map +0 -1
  61. package/dist/decodePermission/utils.d.mts +0 -83
  62. package/dist/decodePermission/utils.d.mts.map +0 -1
  63. package/dist/decodePermission/utils.mjs +0 -173
  64. package/dist/decodePermission/utils.mjs.map +0 -1
package/dist/errors.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PermissionDecodingError = exports.OriginNotAllowedError = exports.GatorPermissionsProviderError = exports.GatorPermissionsNotEnabledError = exports.GatorPermissionsMapSerializationError = exports.GatorPermissionsFetchError = exports.GatorPermissionsControllerError = void 0;
3
+ exports.GatorPermissionsProviderError = exports.GatorPermissionsNotEnabledError = exports.GatorPermissionsMapSerializationError = exports.GatorPermissionsFetchError = exports.GatorPermissionsControllerError = void 0;
4
4
  const types_1 = require("./types.cjs");
5
5
  class GatorPermissionsControllerError extends Error {
6
6
  constructor({ cause, message, code }) {
@@ -51,25 +51,4 @@ class GatorPermissionsProviderError extends GatorPermissionsControllerError {
51
51
  }
52
52
  }
53
53
  exports.GatorPermissionsProviderError = GatorPermissionsProviderError;
54
- class OriginNotAllowedError extends GatorPermissionsControllerError {
55
- constructor({ origin }) {
56
- const message = `Origin ${origin} not allowed`;
57
- super({
58
- cause: new Error(message),
59
- message,
60
- code: types_1.GatorPermissionsControllerErrorCode.OriginNotAllowedError,
61
- });
62
- }
63
- }
64
- exports.OriginNotAllowedError = OriginNotAllowedError;
65
- class PermissionDecodingError extends GatorPermissionsControllerError {
66
- constructor({ cause }) {
67
- super({
68
- cause,
69
- message: `Failed to decode permission`,
70
- code: types_1.GatorPermissionsControllerErrorCode.PermissionDecodingError,
71
- });
72
- }
73
- }
74
- exports.PermissionDecodingError = PermissionDecodingError;
75
54
  //# sourceMappingURL=errors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AACA,uCAA8D;AAW9D,MAAa,+BAAgC,SAAQ,KAAK;IAKxD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAA+B;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAXD,0EAWC;AAED,MAAa,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAqC;QAC/D,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,2CAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AARD,gEAQC;AAED,MAAa,qCAAsC,SAAQ,+BAA+B;IAGxF,YAAY,EACV,KAAK,EACL,OAAO,EACP,IAAI,GAKL;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,2CAAmC,CAAC,qCAAqC;SAChF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AApBD,sFAoBC;AAED,MAAa,+BAAgC,SAAQ,+BAA+B;IAClF;QACE,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC;YACrD,OAAO,EAAE,mCAAmC;YAC5C,IAAI,EAAE,2CAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AARD,0EAQC;AAED,MAAa,6BAA8B,SAAQ,+BAA+B;IAChF,YAAY,EACV,KAAK,EACL,MAAM,GAIP;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,0EAA0E,MAAM,EAAE;YAC3F,IAAI,EAAE,2CAAmC,CAAC,6BAA6B;SACxE,CAAC,CAAC;IACL,CAAC;CACF;AAdD,sEAcC;AAED,MAAa,qBAAsB,SAAQ,+BAA+B;IACxE,YAAY,EAAE,MAAM,EAAsB;QACxC,MAAM,OAAO,GAAG,UAAU,MAAM,cAAc,CAAC;QAE/C,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;YACzB,OAAO;YACP,IAAI,EAAE,2CAAmC,CAAC,qBAAqB;SAChE,CAAC,CAAC;IACL,CAAC;CACF;AAVD,sDAUC;AAED,MAAa,uBAAwB,SAAQ,+BAA+B;IAC1E,YAAY,EAAE,KAAK,EAAoB;QACrC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,6BAA6B;YACtC,IAAI,EAAE,2CAAmC,CAAC,uBAAuB;SAClE,CAAC,CAAC;IACL,CAAC;CACF;AARD,0DAQC","sourcesContent":["import type { GatorPermissionsSnapRpcMethod } from './types';\nimport { GatorPermissionsControllerErrorCode } from './types';\n\n/**\n * Represents a base gator permissions error.\n */\ntype GatorPermissionsErrorParams = {\n code: GatorPermissionsControllerErrorCode;\n cause: Error;\n message: string;\n};\n\nexport class GatorPermissionsControllerError extends Error {\n code: GatorPermissionsControllerErrorCode;\n\n cause: Error;\n\n constructor({ cause, message, code }: GatorPermissionsErrorParams) {\n super(message);\n\n this.cause = cause;\n this.code = code;\n }\n}\n\nexport class GatorPermissionsFetchError extends GatorPermissionsControllerError {\n constructor({ cause, message }: { cause: Error; message: string }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsFetchError,\n });\n }\n}\n\nexport class GatorPermissionsMapSerializationError extends GatorPermissionsControllerError {\n data: unknown;\n\n constructor({\n cause,\n message,\n data,\n }: {\n cause: Error;\n message: string;\n data?: unknown;\n }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsMapSerializationError,\n });\n\n this.data = data;\n }\n}\n\nexport class GatorPermissionsNotEnabledError extends GatorPermissionsControllerError {\n constructor() {\n super({\n cause: new Error('Gator permissions are not enabled'),\n message: 'Gator permissions are not enabled',\n code: GatorPermissionsControllerErrorCode.GatorPermissionsNotEnabled,\n });\n }\n}\n\nexport class GatorPermissionsProviderError extends GatorPermissionsControllerError {\n constructor({\n cause,\n method,\n }: {\n cause: Error;\n method: GatorPermissionsSnapRpcMethod;\n }) {\n super({\n cause,\n message: `Failed to handle snap request to gator permissions provider for method ${method}`,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsProviderError,\n });\n }\n}\n\nexport class OriginNotAllowedError extends GatorPermissionsControllerError {\n constructor({ origin }: { origin: string }) {\n const message = `Origin ${origin} not allowed`;\n\n super({\n cause: new Error(message),\n message,\n code: GatorPermissionsControllerErrorCode.OriginNotAllowedError,\n });\n }\n}\n\nexport class PermissionDecodingError extends GatorPermissionsControllerError {\n constructor({ cause }: { cause: Error }) {\n super({\n cause,\n message: `Failed to decode permission`,\n code: GatorPermissionsControllerErrorCode.PermissionDecodingError,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"errors.cjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AACA,uCAA8D;AAW9D,MAAa,+BAAgC,SAAQ,KAAK;IAKxD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAA+B;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAXD,0EAWC;AAED,MAAa,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAqC;QAC/D,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,2CAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AARD,gEAQC;AAED,MAAa,qCAAsC,SAAQ,+BAA+B;IAGxF,YAAY,EACV,KAAK,EACL,OAAO,EACP,IAAI,GAKL;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,2CAAmC,CAAC,qCAAqC;SAChF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AApBD,sFAoBC;AAED,MAAa,+BAAgC,SAAQ,+BAA+B;IAClF;QACE,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC;YACrD,OAAO,EAAE,mCAAmC;YAC5C,IAAI,EAAE,2CAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AARD,0EAQC;AAED,MAAa,6BAA8B,SAAQ,+BAA+B;IAChF,YAAY,EACV,KAAK,EACL,MAAM,GAIP;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,0EAA0E,MAAM,EAAE;YAC3F,IAAI,EAAE,2CAAmC,CAAC,6BAA6B;SACxE,CAAC,CAAC;IACL,CAAC;CACF;AAdD,sEAcC","sourcesContent":["import type { GatorPermissionsSnapRpcMethod } from './types';\nimport { GatorPermissionsControllerErrorCode } from './types';\n\n/**\n * Represents a base gator permissions error.\n */\ntype GatorPermissionsErrorParams = {\n code: GatorPermissionsControllerErrorCode;\n cause: Error;\n message: string;\n};\n\nexport class GatorPermissionsControllerError extends Error {\n code: GatorPermissionsControllerErrorCode;\n\n cause: Error;\n\n constructor({ cause, message, code }: GatorPermissionsErrorParams) {\n super(message);\n\n this.cause = cause;\n this.code = code;\n }\n}\n\nexport class GatorPermissionsFetchError extends GatorPermissionsControllerError {\n constructor({ cause, message }: { cause: Error; message: string }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsFetchError,\n });\n }\n}\n\nexport class GatorPermissionsMapSerializationError extends GatorPermissionsControllerError {\n data: unknown;\n\n constructor({\n cause,\n message,\n data,\n }: {\n cause: Error;\n message: string;\n data?: unknown;\n }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsMapSerializationError,\n });\n\n this.data = data;\n }\n}\n\nexport class GatorPermissionsNotEnabledError extends GatorPermissionsControllerError {\n constructor() {\n super({\n cause: new Error('Gator permissions are not enabled'),\n message: 'Gator permissions are not enabled',\n code: GatorPermissionsControllerErrorCode.GatorPermissionsNotEnabled,\n });\n }\n}\n\nexport class GatorPermissionsProviderError extends GatorPermissionsControllerError {\n constructor({\n cause,\n method,\n }: {\n cause: Error;\n method: GatorPermissionsSnapRpcMethod;\n }) {\n super({\n cause,\n message: `Failed to handle snap request to gator permissions provider for method ${method}`,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsProviderError,\n });\n }\n}\n"]}
package/dist/errors.d.cts CHANGED
@@ -36,15 +36,5 @@ export declare class GatorPermissionsProviderError extends GatorPermissionsContr
36
36
  method: GatorPermissionsSnapRpcMethod;
37
37
  });
38
38
  }
39
- export declare class OriginNotAllowedError extends GatorPermissionsControllerError {
40
- constructor({ origin }: {
41
- origin: string;
42
- });
43
- }
44
- export declare class PermissionDecodingError extends GatorPermissionsControllerError {
45
- constructor({ cause }: {
46
- cause: Error;
47
- });
48
- }
49
39
  export {};
50
40
  //# sourceMappingURL=errors.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.cts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAgB;AAC7D,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAE9D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,IAAI,EAAE,mCAAmC,CAAC;IAE1C,KAAK,EAAE,KAAK,CAAC;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,2BAA2B;CAMlE;AAED,qBAAa,0BAA2B,SAAQ,+BAA+B;gBACjE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAOlE;AAED,qBAAa,qCAAsC,SAAQ,+BAA+B;IACxF,IAAI,EAAE,OAAO,CAAC;gBAEF,EACV,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;CASF;AAED,qBAAa,+BAAgC,SAAQ,+BAA+B;;CAQnF;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;gBACpE,EACV,KAAK,EACL,MAAM,GACP,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,6BAA6B,CAAC;KACvC;CAOF;AAED,qBAAa,qBAAsB,SAAQ,+BAA+B;gBAC5D,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAS3C;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;gBAC9D,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;CAOxC"}
1
+ {"version":3,"file":"errors.d.cts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAgB;AAC7D,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAE9D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,IAAI,EAAE,mCAAmC,CAAC;IAE1C,KAAK,EAAE,KAAK,CAAC;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,2BAA2B;CAMlE;AAED,qBAAa,0BAA2B,SAAQ,+BAA+B;gBACjE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAOlE;AAED,qBAAa,qCAAsC,SAAQ,+BAA+B;IACxF,IAAI,EAAE,OAAO,CAAC;gBAEF,EACV,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;CASF;AAED,qBAAa,+BAAgC,SAAQ,+BAA+B;;CAQnF;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;gBACpE,EACV,KAAK,EACL,MAAM,GACP,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,6BAA6B,CAAC;KACvC;CAOF"}
package/dist/errors.d.mts CHANGED
@@ -36,15 +36,5 @@ export declare class GatorPermissionsProviderError extends GatorPermissionsContr
36
36
  method: GatorPermissionsSnapRpcMethod;
37
37
  });
38
38
  }
39
- export declare class OriginNotAllowedError extends GatorPermissionsControllerError {
40
- constructor({ origin }: {
41
- origin: string;
42
- });
43
- }
44
- export declare class PermissionDecodingError extends GatorPermissionsControllerError {
45
- constructor({ cause }: {
46
- cause: Error;
47
- });
48
- }
49
39
  export {};
50
40
  //# sourceMappingURL=errors.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAgB;AAC7D,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAE9D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,IAAI,EAAE,mCAAmC,CAAC;IAE1C,KAAK,EAAE,KAAK,CAAC;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,2BAA2B;CAMlE;AAED,qBAAa,0BAA2B,SAAQ,+BAA+B;gBACjE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAOlE;AAED,qBAAa,qCAAsC,SAAQ,+BAA+B;IACxF,IAAI,EAAE,OAAO,CAAC;gBAEF,EACV,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;CASF;AAED,qBAAa,+BAAgC,SAAQ,+BAA+B;;CAQnF;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;gBACpE,EACV,KAAK,EACL,MAAM,GACP,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,6BAA6B,CAAC;KACvC;CAOF;AAED,qBAAa,qBAAsB,SAAQ,+BAA+B;gBAC5D,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAS3C;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;gBAC9D,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE;CAOxC"}
1
+ {"version":3,"file":"errors.d.mts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAgB;AAC7D,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAE9D;;GAEG;AACH,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,mCAAmC,CAAC;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,IAAI,EAAE,mCAAmC,CAAC;IAE1C,KAAK,EAAE,KAAK,CAAC;gBAED,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,2BAA2B;CAMlE;AAED,qBAAa,0BAA2B,SAAQ,+BAA+B;gBACjE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAOlE;AAED,qBAAa,qCAAsC,SAAQ,+BAA+B;IACxF,IAAI,EAAE,OAAO,CAAC;gBAEF,EACV,KAAK,EACL,OAAO,EACP,IAAI,GACL,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;CASF;AAED,qBAAa,+BAAgC,SAAQ,+BAA+B;;CAQnF;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;gBACpE,EACV,KAAK,EACL,MAAM,GACP,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,6BAA6B,CAAC;KACvC;CAOF"}
package/dist/errors.mjs CHANGED
@@ -43,23 +43,4 @@ export class GatorPermissionsProviderError extends GatorPermissionsControllerErr
43
43
  });
44
44
  }
45
45
  }
46
- export class OriginNotAllowedError extends GatorPermissionsControllerError {
47
- constructor({ origin }) {
48
- const message = `Origin ${origin} not allowed`;
49
- super({
50
- cause: new Error(message),
51
- message,
52
- code: GatorPermissionsControllerErrorCode.OriginNotAllowedError,
53
- });
54
- }
55
- }
56
- export class PermissionDecodingError extends GatorPermissionsControllerError {
57
- constructor({ cause }) {
58
- super({
59
- cause,
60
- message: `Failed to decode permission`,
61
- code: GatorPermissionsControllerErrorCode.PermissionDecodingError,
62
- });
63
- }
64
- }
65
46
  //# sourceMappingURL=errors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAW9D,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAKxD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAA+B;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAqC;QAC/D,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,mCAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,+BAA+B;IAGxF,YAAY,EACV,KAAK,EACL,OAAO,EACP,IAAI,GAKL;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,mCAAmC,CAAC,qCAAqC;SAChF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,+BAA+B;IAClF;QACE,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC;YACrD,OAAO,EAAE,mCAAmC;YAC5C,IAAI,EAAE,mCAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,+BAA+B;IAChF,YAAY,EACV,KAAK,EACL,MAAM,GAIP;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,0EAA0E,MAAM,EAAE;YAC3F,IAAI,EAAE,mCAAmC,CAAC,6BAA6B;SACxE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,+BAA+B;IACxE,YAAY,EAAE,MAAM,EAAsB;QACxC,MAAM,OAAO,GAAG,UAAU,MAAM,cAAc,CAAC;QAE/C,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;YACzB,OAAO;YACP,IAAI,EAAE,mCAAmC,CAAC,qBAAqB;SAChE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,+BAA+B;IAC1E,YAAY,EAAE,KAAK,EAAoB;QACrC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,6BAA6B;YACtC,IAAI,EAAE,mCAAmC,CAAC,uBAAuB;SAClE,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { GatorPermissionsSnapRpcMethod } from './types';\nimport { GatorPermissionsControllerErrorCode } from './types';\n\n/**\n * Represents a base gator permissions error.\n */\ntype GatorPermissionsErrorParams = {\n code: GatorPermissionsControllerErrorCode;\n cause: Error;\n message: string;\n};\n\nexport class GatorPermissionsControllerError extends Error {\n code: GatorPermissionsControllerErrorCode;\n\n cause: Error;\n\n constructor({ cause, message, code }: GatorPermissionsErrorParams) {\n super(message);\n\n this.cause = cause;\n this.code = code;\n }\n}\n\nexport class GatorPermissionsFetchError extends GatorPermissionsControllerError {\n constructor({ cause, message }: { cause: Error; message: string }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsFetchError,\n });\n }\n}\n\nexport class GatorPermissionsMapSerializationError extends GatorPermissionsControllerError {\n data: unknown;\n\n constructor({\n cause,\n message,\n data,\n }: {\n cause: Error;\n message: string;\n data?: unknown;\n }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsMapSerializationError,\n });\n\n this.data = data;\n }\n}\n\nexport class GatorPermissionsNotEnabledError extends GatorPermissionsControllerError {\n constructor() {\n super({\n cause: new Error('Gator permissions are not enabled'),\n message: 'Gator permissions are not enabled',\n code: GatorPermissionsControllerErrorCode.GatorPermissionsNotEnabled,\n });\n }\n}\n\nexport class GatorPermissionsProviderError extends GatorPermissionsControllerError {\n constructor({\n cause,\n method,\n }: {\n cause: Error;\n method: GatorPermissionsSnapRpcMethod;\n }) {\n super({\n cause,\n message: `Failed to handle snap request to gator permissions provider for method ${method}`,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsProviderError,\n });\n }\n}\n\nexport class OriginNotAllowedError extends GatorPermissionsControllerError {\n constructor({ origin }: { origin: string }) {\n const message = `Origin ${origin} not allowed`;\n\n super({\n cause: new Error(message),\n message,\n code: GatorPermissionsControllerErrorCode.OriginNotAllowedError,\n });\n }\n}\n\nexport class PermissionDecodingError extends GatorPermissionsControllerError {\n constructor({ cause }: { cause: Error }) {\n super({\n cause,\n message: `Failed to decode permission`,\n code: GatorPermissionsControllerErrorCode.PermissionDecodingError,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"errors.mjs","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,oBAAgB;AAW9D,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAKxD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAA+B;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,+BAA+B;IAC7E,YAAY,EAAE,KAAK,EAAE,OAAO,EAAqC;QAC/D,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,mCAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,+BAA+B;IAGxF,YAAY,EACV,KAAK,EACL,OAAO,EACP,IAAI,GAKL;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO;YACP,IAAI,EAAE,mCAAmC,CAAC,qCAAqC;SAChF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,+BAA+B;IAClF;QACE,KAAK,CAAC;YACJ,KAAK,EAAE,IAAI,KAAK,CAAC,mCAAmC,CAAC;YACrD,OAAO,EAAE,mCAAmC;YAC5C,IAAI,EAAE,mCAAmC,CAAC,0BAA0B;SACrE,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,+BAA+B;IAChF,YAAY,EACV,KAAK,EACL,MAAM,GAIP;QACC,KAAK,CAAC;YACJ,KAAK;YACL,OAAO,EAAE,0EAA0E,MAAM,EAAE;YAC3F,IAAI,EAAE,mCAAmC,CAAC,6BAA6B;SACxE,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import type { GatorPermissionsSnapRpcMethod } from './types';\nimport { GatorPermissionsControllerErrorCode } from './types';\n\n/**\n * Represents a base gator permissions error.\n */\ntype GatorPermissionsErrorParams = {\n code: GatorPermissionsControllerErrorCode;\n cause: Error;\n message: string;\n};\n\nexport class GatorPermissionsControllerError extends Error {\n code: GatorPermissionsControllerErrorCode;\n\n cause: Error;\n\n constructor({ cause, message, code }: GatorPermissionsErrorParams) {\n super(message);\n\n this.cause = cause;\n this.code = code;\n }\n}\n\nexport class GatorPermissionsFetchError extends GatorPermissionsControllerError {\n constructor({ cause, message }: { cause: Error; message: string }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsFetchError,\n });\n }\n}\n\nexport class GatorPermissionsMapSerializationError extends GatorPermissionsControllerError {\n data: unknown;\n\n constructor({\n cause,\n message,\n data,\n }: {\n cause: Error;\n message: string;\n data?: unknown;\n }) {\n super({\n cause,\n message,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsMapSerializationError,\n });\n\n this.data = data;\n }\n}\n\nexport class GatorPermissionsNotEnabledError extends GatorPermissionsControllerError {\n constructor() {\n super({\n cause: new Error('Gator permissions are not enabled'),\n message: 'Gator permissions are not enabled',\n code: GatorPermissionsControllerErrorCode.GatorPermissionsNotEnabled,\n });\n }\n}\n\nexport class GatorPermissionsProviderError extends GatorPermissionsControllerError {\n constructor({\n cause,\n method,\n }: {\n cause: Error;\n method: GatorPermissionsSnapRpcMethod;\n }) {\n super({\n cause,\n message: `Failed to handle snap request to gator permissions provider for method ${method}`,\n code: GatorPermissionsControllerErrorCode.GatorPermissionsProviderError,\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,qCAGiB;AAFf,qHAAA,4BAA4B,OAAA;AAC5B,uHAAA,8BAA8B,OAAA","sourcesContent":["export { default as GatorPermissionsController } from './GatorPermissionsController';\nexport {\n serializeGatorPermissionsMap,\n deserializeGatorPermissionsMap,\n} from './utils';\nexport type {\n GatorPermissionsControllerState,\n GatorPermissionsControllerMessenger,\n GatorPermissionsControllerGetStateAction,\n GatorPermissionsControllerDecodePermissionFromPermissionContextForOriginAction,\n GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction,\n GatorPermissionsControllerEnableGatorPermissionsAction,\n GatorPermissionsControllerDisableGatorPermissionsAction,\n GatorPermissionsControllerActions,\n GatorPermissionsControllerEvents,\n GatorPermissionsControllerStateChangeEvent,\n} from './GatorPermissionsController';\nexport type { DecodedPermission } from './decodePermission';\nexport type {\n GatorPermissionsControllerErrorCode,\n GatorPermissionsSnapRpcMethod,\n CustomPermission,\n PermissionTypesWithCustom,\n PermissionRequest,\n PermissionResponse,\n PermissionResponseSanitized,\n StoredGatorPermission,\n StoredGatorPermissionSanitized,\n GatorPermissionsMap,\n SupportedGatorPermissionType,\n GatorPermissionsMapByPermissionType,\n GatorPermissionsListByPermissionTypeAndChainId,\n} from './types';\n\nexport type {\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n AccountSigner,\n WalletSigner,\n Signer,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\n"]}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,+EAAqF;AAA5E,yJAAA,OAAO,OAA8B;AAC9C,qCAGiB;AAFf,qHAAA,4BAA4B,OAAA;AAC5B,uHAAA,8BAA8B,OAAA","sourcesContent":["export { default as GatorPermissionsController } from './GatorPermissionsController';\nexport {\n serializeGatorPermissionsMap,\n deserializeGatorPermissionsMap,\n} from './utils';\nexport type {\n GatorPermissionsControllerState,\n GatorPermissionsControllerMessenger,\n GatorPermissionsControllerGetStateAction,\n GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction,\n GatorPermissionsControllerEnableGatorPermissionsAction,\n GatorPermissionsControllerDisableGatorPermissionsAction,\n GatorPermissionsControllerActions,\n GatorPermissionsControllerEvents,\n GatorPermissionsControllerStateChangeEvent,\n} from './GatorPermissionsController';\nexport type {\n GatorPermissionsControllerErrorCode,\n GatorPermissionsSnapRpcMethod,\n CustomPermission,\n PermissionTypesWithCustom,\n PermissionRequest,\n PermissionResponse,\n PermissionResponseSanitized,\n StoredGatorPermission,\n StoredGatorPermissionSanitized,\n GatorPermissionsMap,\n SupportedGatorPermissionType,\n GatorPermissionsMapByPermissionType,\n GatorPermissionsListByPermissionTypeAndChainId,\n} from './types';\n\nexport type {\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n AccountSigner,\n WalletSigner,\n Signer,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\n"]}
package/dist/index.d.cts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { default as GatorPermissionsController } from "./GatorPermissionsController.cjs";
2
2
  export { serializeGatorPermissionsMap, deserializeGatorPermissionsMap, } from "./utils.cjs";
3
- export type { GatorPermissionsControllerState, GatorPermissionsControllerMessenger, GatorPermissionsControllerGetStateAction, GatorPermissionsControllerDecodePermissionFromPermissionContextForOriginAction, GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction, GatorPermissionsControllerEnableGatorPermissionsAction, GatorPermissionsControllerDisableGatorPermissionsAction, GatorPermissionsControllerActions, GatorPermissionsControllerEvents, GatorPermissionsControllerStateChangeEvent, } from "./GatorPermissionsController.cjs";
4
- export type { DecodedPermission } from "./decodePermission/index.cjs";
3
+ export type { GatorPermissionsControllerState, GatorPermissionsControllerMessenger, GatorPermissionsControllerGetStateAction, GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction, GatorPermissionsControllerEnableGatorPermissionsAction, GatorPermissionsControllerDisableGatorPermissionsAction, GatorPermissionsControllerActions, GatorPermissionsControllerEvents, GatorPermissionsControllerStateChangeEvent, } from "./GatorPermissionsController.cjs";
5
4
  export type { GatorPermissionsControllerErrorCode, GatorPermissionsSnapRpcMethod, CustomPermission, PermissionTypesWithCustom, PermissionRequest, PermissionResponse, PermissionResponseSanitized, StoredGatorPermission, StoredGatorPermissionSanitized, GatorPermissionsMap, SupportedGatorPermissionType, GatorPermissionsMapByPermissionType, GatorPermissionsListByPermissionTypeAndChainId, } from "./types.cjs";
6
5
  export type { NativeTokenStreamPermission, NativeTokenPeriodicPermission, Erc20TokenStreamPermission, Erc20TokenPeriodicPermission, AccountSigner, WalletSigner, Signer, MetaMaskBasePermissionData, } from "@metamask/7715-permission-types";
7
6
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,oBAAgB;AACjB,YAAY,EACV,+BAA+B,EAC/B,mCAAmC,EACnC,wCAAwC,EACxC,8EAA8E,EAC9E,8DAA8D,EAC9D,sDAAsD,EACtD,uDAAuD,EACvD,iCAAiC,EACjC,gCAAgC,EAChC,0CAA0C,GAC3C,yCAAqC;AACtC,YAAY,EAAE,iBAAiB,EAAE,qCAA2B;AAC5D,YAAY,EACV,mCAAmC,EACnC,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,GAC/C,oBAAgB;AAEjB,YAAY,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACZ,MAAM,EACN,0BAA0B,GAC3B,wCAAwC"}
1
+ {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,oBAAgB;AACjB,YAAY,EACV,+BAA+B,EAC/B,mCAAmC,EACnC,wCAAwC,EACxC,8DAA8D,EAC9D,sDAAsD,EACtD,uDAAuD,EACvD,iCAAiC,EACjC,gCAAgC,EAChC,0CAA0C,GAC3C,yCAAqC;AACtC,YAAY,EACV,mCAAmC,EACnC,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,GAC/C,oBAAgB;AAEjB,YAAY,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACZ,MAAM,EACN,0BAA0B,GAC3B,wCAAwC"}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { default as GatorPermissionsController } from "./GatorPermissionsController.mjs";
2
2
  export { serializeGatorPermissionsMap, deserializeGatorPermissionsMap, } from "./utils.mjs";
3
- export type { GatorPermissionsControllerState, GatorPermissionsControllerMessenger, GatorPermissionsControllerGetStateAction, GatorPermissionsControllerDecodePermissionFromPermissionContextForOriginAction, GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction, GatorPermissionsControllerEnableGatorPermissionsAction, GatorPermissionsControllerDisableGatorPermissionsAction, GatorPermissionsControllerActions, GatorPermissionsControllerEvents, GatorPermissionsControllerStateChangeEvent, } from "./GatorPermissionsController.mjs";
4
- export type { DecodedPermission } from "./decodePermission/index.mjs";
3
+ export type { GatorPermissionsControllerState, GatorPermissionsControllerMessenger, GatorPermissionsControllerGetStateAction, GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction, GatorPermissionsControllerEnableGatorPermissionsAction, GatorPermissionsControllerDisableGatorPermissionsAction, GatorPermissionsControllerActions, GatorPermissionsControllerEvents, GatorPermissionsControllerStateChangeEvent, } from "./GatorPermissionsController.mjs";
5
4
  export type { GatorPermissionsControllerErrorCode, GatorPermissionsSnapRpcMethod, CustomPermission, PermissionTypesWithCustom, PermissionRequest, PermissionResponse, PermissionResponseSanitized, StoredGatorPermission, StoredGatorPermissionSanitized, GatorPermissionsMap, SupportedGatorPermissionType, GatorPermissionsMapByPermissionType, GatorPermissionsListByPermissionTypeAndChainId, } from "./types.mjs";
6
5
  export type { NativeTokenStreamPermission, NativeTokenPeriodicPermission, Erc20TokenStreamPermission, Erc20TokenPeriodicPermission, AccountSigner, WalletSigner, Signer, MetaMaskBasePermissionData, } from "@metamask/7715-permission-types";
7
6
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,oBAAgB;AACjB,YAAY,EACV,+BAA+B,EAC/B,mCAAmC,EACnC,wCAAwC,EACxC,8EAA8E,EAC9E,8DAA8D,EAC9D,sDAAsD,EACtD,uDAAuD,EACvD,iCAAiC,EACjC,gCAAgC,EAChC,0CAA0C,GAC3C,yCAAqC;AACtC,YAAY,EAAE,iBAAiB,EAAE,qCAA2B;AAC5D,YAAY,EACV,mCAAmC,EACnC,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,GAC/C,oBAAgB;AAEjB,YAAY,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACZ,MAAM,EACN,0BAA0B,GAC3B,wCAAwC"}
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,GAC/B,oBAAgB;AACjB,YAAY,EACV,+BAA+B,EAC/B,mCAAmC,EACnC,wCAAwC,EACxC,8DAA8D,EAC9D,sDAAsD,EACtD,uDAAuD,EACvD,iCAAiC,EACjC,gCAAgC,EAChC,0CAA0C,GAC3C,yCAAqC;AACtC,YAAY,EACV,mCAAmC,EACnC,6BAA6B,EAC7B,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,mCAAmC,EACnC,8CAA8C,GAC/C,oBAAgB;AAEjB,YAAY,EACV,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,aAAa,EACb,YAAY,EACZ,MAAM,EACN,0BAA0B,GAC3B,wCAAwC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC/B,oBAAgB","sourcesContent":["export { default as GatorPermissionsController } from './GatorPermissionsController';\nexport {\n serializeGatorPermissionsMap,\n deserializeGatorPermissionsMap,\n} from './utils';\nexport type {\n GatorPermissionsControllerState,\n GatorPermissionsControllerMessenger,\n GatorPermissionsControllerGetStateAction,\n GatorPermissionsControllerDecodePermissionFromPermissionContextForOriginAction,\n GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction,\n GatorPermissionsControllerEnableGatorPermissionsAction,\n GatorPermissionsControllerDisableGatorPermissionsAction,\n GatorPermissionsControllerActions,\n GatorPermissionsControllerEvents,\n GatorPermissionsControllerStateChangeEvent,\n} from './GatorPermissionsController';\nexport type { DecodedPermission } from './decodePermission';\nexport type {\n GatorPermissionsControllerErrorCode,\n GatorPermissionsSnapRpcMethod,\n CustomPermission,\n PermissionTypesWithCustom,\n PermissionRequest,\n PermissionResponse,\n PermissionResponseSanitized,\n StoredGatorPermission,\n StoredGatorPermissionSanitized,\n GatorPermissionsMap,\n SupportedGatorPermissionType,\n GatorPermissionsMapByPermissionType,\n GatorPermissionsListByPermissionTypeAndChainId,\n} from './types';\n\nexport type {\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n AccountSigner,\n WalletSigner,\n Signer,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\n"]}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,yCAAqC;AACrF,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC/B,oBAAgB","sourcesContent":["export { default as GatorPermissionsController } from './GatorPermissionsController';\nexport {\n serializeGatorPermissionsMap,\n deserializeGatorPermissionsMap,\n} from './utils';\nexport type {\n GatorPermissionsControllerState,\n GatorPermissionsControllerMessenger,\n GatorPermissionsControllerGetStateAction,\n GatorPermissionsControllerFetchAndUpdateGatorPermissionsAction,\n GatorPermissionsControllerEnableGatorPermissionsAction,\n GatorPermissionsControllerDisableGatorPermissionsAction,\n GatorPermissionsControllerActions,\n GatorPermissionsControllerEvents,\n GatorPermissionsControllerStateChangeEvent,\n} from './GatorPermissionsController';\nexport type {\n GatorPermissionsControllerErrorCode,\n GatorPermissionsSnapRpcMethod,\n CustomPermission,\n PermissionTypesWithCustom,\n PermissionRequest,\n PermissionResponse,\n PermissionResponseSanitized,\n StoredGatorPermission,\n StoredGatorPermissionSanitized,\n GatorPermissionsMap,\n SupportedGatorPermissionType,\n GatorPermissionsMapByPermissionType,\n GatorPermissionsListByPermissionTypeAndChainId,\n} from './types';\n\nexport type {\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n AccountSigner,\n WalletSigner,\n Signer,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\n"]}
package/dist/types.cjs CHANGED
@@ -10,8 +10,6 @@ var GatorPermissionsControllerErrorCode;
10
10
  GatorPermissionsControllerErrorCode["GatorPermissionsNotEnabled"] = "gator-permissions-not-enabled";
11
11
  GatorPermissionsControllerErrorCode["GatorPermissionsProviderError"] = "gator-permissions-provider-error";
12
12
  GatorPermissionsControllerErrorCode["GatorPermissionsMapSerializationError"] = "gator-permissions-map-serialization-error";
13
- GatorPermissionsControllerErrorCode["PermissionDecodingError"] = "permission-decoding-error";
14
- GatorPermissionsControllerErrorCode["OriginNotAllowedError"] = "origin-not-allowed-error";
15
13
  })(GatorPermissionsControllerErrorCode || (exports.GatorPermissionsControllerErrorCode = GatorPermissionsControllerErrorCode = {}));
16
14
  /**
17
15
  * Enum for the RPC methods of the gator permissions provider snap.
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAcA;;GAEG;AACH,IAAY,mCAOX;AAPD,WAAY,mCAAmC;IAC7C,mGAA4D,CAAA;IAC5D,mGAA4D,CAAA;IAC5D,yGAAkE,CAAA;IAClE,0HAAmF,CAAA;IACnF,4FAAqD,CAAA;IACrD,yFAAkD,CAAA;AACpD,CAAC,EAPW,mCAAmC,mDAAnC,mCAAmC,QAO9C;AAED;;GAEG;AACH,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC;;OAEG;IACH,sHAAqF,CAAA;AACvF,CAAC,EALW,6BAA6B,6CAA7B,6BAA6B,QAKxC","sourcesContent":["import type {\n PermissionTypes,\n Signer,\n BasePermission,\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n Rule,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\nimport type { Delegation } from '@metamask/delegation-core';\nimport type { Hex } from '@metamask/utils';\n\n/**\n * Enum for the error codes of the gator permissions controller.\n */\nexport enum GatorPermissionsControllerErrorCode {\n GatorPermissionsFetchError = 'gator-permissions-fetch-error',\n GatorPermissionsNotEnabled = 'gator-permissions-not-enabled',\n GatorPermissionsProviderError = 'gator-permissions-provider-error',\n GatorPermissionsMapSerializationError = 'gator-permissions-map-serialization-error',\n PermissionDecodingError = 'permission-decoding-error',\n OriginNotAllowedError = 'origin-not-allowed-error',\n}\n\n/**\n * Enum for the RPC methods of the gator permissions provider snap.\n */\nexport enum GatorPermissionsSnapRpcMethod {\n /**\n * This method is used by the metamask to request a permissions provider to get granted permissions for all sites.\n */\n PermissionProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',\n}\n\n/**\n * Represents a custom permission that are not of the standard ERC-7715 permission types.\n */\nexport type CustomPermission = BasePermission & {\n type: 'custom';\n data: MetaMaskBasePermissionData & Record<string, unknown>;\n};\n\n/**\n * Represents the type of the ERC-7715 permissions that can be granted including custom permissions.\n */\nexport type PermissionTypesWithCustom = PermissionTypes | CustomPermission;\n\n/**\n * Represents a ERC-7715 permission request.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionRequest<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n /**\n * hex-encoding of uint256 defined the chain with EIP-155\n */\n chainId: Hex;\n\n /**\n *\n * The account being targeted for this permission request.\n * It is optional to let the user choose which account to grant permission from.\n */\n address?: Hex;\n\n /**\n * An account that is associated with the recipient of the granted 7715 permission or alternatively the wallet will manage the session.\n */\n signer: TSigner;\n\n /**\n * Defines the allowed behavior the signer can do on behalf of the account.\n */\n permission: TPermission;\n\n rules?: Rule[] | null;\n};\n\n/**\n * Represents a ERC-7715 permission response.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponse<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = PermissionRequest<TSigner, TPermission> & {\n /**\n * Is a catch-all to identify a permission for revoking permissions or submitting\n * Defined in ERC-7710.\n */\n context: Hex;\n\n /**\n * The dependencyInfo field is required and contains information needed to deploy accounts.\n * Each entry specifies a factory contract and its associated deployment data.\n * If no account deployment is needed when redeeming the permission, this array must be empty.\n * When non-empty, DApps MUST deploy the accounts by calling the factory contract with factoryData as the calldata.\n * Defined in ERC-4337.\n */\n dependencyInfo: {\n factory: Hex;\n factoryData: Hex;\n }[];\n\n /**\n * If the signer type is account then delegationManager is required as defined in ERC-7710.\n */\n signerMeta: {\n delegationManager: Hex;\n };\n};\n\n/**\n * Represents a sanitized version of the PermissionResponse type.\n * Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponseSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = Omit<\n PermissionResponse<TSigner, TPermission>,\n 'dependencyInfo' | 'signer' | 'rules'\n>;\n\n/**\n * Represents a gator ERC-7715 granted(ie. signed by an user account) permission entry that is stored in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided\n */\nexport type StoredGatorPermission<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponse<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a sanitized version of the StoredGatorPermission type. Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type StoredGatorPermissionSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponseSanitized<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a map of gator permissions by chainId and permission type.\n */\nexport type GatorPermissionsMap = {\n 'native-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenStreamPermission\n >[];\n };\n 'native-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenPeriodicPermission\n >[];\n };\n 'erc20-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenStreamPermission\n >[];\n };\n 'erc20-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenPeriodicPermission\n >[];\n };\n other: {\n [chainId: Hex]: StoredGatorPermissionSanitized<Signer, CustomPermission>[];\n };\n};\n\n/**\n * Represents the supported permission type(e.g. 'native-token-stream', 'native-token-periodic', 'erc20-token-stream', 'erc20-token-periodic') of the gator permissions map.\n */\nexport type SupportedGatorPermissionType = keyof GatorPermissionsMap;\n\n/**\n * Represents a map of gator permissions for a given permission type with key of chainId. The value being an array of gator permissions for that chainId.\n */\nexport type GatorPermissionsMapByPermissionType<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType];\n\n/**\n * Represents an array of gator permissions for a given permission type and chainId.\n */\nexport type GatorPermissionsListByPermissionTypeAndChainId<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType][Hex];\n\n/**\n * Represents the details of a delegation, that are required to decode a permission.\n */\nexport type DelegationDetails = Pick<\n Delegation<Hex>,\n 'caveats' | 'delegator' | 'delegate' | 'authority'\n>;\n"]}
1
+ {"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAaA;;GAEG;AACH,IAAY,mCAKX;AALD,WAAY,mCAAmC;IAC7C,mGAA4D,CAAA;IAC5D,mGAA4D,CAAA;IAC5D,yGAAkE,CAAA;IAClE,0HAAmF,CAAA;AACrF,CAAC,EALW,mCAAmC,mDAAnC,mCAAmC,QAK9C;AAED;;GAEG;AACH,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC;;OAEG;IACH,sHAAqF,CAAA;AACvF,CAAC,EALW,6BAA6B,6CAA7B,6BAA6B,QAKxC","sourcesContent":["import type {\n PermissionTypes,\n Signer,\n BasePermission,\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n Rule,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\nimport type { Hex } from '@metamask/utils';\n\n/**\n * Enum for the error codes of the gator permissions controller.\n */\nexport enum GatorPermissionsControllerErrorCode {\n GatorPermissionsFetchError = 'gator-permissions-fetch-error',\n GatorPermissionsNotEnabled = 'gator-permissions-not-enabled',\n GatorPermissionsProviderError = 'gator-permissions-provider-error',\n GatorPermissionsMapSerializationError = 'gator-permissions-map-serialization-error',\n}\n\n/**\n * Enum for the RPC methods of the gator permissions provider snap.\n */\nexport enum GatorPermissionsSnapRpcMethod {\n /**\n * This method is used by the metamask to request a permissions provider to get granted permissions for all sites.\n */\n PermissionProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',\n}\n\n/**\n * Represents a custom permission that are not of the standard ERC-7715 permission types.\n */\nexport type CustomPermission = BasePermission & {\n type: 'custom';\n data: MetaMaskBasePermissionData & Record<string, unknown>;\n};\n\n/**\n * Represents the type of the ERC-7715 permissions that can be granted including custom permissions.\n */\nexport type PermissionTypesWithCustom = PermissionTypes | CustomPermission;\n\n/**\n * Represents a ERC-7715 permission request.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionRequest<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n /**\n * hex-encoding of uint256 defined the chain with EIP-155\n */\n chainId: Hex;\n\n /**\n *\n * The account being targeted for this permission request.\n * It is optional to let the user choose which account to grant permission from.\n */\n address?: Hex;\n\n /**\n * An account that is associated with the recipient of the granted 7715 permission or alternatively the wallet will manage the session.\n */\n signer: TSigner;\n\n /**\n * Defines the allowed behavior the signer can do on behalf of the account.\n */\n permission: TPermission;\n\n rules?: Rule[] | null;\n};\n\n/**\n * Represents a ERC-7715 permission response.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponse<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = PermissionRequest<TSigner, TPermission> & {\n /**\n * Is a catch-all to identify a permission for revoking permissions or submitting\n * Defined in ERC-7710.\n */\n context: Hex;\n\n /**\n * The dependencyInfo field is required and contains information needed to deploy accounts.\n * Each entry specifies a factory contract and its associated deployment data.\n * If no account deployment is needed when redeeming the permission, this array must be empty.\n * When non-empty, DApps MUST deploy the accounts by calling the factory contract with factoryData as the calldata.\n * Defined in ERC-4337.\n */\n dependencyInfo: {\n factory: Hex;\n factoryData: Hex;\n }[];\n\n /**\n * If the signer type is account then delegationManager is required as defined in ERC-7710.\n */\n signerMeta: {\n delegationManager: Hex;\n };\n};\n\n/**\n * Represents a sanitized version of the PermissionResponse type.\n * Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponseSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = Omit<\n PermissionResponse<TSigner, TPermission>,\n 'dependencyInfo' | 'signer' | 'rules'\n>;\n\n/**\n * Represents a gator ERC-7715 granted(ie. signed by an user account) permission entry that is stored in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided\n */\nexport type StoredGatorPermission<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponse<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a sanitized version of the StoredGatorPermission type. Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type StoredGatorPermissionSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponseSanitized<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a map of gator permissions by chainId and permission type.\n */\nexport type GatorPermissionsMap = {\n 'native-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenStreamPermission\n >[];\n };\n 'native-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenPeriodicPermission\n >[];\n };\n 'erc20-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenStreamPermission\n >[];\n };\n 'erc20-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenPeriodicPermission\n >[];\n };\n other: {\n [chainId: Hex]: StoredGatorPermissionSanitized<Signer, CustomPermission>[];\n };\n};\n\n/**\n * Represents the supported permission type(e.g. 'native-token-stream', 'native-token-periodic', 'erc20-token-stream', 'erc20-token-periodic') of the gator permissions map.\n */\nexport type SupportedGatorPermissionType = keyof GatorPermissionsMap;\n\n/**\n * Represents a map of gator permissions for a given permission type with key of chainId. The value being an array of gator permissions for that chainId.\n */\nexport type GatorPermissionsMapByPermissionType<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType];\n\n/**\n * Represents an array of gator permissions for a given permission type and chainId.\n */\nexport type GatorPermissionsListByPermissionTypeAndChainId<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType][Hex];\n"]}
package/dist/types.d.cts CHANGED
@@ -1,5 +1,4 @@
1
1
  import type { PermissionTypes, Signer, BasePermission, NativeTokenStreamPermission, NativeTokenPeriodicPermission, Erc20TokenStreamPermission, Erc20TokenPeriodicPermission, Rule, MetaMaskBasePermissionData } from "@metamask/7715-permission-types";
2
- import type { Delegation } from "@metamask/delegation-core";
3
2
  import type { Hex } from "@metamask/utils";
4
3
  /**
5
4
  * Enum for the error codes of the gator permissions controller.
@@ -8,9 +7,7 @@ export declare enum GatorPermissionsControllerErrorCode {
8
7
  GatorPermissionsFetchError = "gator-permissions-fetch-error",
9
8
  GatorPermissionsNotEnabled = "gator-permissions-not-enabled",
10
9
  GatorPermissionsProviderError = "gator-permissions-provider-error",
11
- GatorPermissionsMapSerializationError = "gator-permissions-map-serialization-error",
12
- PermissionDecodingError = "permission-decoding-error",
13
- OriginNotAllowedError = "origin-not-allowed-error"
10
+ GatorPermissionsMapSerializationError = "gator-permissions-map-serialization-error"
14
11
  }
15
12
  /**
16
13
  * Enum for the RPC methods of the gator permissions provider snap.
@@ -149,8 +146,4 @@ export type GatorPermissionsMapByPermissionType<TPermissionType extends Supporte
149
146
  * Represents an array of gator permissions for a given permission type and chainId.
150
147
  */
151
148
  export type GatorPermissionsListByPermissionTypeAndChainId<TPermissionType extends SupportedGatorPermissionType> = GatorPermissionsMap[TPermissionType][Hex];
152
- /**
153
- * Represents the details of a delegation, that are required to decode a permission.
154
- */
155
- export type DelegationDetails = Pick<Delegation<Hex>, 'caveats' | 'delegator' | 'delegate' | 'authority'>;
156
149
  //# sourceMappingURL=types.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,4BAA4B,EAC5B,IAAI,EACJ,0BAA0B,EAC3B,wCAAwC;AACzC,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C;;GAEG;AACH,oBAAY,mCAAmC;IAC7C,0BAA0B,kCAAkC;IAC5D,0BAA0B,kCAAkC;IAC5D,6BAA6B,qCAAqC;IAClE,qCAAqC,8CAA8C;CACpF;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACvC;;OAEG;IACH,uCAAuC,8CAA8C;CACtF;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,MAAM,EACtB,WAAW,SAAS,yBAAyB,IAC3C;IACF;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,UAAU,EAAE,WAAW,CAAC;IAExB,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,MAAM,EACtB,WAAW,SAAS,yBAAyB,IAC3C,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG;IAC5C;;;OAGG;IACH,OAAO,EAAE,GAAG,CAAC;IAEb;;;;;;OAMG;IACH,cAAc,EAAE;QACd,OAAO,EAAE,GAAG,CAAC;QACb,WAAW,EAAE,GAAG,CAAC;KAClB,EAAE,CAAC;IAEJ;;OAEG;IACH,UAAU,EAAE;QACV,iBAAiB,EAAE,GAAG,CAAC;KACxB,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,CACrC,OAAO,SAAS,MAAM,EACtB,WAAW,SAAS,yBAAyB,IAC3C,IAAI,CACN,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,EACxC,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CACtC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,CAC/B,OAAO,SAAS,MAAM,EACtB,WAAW,SAAS,yBAAyB,IAC3C;IACF,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,8BAA8B,CACxC,OAAO,SAAS,MAAM,EACtB,WAAW,SAAS,yBAAyB,IAC3C;IACF,kBAAkB,EAAE,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,qBAAqB,EAAE;QACrB,CAAC,OAAO,EAAE,GAAG,GAAG,8BAA8B,CAC5C,MAAM,EACN,2BAA2B,CAC5B,EAAE,CAAC;KACL,CAAC;IACF,uBAAuB,EAAE;QACvB,CAAC,OAAO,EAAE,GAAG,GAAG,8BAA8B,CAC5C,MAAM,EACN,6BAA6B,CAC9B,EAAE,CAAC;KACL,CAAC;IACF,oBAAoB,EAAE;QACpB,CAAC,OAAO,EAAE,GAAG,GAAG,8BAA8B,CAC5C,MAAM,EACN,0BAA0B,CAC3B,EAAE,CAAC;KACL,CAAC;IACF,sBAAsB,EAAE;QACtB,CAAC,OAAO,EAAE,GAAG,GAAG,8BAA8B,CAC5C,MAAM,EACN,4BAA4B,CAC7B,EAAE,CAAC;KACL,CAAC;IACF,KAAK,EAAE;QACL,CAAC,OAAO,EAAE,GAAG,GAAG,8BAA8B,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;KAC5E,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,mBAAmB,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,mCAAmC,CAC7C,eAAe,SAAS,4BAA4B,IAClD,mBAAmB,CAAC,eAAe,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,8CAA8C,CACxD,eAAe,SAAS,4BAA4B,IAClD,mBAAmB,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC"}
package/dist/types.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  import type { PermissionTypes, Signer, BasePermission, NativeTokenStreamPermission, NativeTokenPeriodicPermission, Erc20TokenStreamPermission, Erc20TokenPeriodicPermission, Rule, MetaMaskBasePermissionData } from "@metamask/7715-permission-types";
2
- import type { Delegation } from "@metamask/delegation-core";
3
2
  import type { Hex } from "@metamask/utils";
4
3
  /**
5
4
  * Enum for the error codes of the gator permissions controller.
@@ -8,9 +7,7 @@ export declare enum GatorPermissionsControllerErrorCode {
8
7
  GatorPermissionsFetchError = "gator-permissions-fetch-error",
9
8
  GatorPermissionsNotEnabled = "gator-permissions-not-enabled",
10
9
  GatorPermissionsProviderError = "gator-permissions-provider-error",
11
- GatorPermissionsMapSerializationError = "gator-permissions-map-serialization-error",
12
- PermissionDecodingError = "permission-decoding-error",
13
- OriginNotAllowedError = "origin-not-allowed-error"
10
+ GatorPermissionsMapSerializationError = "gator-permissions-map-serialization-error"
14
11
  }
15
12
  /**
16
13
  * Enum for the RPC methods of the gator permissions provider snap.
@@ -149,8 +146,4 @@ export type GatorPermissionsMapByPermissionType<TPermissionType extends Supporte
149
146
  * Represents an array of gator permissions for a given permission type and chainId.
150
147
  */
151
148
  export type GatorPermissionsListByPermissionTypeAndChainId<TPermissionType extends SupportedGatorPermissionType> = GatorPermissionsMap[TPermissionType][Hex];
152
- /**
153
- * Represents the details of a delegation, that are required to decode a permission.
154
- */
155
- export type DelegationDetails = Pick<Delegation<Hex>, 'caveats' | 'delegator' | 'delegate' | 'authority'>;
156
149
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.mjs CHANGED
@@ -7,8 +7,6 @@ export var GatorPermissionsControllerErrorCode;
7
7
  GatorPermissionsControllerErrorCode["GatorPermissionsNotEnabled"] = "gator-permissions-not-enabled";
8
8
  GatorPermissionsControllerErrorCode["GatorPermissionsProviderError"] = "gator-permissions-provider-error";
9
9
  GatorPermissionsControllerErrorCode["GatorPermissionsMapSerializationError"] = "gator-permissions-map-serialization-error";
10
- GatorPermissionsControllerErrorCode["PermissionDecodingError"] = "permission-decoding-error";
11
- GatorPermissionsControllerErrorCode["OriginNotAllowedError"] = "origin-not-allowed-error";
12
10
  })(GatorPermissionsControllerErrorCode || (GatorPermissionsControllerErrorCode = {}));
13
11
  /**
14
12
  * Enum for the RPC methods of the gator permissions provider snap.
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,CAAN,IAAY,mCAOX;AAPD,WAAY,mCAAmC;IAC7C,mGAA4D,CAAA;IAC5D,mGAA4D,CAAA;IAC5D,yGAAkE,CAAA;IAClE,0HAAmF,CAAA;IACnF,4FAAqD,CAAA;IACrD,yFAAkD,CAAA;AACpD,CAAC,EAPW,mCAAmC,KAAnC,mCAAmC,QAO9C;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC;;OAEG;IACH,sHAAqF,CAAA;AACvF,CAAC,EALW,6BAA6B,KAA7B,6BAA6B,QAKxC","sourcesContent":["import type {\n PermissionTypes,\n Signer,\n BasePermission,\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n Rule,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\nimport type { Delegation } from '@metamask/delegation-core';\nimport type { Hex } from '@metamask/utils';\n\n/**\n * Enum for the error codes of the gator permissions controller.\n */\nexport enum GatorPermissionsControllerErrorCode {\n GatorPermissionsFetchError = 'gator-permissions-fetch-error',\n GatorPermissionsNotEnabled = 'gator-permissions-not-enabled',\n GatorPermissionsProviderError = 'gator-permissions-provider-error',\n GatorPermissionsMapSerializationError = 'gator-permissions-map-serialization-error',\n PermissionDecodingError = 'permission-decoding-error',\n OriginNotAllowedError = 'origin-not-allowed-error',\n}\n\n/**\n * Enum for the RPC methods of the gator permissions provider snap.\n */\nexport enum GatorPermissionsSnapRpcMethod {\n /**\n * This method is used by the metamask to request a permissions provider to get granted permissions for all sites.\n */\n PermissionProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',\n}\n\n/**\n * Represents a custom permission that are not of the standard ERC-7715 permission types.\n */\nexport type CustomPermission = BasePermission & {\n type: 'custom';\n data: MetaMaskBasePermissionData & Record<string, unknown>;\n};\n\n/**\n * Represents the type of the ERC-7715 permissions that can be granted including custom permissions.\n */\nexport type PermissionTypesWithCustom = PermissionTypes | CustomPermission;\n\n/**\n * Represents a ERC-7715 permission request.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionRequest<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n /**\n * hex-encoding of uint256 defined the chain with EIP-155\n */\n chainId: Hex;\n\n /**\n *\n * The account being targeted for this permission request.\n * It is optional to let the user choose which account to grant permission from.\n */\n address?: Hex;\n\n /**\n * An account that is associated with the recipient of the granted 7715 permission or alternatively the wallet will manage the session.\n */\n signer: TSigner;\n\n /**\n * Defines the allowed behavior the signer can do on behalf of the account.\n */\n permission: TPermission;\n\n rules?: Rule[] | null;\n};\n\n/**\n * Represents a ERC-7715 permission response.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponse<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = PermissionRequest<TSigner, TPermission> & {\n /**\n * Is a catch-all to identify a permission for revoking permissions or submitting\n * Defined in ERC-7710.\n */\n context: Hex;\n\n /**\n * The dependencyInfo field is required and contains information needed to deploy accounts.\n * Each entry specifies a factory contract and its associated deployment data.\n * If no account deployment is needed when redeeming the permission, this array must be empty.\n * When non-empty, DApps MUST deploy the accounts by calling the factory contract with factoryData as the calldata.\n * Defined in ERC-4337.\n */\n dependencyInfo: {\n factory: Hex;\n factoryData: Hex;\n }[];\n\n /**\n * If the signer type is account then delegationManager is required as defined in ERC-7710.\n */\n signerMeta: {\n delegationManager: Hex;\n };\n};\n\n/**\n * Represents a sanitized version of the PermissionResponse type.\n * Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponseSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = Omit<\n PermissionResponse<TSigner, TPermission>,\n 'dependencyInfo' | 'signer' | 'rules'\n>;\n\n/**\n * Represents a gator ERC-7715 granted(ie. signed by an user account) permission entry that is stored in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided\n */\nexport type StoredGatorPermission<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponse<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a sanitized version of the StoredGatorPermission type. Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type StoredGatorPermissionSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponseSanitized<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a map of gator permissions by chainId and permission type.\n */\nexport type GatorPermissionsMap = {\n 'native-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenStreamPermission\n >[];\n };\n 'native-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenPeriodicPermission\n >[];\n };\n 'erc20-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenStreamPermission\n >[];\n };\n 'erc20-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenPeriodicPermission\n >[];\n };\n other: {\n [chainId: Hex]: StoredGatorPermissionSanitized<Signer, CustomPermission>[];\n };\n};\n\n/**\n * Represents the supported permission type(e.g. 'native-token-stream', 'native-token-periodic', 'erc20-token-stream', 'erc20-token-periodic') of the gator permissions map.\n */\nexport type SupportedGatorPermissionType = keyof GatorPermissionsMap;\n\n/**\n * Represents a map of gator permissions for a given permission type with key of chainId. The value being an array of gator permissions for that chainId.\n */\nexport type GatorPermissionsMapByPermissionType<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType];\n\n/**\n * Represents an array of gator permissions for a given permission type and chainId.\n */\nexport type GatorPermissionsListByPermissionTypeAndChainId<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType][Hex];\n\n/**\n * Represents the details of a delegation, that are required to decode a permission.\n */\nexport type DelegationDetails = Pick<\n Delegation<Hex>,\n 'caveats' | 'delegator' | 'delegate' | 'authority'\n>;\n"]}
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,CAAN,IAAY,mCAKX;AALD,WAAY,mCAAmC;IAC7C,mGAA4D,CAAA;IAC5D,mGAA4D,CAAA;IAC5D,yGAAkE,CAAA;IAClE,0HAAmF,CAAA;AACrF,CAAC,EALW,mCAAmC,KAAnC,mCAAmC,QAK9C;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC;;OAEG;IACH,sHAAqF,CAAA;AACvF,CAAC,EALW,6BAA6B,KAA7B,6BAA6B,QAKxC","sourcesContent":["import type {\n PermissionTypes,\n Signer,\n BasePermission,\n NativeTokenStreamPermission,\n NativeTokenPeriodicPermission,\n Erc20TokenStreamPermission,\n Erc20TokenPeriodicPermission,\n Rule,\n MetaMaskBasePermissionData,\n} from '@metamask/7715-permission-types';\nimport type { Hex } from '@metamask/utils';\n\n/**\n * Enum for the error codes of the gator permissions controller.\n */\nexport enum GatorPermissionsControllerErrorCode {\n GatorPermissionsFetchError = 'gator-permissions-fetch-error',\n GatorPermissionsNotEnabled = 'gator-permissions-not-enabled',\n GatorPermissionsProviderError = 'gator-permissions-provider-error',\n GatorPermissionsMapSerializationError = 'gator-permissions-map-serialization-error',\n}\n\n/**\n * Enum for the RPC methods of the gator permissions provider snap.\n */\nexport enum GatorPermissionsSnapRpcMethod {\n /**\n * This method is used by the metamask to request a permissions provider to get granted permissions for all sites.\n */\n PermissionProviderGetGrantedPermissions = 'permissionsProvider_getGrantedPermissions',\n}\n\n/**\n * Represents a custom permission that are not of the standard ERC-7715 permission types.\n */\nexport type CustomPermission = BasePermission & {\n type: 'custom';\n data: MetaMaskBasePermissionData & Record<string, unknown>;\n};\n\n/**\n * Represents the type of the ERC-7715 permissions that can be granted including custom permissions.\n */\nexport type PermissionTypesWithCustom = PermissionTypes | CustomPermission;\n\n/**\n * Represents a ERC-7715 permission request.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionRequest<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n /**\n * hex-encoding of uint256 defined the chain with EIP-155\n */\n chainId: Hex;\n\n /**\n *\n * The account being targeted for this permission request.\n * It is optional to let the user choose which account to grant permission from.\n */\n address?: Hex;\n\n /**\n * An account that is associated with the recipient of the granted 7715 permission or alternatively the wallet will manage the session.\n */\n signer: TSigner;\n\n /**\n * Defines the allowed behavior the signer can do on behalf of the account.\n */\n permission: TPermission;\n\n rules?: Rule[] | null;\n};\n\n/**\n * Represents a ERC-7715 permission response.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponse<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = PermissionRequest<TSigner, TPermission> & {\n /**\n * Is a catch-all to identify a permission for revoking permissions or submitting\n * Defined in ERC-7710.\n */\n context: Hex;\n\n /**\n * The dependencyInfo field is required and contains information needed to deploy accounts.\n * Each entry specifies a factory contract and its associated deployment data.\n * If no account deployment is needed when redeeming the permission, this array must be empty.\n * When non-empty, DApps MUST deploy the accounts by calling the factory contract with factoryData as the calldata.\n * Defined in ERC-4337.\n */\n dependencyInfo: {\n factory: Hex;\n factoryData: Hex;\n }[];\n\n /**\n * If the signer type is account then delegationManager is required as defined in ERC-7710.\n */\n signerMeta: {\n delegationManager: Hex;\n };\n};\n\n/**\n * Represents a sanitized version of the PermissionResponse type.\n * Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type PermissionResponseSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = Omit<\n PermissionResponse<TSigner, TPermission>,\n 'dependencyInfo' | 'signer' | 'rules'\n>;\n\n/**\n * Represents a gator ERC-7715 granted(ie. signed by an user account) permission entry that is stored in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided\n */\nexport type StoredGatorPermission<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponse<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a sanitized version of the StoredGatorPermission type. Some fields have been removed but the fields are still present in profile sync.\n *\n * @template Signer - The type of the signer provided, either an AccountSigner or WalletSigner.\n * @template Permission - The type of the permission provided.\n */\nexport type StoredGatorPermissionSanitized<\n TSigner extends Signer,\n TPermission extends PermissionTypesWithCustom,\n> = {\n permissionResponse: PermissionResponseSanitized<TSigner, TPermission>;\n siteOrigin: string;\n};\n\n/**\n * Represents a map of gator permissions by chainId and permission type.\n */\nexport type GatorPermissionsMap = {\n 'native-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenStreamPermission\n >[];\n };\n 'native-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n NativeTokenPeriodicPermission\n >[];\n };\n 'erc20-token-stream': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenStreamPermission\n >[];\n };\n 'erc20-token-periodic': {\n [chainId: Hex]: StoredGatorPermissionSanitized<\n Signer,\n Erc20TokenPeriodicPermission\n >[];\n };\n other: {\n [chainId: Hex]: StoredGatorPermissionSanitized<Signer, CustomPermission>[];\n };\n};\n\n/**\n * Represents the supported permission type(e.g. 'native-token-stream', 'native-token-periodic', 'erc20-token-stream', 'erc20-token-periodic') of the gator permissions map.\n */\nexport type SupportedGatorPermissionType = keyof GatorPermissionsMap;\n\n/**\n * Represents a map of gator permissions for a given permission type with key of chainId. The value being an array of gator permissions for that chainId.\n */\nexport type GatorPermissionsMapByPermissionType<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType];\n\n/**\n * Represents an array of gator permissions for a given permission type and chainId.\n */\nexport type GatorPermissionsListByPermissionTypeAndChainId<\n TPermissionType extends SupportedGatorPermissionType,\n> = GatorPermissionsMap[TPermissionType][Hex];\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask-previews/gator-permissions-controller",
3
- "version": "0.1.0-preview-463efec",
3
+ "version": "0.1.0-preview-9873b6ef",
4
4
  "description": "Controller for managing gator permissions with profile sync integration",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -48,9 +48,7 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@metamask/7715-permission-types": "^0.3.0",
51
- "@metamask/base-controller": "^8.4.0",
52
- "@metamask/delegation-core": "^0.2.0",
53
- "@metamask/delegation-deployments": "^0.12.0",
51
+ "@metamask/base-controller": "^8.3.0",
54
52
  "@metamask/snaps-sdk": "^9.0.0",
55
53
  "@metamask/snaps-utils": "^11.0.0",
56
54
  "@metamask/utils": "^11.8.0"
@@ -1,196 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reconstructDecodedPermission = exports.getPermissionDataAndExpiry = exports.identifyPermissionByEnforcers = void 0;
4
- const delegation_core_1 = require("@metamask/delegation-core");
5
- const utils_1 = require("@metamask/utils");
6
- const utils_2 = require("./utils.cjs");
7
- /**
8
- * Identifies the unique permission type that matches a given set of enforcer
9
- * contract addresses for a specific chain.
10
- *
11
- * A permission type matches when:
12
- * - All of its required enforcers are present in the provided list; and
13
- * - No provided enforcer falls outside the union of the type's required and
14
- * allowed enforcers (currently only `TimestampEnforcer` is allowed extra).
15
- *
16
- * If exactly one permission type matches, its identifier is returned.
17
- *
18
- * @param args - The arguments to this function.
19
- * @param args.enforcers - List of enforcer contract addresses (hex strings).
20
- *
21
- * @param args.contracts - The deployed contracts for the chain.
22
- * @returns The identifier of the matching permission type.
23
- * @throws If no permission type matches, or if more than one permission type matches.
24
- */
25
- const identifyPermissionByEnforcers = ({ enforcers, contracts, }) => {
26
- const enforcersSet = new Set(enforcers.map(utils_1.getChecksumAddress));
27
- const permissionRules = (0, utils_2.createPermissionRulesForChainId)(contracts);
28
- let matchingPermissionType = null;
29
- for (const { allowedEnforcers, requiredEnforcers, permissionType, } of permissionRules) {
30
- const hasAllRequiredEnforcers = (0, utils_2.isSubset)(requiredEnforcers, enforcersSet);
31
- let hasForbiddenEnforcers = false;
32
- for (const caveat of enforcersSet) {
33
- if (!allowedEnforcers.has(caveat) && !requiredEnforcers.has(caveat)) {
34
- hasForbiddenEnforcers = true;
35
- break;
36
- }
37
- }
38
- if (hasAllRequiredEnforcers && !hasForbiddenEnforcers) {
39
- if (matchingPermissionType) {
40
- throw new Error('Multiple permission types match');
41
- }
42
- matchingPermissionType = permissionType;
43
- }
44
- }
45
- if (!matchingPermissionType) {
46
- throw new Error('Unable to identify permission type');
47
- }
48
- return matchingPermissionType;
49
- };
50
- exports.identifyPermissionByEnforcers = identifyPermissionByEnforcers;
51
- /**
52
- * Extracts the permission-specific data payload and the expiry timestamp from
53
- * the provided caveats for a given permission type.
54
- *
55
- * This function locates the relevant caveat enforcer for the `permissionType`,
56
- * interprets its `terms` by splitting the hex string into byte-sized segments,
57
- * and converts each segment into the appropriate numeric or address shape.
58
- *
59
- * The expiry timestamp is derived from the `TimestampEnforcer` terms and must
60
- * have a zero `timestampAfterThreshold` and a positive `timestampBeforeThreshold`.
61
- *
62
- * @param args - The arguments to this function.
63
- * @param args.contracts - The deployed contracts for the chain.
64
- * @param args.caveats - Caveats decoded from the permission context.
65
- * @param args.permissionType - The previously identified permission type.
66
- *
67
- * @returns An object containing the `expiry` timestamp and the decoded `data` payload.
68
- * @throws If the caveats are malformed, missing, or the terms fail to decode.
69
- */
70
- const getPermissionDataAndExpiry = ({ contracts, caveats, permissionType, }) => {
71
- const checksumCaveats = caveats.map((caveat) => ({
72
- ...caveat,
73
- enforcer: (0, utils_1.getChecksumAddress)(caveat.enforcer),
74
- }));
75
- const { erc20StreamingEnforcer, erc20PeriodicEnforcer, nativeTokenStreamingEnforcer, nativeTokenPeriodicEnforcer, timestampEnforcer, } = (0, utils_2.getChecksumEnforcersByChainId)(contracts);
76
- const expiryTerms = (0, utils_2.getTermsByEnforcer)({
77
- caveats: checksumCaveats,
78
- enforcer: timestampEnforcer,
79
- throwIfNotFound: false,
80
- });
81
- let expiry = null;
82
- if (expiryTerms) {
83
- const [after, before] = (0, utils_2.splitHex)(expiryTerms, [16, 16]);
84
- if ((0, utils_1.hexToNumber)(after) !== 0) {
85
- throw new Error('Invalid expiry');
86
- }
87
- expiry = (0, utils_1.hexToNumber)(before);
88
- }
89
- let data;
90
- switch (permissionType) {
91
- case 'erc20-token-stream': {
92
- const erc20StreamingTerms = (0, utils_2.getTermsByEnforcer)({
93
- caveats: checksumCaveats,
94
- enforcer: erc20StreamingEnforcer,
95
- });
96
- const [tokenAddress, initialAmount, maxAmount, amountPerSecond, startTimeRaw,] = (0, utils_2.splitHex)(erc20StreamingTerms, [20, 32, 32, 32, 32]);
97
- data = {
98
- tokenAddress,
99
- initialAmount,
100
- maxAmount,
101
- amountPerSecond,
102
- startTime: (0, utils_1.hexToNumber)(startTimeRaw),
103
- };
104
- break;
105
- }
106
- case 'erc20-token-periodic': {
107
- const erc20PeriodicTerms = (0, utils_2.getTermsByEnforcer)({
108
- caveats: checksumCaveats,
109
- enforcer: erc20PeriodicEnforcer,
110
- });
111
- const [tokenAddress, periodAmount, periodDurationRaw, startTimeRaw] = (0, utils_2.splitHex)(erc20PeriodicTerms, [20, 32, 32, 32]);
112
- data = {
113
- tokenAddress,
114
- periodAmount,
115
- periodDuration: (0, utils_1.hexToNumber)(periodDurationRaw),
116
- startTime: (0, utils_1.hexToNumber)(startTimeRaw),
117
- };
118
- break;
119
- }
120
- case 'native-token-stream': {
121
- const nativeTokenStreamingTerms = (0, utils_2.getTermsByEnforcer)({
122
- caveats: checksumCaveats,
123
- enforcer: nativeTokenStreamingEnforcer,
124
- });
125
- const [initialAmount, maxAmount, amountPerSecond, startTimeRaw] = (0, utils_2.splitHex)(nativeTokenStreamingTerms, [32, 32, 32, 32]);
126
- data = {
127
- initialAmount,
128
- maxAmount,
129
- amountPerSecond,
130
- startTime: (0, utils_1.hexToNumber)(startTimeRaw),
131
- };
132
- break;
133
- }
134
- case 'native-token-periodic': {
135
- const nativeTokenPeriodicTerms = (0, utils_2.getTermsByEnforcer)({
136
- caveats: checksumCaveats,
137
- enforcer: nativeTokenPeriodicEnforcer,
138
- });
139
- const [periodAmount, periodDurationRaw, startTimeRaw] = (0, utils_2.splitHex)(nativeTokenPeriodicTerms, [32, 32, 32]);
140
- data = {
141
- periodAmount,
142
- periodDuration: (0, utils_1.hexToNumber)(periodDurationRaw),
143
- startTime: (0, utils_1.hexToNumber)(startTimeRaw),
144
- };
145
- break;
146
- }
147
- default:
148
- throw new Error('Invalid permission type');
149
- }
150
- return { expiry, data };
151
- };
152
- exports.getPermissionDataAndExpiry = getPermissionDataAndExpiry;
153
- /**
154
- * Reconstructs a {@link DecodedPermission} object from primitive values
155
- * obtained while decoding a permission context.
156
- *
157
- * The resulting object contains:
158
- * - `chainId` encoded as hex (`0x…`)
159
- * - `address` set to the delegator (user account)
160
- * - `signer` set to an account signer with the delegate address
161
- * - `permission` with the identified type and decoded data
162
- * - `expiry` timestamp (or null)
163
- *
164
- * @param args - The arguments to this function.
165
- * @param args.chainId - Chain ID.
166
- * @param args.permissionType - Identified permission type.
167
- * @param args.delegator - Address of the account delegating permission.
168
- * @param args.delegate - Address that will act under the granted permission.
169
- * @param args.authority - Authority identifier; must be ROOT_AUTHORITY.
170
- * @param args.expiry - Expiry timestamp (unix seconds) or null if unbounded.
171
- * @param args.data - Permission-specific decoded data payload.
172
- * @param args.justification - Human-readable justification for the permission.
173
- * @param args.specifiedOrigin - The origin reported in the request metadata.
174
- *
175
- * @returns The reconstructed {@link DecodedPermission}.
176
- */
177
- const reconstructDecodedPermission = ({ chainId, permissionType, delegator, delegate, authority, expiry, data, justification, specifiedOrigin, }) => {
178
- if (authority !== delegation_core_1.ROOT_AUTHORITY) {
179
- throw new Error('Invalid authority');
180
- }
181
- const permission = {
182
- chainId: (0, utils_1.numberToHex)(chainId),
183
- address: delegator,
184
- signer: { type: 'account', data: { address: delegate } },
185
- permission: {
186
- type: permissionType,
187
- data,
188
- justification,
189
- },
190
- expiry,
191
- origin: specifiedOrigin,
192
- };
193
- return permission;
194
- };
195
- exports.reconstructDecodedPermission = reconstructDecodedPermission;
196
- //# sourceMappingURL=decodePermission.cjs.map