@metamask-previews/claims-controller 0.6.1-preview-4f4c98e → 0.6.1-preview-eb263b0ee

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 (106) hide show
  1. package/CHANGELOG.md +0 -1
  2. package/dist/ClaimsController-method-action-types.cjs +7 -0
  3. package/dist/ClaimsController-method-action-types.cjs.map +1 -0
  4. package/dist/{ClaimsController-method-action-types.d.ts → ClaimsController-method-action-types.d.cts} +2 -2
  5. package/dist/ClaimsController-method-action-types.d.cts.map +1 -0
  6. package/dist/ClaimsController-method-action-types.d.mts +93 -0
  7. package/dist/ClaimsController-method-action-types.d.mts.map +1 -0
  8. package/dist/{ClaimsController-method-action-types.js → ClaimsController-method-action-types.mjs} +1 -1
  9. package/dist/ClaimsController-method-action-types.mjs.map +1 -0
  10. package/dist/ClaimsController.cjs +221 -0
  11. package/dist/ClaimsController.cjs.map +1 -0
  12. package/dist/{ClaimsController.d.ts → ClaimsController.d.cts} +9 -9
  13. package/dist/ClaimsController.d.cts.map +1 -0
  14. package/dist/ClaimsController.d.mts +84 -0
  15. package/dist/ClaimsController.d.mts.map +1 -0
  16. package/dist/{ClaimsController.js → ClaimsController.mjs} +5 -5
  17. package/dist/ClaimsController.mjs.map +1 -0
  18. package/dist/ClaimsService-method-action-types.cjs +7 -0
  19. package/dist/ClaimsService-method-action-types.cjs.map +1 -0
  20. package/dist/{ClaimsService-method-action-types.d.ts → ClaimsService-method-action-types.d.cts} +2 -2
  21. package/dist/ClaimsService-method-action-types.d.cts.map +1 -0
  22. package/dist/ClaimsService-method-action-types.d.mts +67 -0
  23. package/dist/ClaimsService-method-action-types.d.mts.map +1 -0
  24. package/dist/{ClaimsService-method-action-types.js → ClaimsService-method-action-types.mjs} +1 -1
  25. package/dist/ClaimsService-method-action-types.mjs.map +1 -0
  26. package/dist/ClaimsService-structs.cjs +36 -0
  27. package/dist/ClaimsService-structs.cjs.map +1 -0
  28. package/dist/{ClaimsService-structs.d.ts → ClaimsService-structs.d.cts} +8 -8
  29. package/dist/ClaimsService-structs.d.cts.map +1 -0
  30. package/dist/ClaimsService-structs.d.mts +71 -0
  31. package/dist/ClaimsService-structs.d.mts.map +1 -0
  32. package/dist/{ClaimsService-structs.js → ClaimsService-structs.mjs} +3 -3
  33. package/dist/ClaimsService-structs.mjs.map +1 -0
  34. package/dist/ClaimsService.cjs +229 -0
  35. package/dist/ClaimsService.cjs.map +1 -0
  36. package/dist/{ClaimsService.d.ts → ClaimsService.d.cts} +12 -12
  37. package/dist/ClaimsService.d.cts.map +1 -0
  38. package/dist/ClaimsService.d.mts +108 -0
  39. package/dist/ClaimsService.d.mts.map +1 -0
  40. package/dist/{ClaimsService.js → ClaimsService.mjs} +7 -7
  41. package/dist/ClaimsService.mjs.map +1 -0
  42. package/dist/constants.cjs +59 -0
  43. package/dist/constants.cjs.map +1 -0
  44. package/dist/{constants.d.ts → constants.d.cts} +1 -1
  45. package/dist/constants.d.cts.map +1 -0
  46. package/dist/constants.d.mts +37 -0
  47. package/dist/constants.d.mts.map +1 -0
  48. package/dist/{constants.js → constants.mjs} +2 -2
  49. package/dist/constants.mjs.map +1 -0
  50. package/dist/index.cjs +16 -0
  51. package/dist/index.cjs.map +1 -0
  52. package/dist/{index.d.ts → index.d.cts} +9 -9
  53. package/dist/index.d.cts.map +1 -0
  54. package/dist/index.d.mts +9 -0
  55. package/dist/index.d.mts.map +1 -0
  56. package/dist/index.mjs +4 -0
  57. package/dist/index.mjs.map +1 -0
  58. package/dist/logger.cjs +8 -0
  59. package/dist/logger.cjs.map +1 -0
  60. package/dist/logger.d.cts +5 -0
  61. package/dist/logger.d.cts.map +1 -0
  62. package/dist/logger.d.mts +5 -0
  63. package/dist/logger.d.mts.map +1 -0
  64. package/dist/logger.mjs +5 -0
  65. package/dist/logger.mjs.map +1 -0
  66. package/dist/types.cjs +3 -0
  67. package/dist/types.cjs.map +1 -0
  68. package/dist/{types.d.ts → types.d.cts} +3 -3
  69. package/dist/types.d.cts.map +1 -0
  70. package/dist/types.d.mts +85 -0
  71. package/dist/types.d.mts.map +1 -0
  72. package/dist/types.mjs +2 -0
  73. package/dist/types.mjs.map +1 -0
  74. package/dist/utils.cjs +49 -0
  75. package/dist/utils.cjs.map +1 -0
  76. package/dist/{utils.d.ts → utils.d.cts} +1 -1
  77. package/dist/utils.d.cts.map +1 -0
  78. package/dist/utils.d.mts +16 -0
  79. package/dist/utils.d.mts.map +1 -0
  80. package/dist/{utils.js → utils.mjs} +1 -1
  81. package/dist/utils.mjs.map +1 -0
  82. package/package.json +16 -12
  83. package/dist/ClaimsController-method-action-types.d.ts.map +0 -1
  84. package/dist/ClaimsController-method-action-types.js.map +0 -1
  85. package/dist/ClaimsController.d.ts.map +0 -1
  86. package/dist/ClaimsController.js.map +0 -1
  87. package/dist/ClaimsService-method-action-types.d.ts.map +0 -1
  88. package/dist/ClaimsService-method-action-types.js.map +0 -1
  89. package/dist/ClaimsService-structs.d.ts.map +0 -1
  90. package/dist/ClaimsService-structs.js.map +0 -1
  91. package/dist/ClaimsService.d.ts.map +0 -1
  92. package/dist/ClaimsService.js.map +0 -1
  93. package/dist/constants.d.ts.map +0 -1
  94. package/dist/constants.js.map +0 -1
  95. package/dist/index.d.ts.map +0 -1
  96. package/dist/index.js +0 -4
  97. package/dist/index.js.map +0 -1
  98. package/dist/logger.d.ts +0 -4
  99. package/dist/logger.d.ts.map +0 -1
  100. package/dist/logger.js +0 -5
  101. package/dist/logger.js.map +0 -1
  102. package/dist/types.d.ts.map +0 -1
  103. package/dist/types.js +0 -2
  104. package/dist/types.js.map +0 -1
  105. package/dist/utils.d.ts.map +0 -1
  106. package/dist/utils.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -11,7 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ### Changed
13
13
 
14
- - **BREAKING:** Bump minimum Node.js version to 22 ([#9168](https://github.com/MetaMask/core/pull/9168))
15
14
  - Bump `@tanstack/query-core` from `^4.43.0` to `^5.62.16` ([#9712](https://github.com/MetaMask/core/pull/9712))
16
15
  - Bump `@metamask/base-data-service` from `^0.1.3` to `^1.0.0` ([#9972](https://github.com/MetaMask/core/pull/9972))
17
16
 
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * This file is auto generated.
4
+ * Do not edit manually.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=ClaimsController-method-action-types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController-method-action-types.cjs","sourceRoot":"","sources":["../src/ClaimsController-method-action-types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { ClaimsController } from './ClaimsController.js';\n\n/**\n * Fetch the required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\nexport type ClaimsControllerFetchClaimsConfigurationsAction = {\n type: `ClaimsController:fetchClaimsConfigurations`;\n handler: ClaimsController['fetchClaimsConfigurations'];\n};\n\n/**\n * Get required config for submitting a claim.\n *\n * @param claim - The claim request to get the required config for.\n * @returns The required config for submitting the claim.\n */\nexport type ClaimsControllerGetSubmitClaimConfigAction = {\n type: `ClaimsController:getSubmitClaimConfig`;\n handler: ClaimsController['getSubmitClaimConfig'];\n};\n\n/**\n * Generate a signature for a claim.\n *\n * @param chainId - The chain id of the claim.\n * @param walletAddress - The impacted wallet address of the claim.\n * @returns The signature for the claim.\n */\nexport type ClaimsControllerGenerateClaimSignatureAction = {\n type: `ClaimsController:generateClaimSignature`;\n handler: ClaimsController['generateClaimSignature'];\n};\n\n/**\n * Get the list of claims for the current user.\n *\n * @returns The list of claims for the current user.\n */\nexport type ClaimsControllerGetClaimsAction = {\n type: `ClaimsController:getClaims`;\n handler: ClaimsController['getClaims'];\n};\n\n/**\n * Save a claim draft to the state.\n * If the draft name is not provided, a default name will be generated.\n * If the draft with the same id already exists, it will be updated.\n *\n * @param draft - The draft to save.\n * @returns The saved draft.\n */\nexport type ClaimsControllerSaveOrUpdateClaimDraftAction = {\n type: `ClaimsController:saveOrUpdateClaimDraft`;\n handler: ClaimsController['saveOrUpdateClaimDraft'];\n};\n\n/**\n * Get the list of claim drafts.\n *\n * @returns The list of claim drafts.\n */\nexport type ClaimsControllerGetClaimDraftsAction = {\n type: `ClaimsController:getClaimDrafts`;\n handler: ClaimsController['getClaimDrafts'];\n};\n\n/**\n * Delete a claim draft from the state.\n *\n * @param draftId - The ID of the draft to delete.\n */\nexport type ClaimsControllerDeleteClaimDraftAction = {\n type: `ClaimsController:deleteClaimDraft`;\n handler: ClaimsController['deleteClaimDraft'];\n};\n\n/**\n * Delete all claim drafts from the state.\n */\nexport type ClaimsControllerDeleteAllClaimDraftsAction = {\n type: `ClaimsController:deleteAllClaimDrafts`;\n handler: ClaimsController['deleteAllClaimDrafts'];\n};\n\n/**\n * Clears the claims state and resets to default values.\n */\nexport type ClaimsControllerClearStateAction = {\n type: `ClaimsController:clearState`;\n handler: ClaimsController['clearState'];\n};\n\n/**\n * Union of all ClaimsController action types.\n */\nexport type ClaimsControllerMethodActions =\n | ClaimsControllerFetchClaimsConfigurationsAction\n | ClaimsControllerGetSubmitClaimConfigAction\n | ClaimsControllerGenerateClaimSignatureAction\n | ClaimsControllerGetClaimsAction\n | ClaimsControllerSaveOrUpdateClaimDraftAction\n | ClaimsControllerGetClaimDraftsAction\n | ClaimsControllerDeleteClaimDraftAction\n | ClaimsControllerDeleteAllClaimDraftsAction\n | ClaimsControllerClearStateAction;\n"]}
@@ -2,7 +2,7 @@
2
2
  * This file is auto generated.
3
3
  * Do not edit manually.
4
4
  */
5
- import type { ClaimsController } from './ClaimsController.js';
5
+ import type { ClaimsController } from "./ClaimsController.cjs";
6
6
  /**
7
7
  * Fetch the required configurations for the claims service.
8
8
  *
@@ -90,4 +90,4 @@ export type ClaimsControllerClearStateAction = {
90
90
  * Union of all ClaimsController action types.
91
91
  */
92
92
  export type ClaimsControllerMethodActions = ClaimsControllerFetchClaimsConfigurationsAction | ClaimsControllerGetSubmitClaimConfigAction | ClaimsControllerGenerateClaimSignatureAction | ClaimsControllerGetClaimsAction | ClaimsControllerSaveOrUpdateClaimDraftAction | ClaimsControllerGetClaimDraftsAction | ClaimsControllerDeleteClaimDraftAction | ClaimsControllerDeleteAllClaimDraftsAction | ClaimsControllerClearStateAction;
93
- //# sourceMappingURL=ClaimsController-method-action-types.d.ts.map
93
+ //# sourceMappingURL=ClaimsController-method-action-types.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController-method-action-types.d.cts","sourceRoot":"","sources":["../src/ClaimsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAE9D;;;;GAIG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,+CAA+C,GAC/C,0CAA0C,GAC1C,4CAA4C,GAC5C,+BAA+B,GAC/B,4CAA4C,GAC5C,oCAAoC,GACpC,sCAAsC,GACtC,0CAA0C,GAC1C,gCAAgC,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * This file is auto generated.
3
+ * Do not edit manually.
4
+ */
5
+ import type { ClaimsController } from "./ClaimsController.mjs";
6
+ /**
7
+ * Fetch the required configurations for the claims service.
8
+ *
9
+ * @returns The required configurations for the claims service.
10
+ */
11
+ export type ClaimsControllerFetchClaimsConfigurationsAction = {
12
+ type: `ClaimsController:fetchClaimsConfigurations`;
13
+ handler: ClaimsController['fetchClaimsConfigurations'];
14
+ };
15
+ /**
16
+ * Get required config for submitting a claim.
17
+ *
18
+ * @param claim - The claim request to get the required config for.
19
+ * @returns The required config for submitting the claim.
20
+ */
21
+ export type ClaimsControllerGetSubmitClaimConfigAction = {
22
+ type: `ClaimsController:getSubmitClaimConfig`;
23
+ handler: ClaimsController['getSubmitClaimConfig'];
24
+ };
25
+ /**
26
+ * Generate a signature for a claim.
27
+ *
28
+ * @param chainId - The chain id of the claim.
29
+ * @param walletAddress - The impacted wallet address of the claim.
30
+ * @returns The signature for the claim.
31
+ */
32
+ export type ClaimsControllerGenerateClaimSignatureAction = {
33
+ type: `ClaimsController:generateClaimSignature`;
34
+ handler: ClaimsController['generateClaimSignature'];
35
+ };
36
+ /**
37
+ * Get the list of claims for the current user.
38
+ *
39
+ * @returns The list of claims for the current user.
40
+ */
41
+ export type ClaimsControllerGetClaimsAction = {
42
+ type: `ClaimsController:getClaims`;
43
+ handler: ClaimsController['getClaims'];
44
+ };
45
+ /**
46
+ * Save a claim draft to the state.
47
+ * If the draft name is not provided, a default name will be generated.
48
+ * If the draft with the same id already exists, it will be updated.
49
+ *
50
+ * @param draft - The draft to save.
51
+ * @returns The saved draft.
52
+ */
53
+ export type ClaimsControllerSaveOrUpdateClaimDraftAction = {
54
+ type: `ClaimsController:saveOrUpdateClaimDraft`;
55
+ handler: ClaimsController['saveOrUpdateClaimDraft'];
56
+ };
57
+ /**
58
+ * Get the list of claim drafts.
59
+ *
60
+ * @returns The list of claim drafts.
61
+ */
62
+ export type ClaimsControllerGetClaimDraftsAction = {
63
+ type: `ClaimsController:getClaimDrafts`;
64
+ handler: ClaimsController['getClaimDrafts'];
65
+ };
66
+ /**
67
+ * Delete a claim draft from the state.
68
+ *
69
+ * @param draftId - The ID of the draft to delete.
70
+ */
71
+ export type ClaimsControllerDeleteClaimDraftAction = {
72
+ type: `ClaimsController:deleteClaimDraft`;
73
+ handler: ClaimsController['deleteClaimDraft'];
74
+ };
75
+ /**
76
+ * Delete all claim drafts from the state.
77
+ */
78
+ export type ClaimsControllerDeleteAllClaimDraftsAction = {
79
+ type: `ClaimsController:deleteAllClaimDrafts`;
80
+ handler: ClaimsController['deleteAllClaimDrafts'];
81
+ };
82
+ /**
83
+ * Clears the claims state and resets to default values.
84
+ */
85
+ export type ClaimsControllerClearStateAction = {
86
+ type: `ClaimsController:clearState`;
87
+ handler: ClaimsController['clearState'];
88
+ };
89
+ /**
90
+ * Union of all ClaimsController action types.
91
+ */
92
+ export type ClaimsControllerMethodActions = ClaimsControllerFetchClaimsConfigurationsAction | ClaimsControllerGetSubmitClaimConfigAction | ClaimsControllerGenerateClaimSignatureAction | ClaimsControllerGetClaimsAction | ClaimsControllerSaveOrUpdateClaimDraftAction | ClaimsControllerGetClaimDraftsAction | ClaimsControllerDeleteClaimDraftAction | ClaimsControllerDeleteAllClaimDraftsAction | ClaimsControllerClearStateAction;
93
+ //# sourceMappingURL=ClaimsController-method-action-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController-method-action-types.d.mts","sourceRoot":"","sources":["../src/ClaimsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,+BAA8B;AAE9D;;;;GAIG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,gBAAgB,CAAC,2BAA2B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;CACzC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,6BAA6B,GACrC,+CAA+C,GAC/C,0CAA0C,GAC1C,4CAA4C,GAC5C,+BAA+B,GAC/B,4CAA4C,GAC5C,oCAAoC,GACpC,sCAAsC,GACtC,0CAA0C,GAC1C,gCAAgC,CAAC"}
@@ -3,4 +3,4 @@
3
3
  * Do not edit manually.
4
4
  */
5
5
  export {};
6
- //# sourceMappingURL=ClaimsController-method-action-types.js.map
6
+ //# sourceMappingURL=ClaimsController-method-action-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController-method-action-types.mjs","sourceRoot":"","sources":["../src/ClaimsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { ClaimsController } from './ClaimsController.js';\n\n/**\n * Fetch the required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\nexport type ClaimsControllerFetchClaimsConfigurationsAction = {\n type: `ClaimsController:fetchClaimsConfigurations`;\n handler: ClaimsController['fetchClaimsConfigurations'];\n};\n\n/**\n * Get required config for submitting a claim.\n *\n * @param claim - The claim request to get the required config for.\n * @returns The required config for submitting the claim.\n */\nexport type ClaimsControllerGetSubmitClaimConfigAction = {\n type: `ClaimsController:getSubmitClaimConfig`;\n handler: ClaimsController['getSubmitClaimConfig'];\n};\n\n/**\n * Generate a signature for a claim.\n *\n * @param chainId - The chain id of the claim.\n * @param walletAddress - The impacted wallet address of the claim.\n * @returns The signature for the claim.\n */\nexport type ClaimsControllerGenerateClaimSignatureAction = {\n type: `ClaimsController:generateClaimSignature`;\n handler: ClaimsController['generateClaimSignature'];\n};\n\n/**\n * Get the list of claims for the current user.\n *\n * @returns The list of claims for the current user.\n */\nexport type ClaimsControllerGetClaimsAction = {\n type: `ClaimsController:getClaims`;\n handler: ClaimsController['getClaims'];\n};\n\n/**\n * Save a claim draft to the state.\n * If the draft name is not provided, a default name will be generated.\n * If the draft with the same id already exists, it will be updated.\n *\n * @param draft - The draft to save.\n * @returns The saved draft.\n */\nexport type ClaimsControllerSaveOrUpdateClaimDraftAction = {\n type: `ClaimsController:saveOrUpdateClaimDraft`;\n handler: ClaimsController['saveOrUpdateClaimDraft'];\n};\n\n/**\n * Get the list of claim drafts.\n *\n * @returns The list of claim drafts.\n */\nexport type ClaimsControllerGetClaimDraftsAction = {\n type: `ClaimsController:getClaimDrafts`;\n handler: ClaimsController['getClaimDrafts'];\n};\n\n/**\n * Delete a claim draft from the state.\n *\n * @param draftId - The ID of the draft to delete.\n */\nexport type ClaimsControllerDeleteClaimDraftAction = {\n type: `ClaimsController:deleteClaimDraft`;\n handler: ClaimsController['deleteClaimDraft'];\n};\n\n/**\n * Delete all claim drafts from the state.\n */\nexport type ClaimsControllerDeleteAllClaimDraftsAction = {\n type: `ClaimsController:deleteAllClaimDrafts`;\n handler: ClaimsController['deleteAllClaimDrafts'];\n};\n\n/**\n * Clears the claims state and resets to default values.\n */\nexport type ClaimsControllerClearStateAction = {\n type: `ClaimsController:clearState`;\n handler: ClaimsController['clearState'];\n};\n\n/**\n * Union of all ClaimsController action types.\n */\nexport type ClaimsControllerMethodActions =\n | ClaimsControllerFetchClaimsConfigurationsAction\n | ClaimsControllerGetSubmitClaimConfigAction\n | ClaimsControllerGenerateClaimSignatureAction\n | ClaimsControllerGetClaimsAction\n | ClaimsControllerSaveOrUpdateClaimDraftAction\n | ClaimsControllerGetClaimDraftsAction\n | ClaimsControllerDeleteClaimDraftAction\n | ClaimsControllerDeleteAllClaimDraftsAction\n | ClaimsControllerClearStateAction;\n"]}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _ClaimsController_instances, _ClaimsController_validateSubmitClaimRequest;
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ClaimsController = exports.getDefaultClaimsControllerState = void 0;
10
+ const base_controller_1 = require("@metamask/base-controller");
11
+ const controller_utils_1 = require("@metamask/controller-utils");
12
+ const utils_1 = require("@metamask/utils");
13
+ const constants_js_1 = require("./constants.cjs");
14
+ const ClaimsControllerStateMetadata = {
15
+ claims: {
16
+ includeInStateLogs: false,
17
+ persist: true,
18
+ includeInDebugSnapshot: false,
19
+ usedInUi: true,
20
+ },
21
+ claimsConfigurations: {
22
+ includeInStateLogs: true,
23
+ persist: true,
24
+ includeInDebugSnapshot: true,
25
+ usedInUi: true,
26
+ },
27
+ drafts: {
28
+ includeInStateLogs: false,
29
+ persist: true,
30
+ includeInDebugSnapshot: false,
31
+ usedInUi: true,
32
+ },
33
+ };
34
+ /**
35
+ * Get an initial default state for the controller.
36
+ *
37
+ * @returns The initial default controller state.
38
+ */
39
+ function getDefaultClaimsControllerState() {
40
+ return {
41
+ claimsConfigurations: constants_js_1.DEFAULT_CLAIMS_CONFIGURATIONS,
42
+ claims: [],
43
+ drafts: [],
44
+ };
45
+ }
46
+ exports.getDefaultClaimsControllerState = getDefaultClaimsControllerState;
47
+ const MESSENGER_EXPOSED_METHODS = [
48
+ 'fetchClaimsConfigurations',
49
+ 'getSubmitClaimConfig',
50
+ 'generateClaimSignature',
51
+ 'getClaims',
52
+ 'saveOrUpdateClaimDraft',
53
+ 'getClaimDrafts',
54
+ 'deleteClaimDraft',
55
+ 'deleteAllClaimDrafts',
56
+ 'clearState',
57
+ ];
58
+ class ClaimsController extends base_controller_1.BaseController {
59
+ constructor({ messenger, state }) {
60
+ super({
61
+ messenger,
62
+ metadata: ClaimsControllerStateMetadata,
63
+ name: constants_js_1.CONTROLLER_NAME,
64
+ state: { ...getDefaultClaimsControllerState(), ...state },
65
+ });
66
+ _ClaimsController_instances.add(this);
67
+ this.messenger.registerMethodActionHandlers(this, MESSENGER_EXPOSED_METHODS);
68
+ }
69
+ /**
70
+ * Fetch the required configurations for the claims service.
71
+ *
72
+ * @returns The required configurations for the claims service.
73
+ */
74
+ async fetchClaimsConfigurations() {
75
+ const configurations = await this.messenger.call(`${constants_js_1.SERVICE_NAME}:fetchClaimsConfigurations`);
76
+ const supportedNetworks = configurations.networks.map((network) => (0, controller_utils_1.toHex)(network));
77
+ const claimsConfigurations = {
78
+ validSubmissionWindowDays: configurations.validSubmissionWindowDays,
79
+ supportedNetworks,
80
+ };
81
+ this.update((state) => {
82
+ state.claimsConfigurations = claimsConfigurations;
83
+ });
84
+ return claimsConfigurations;
85
+ }
86
+ /**
87
+ * Get required config for submitting a claim.
88
+ *
89
+ * @param claim - The claim request to get the required config for.
90
+ * @returns The required config for submitting the claim.
91
+ */
92
+ async getSubmitClaimConfig(claim) {
93
+ // Validate the claim before submitting it.
94
+ __classPrivateFieldGet(this, _ClaimsController_instances, "m", _ClaimsController_validateSubmitClaimRequest).call(this, claim);
95
+ const headers = await this.messenger.call(`${constants_js_1.SERVICE_NAME}:getRequestHeaders`);
96
+ const baseUrl = this.messenger.call(`${constants_js_1.SERVICE_NAME}:getClaimsApiUrl`);
97
+ const url = `${baseUrl}/claims`;
98
+ return {
99
+ data: claim,
100
+ headers,
101
+ method: 'POST',
102
+ url,
103
+ };
104
+ }
105
+ /**
106
+ * Generate a signature for a claim.
107
+ *
108
+ * @param chainId - The chain id of the claim.
109
+ * @param walletAddress - The impacted wallet address of the claim.
110
+ * @returns The signature for the claim.
111
+ */
112
+ async generateClaimSignature(chainId, walletAddress) {
113
+ // generate the message to be signed
114
+ const { message } = await this.messenger.call(`${constants_js_1.SERVICE_NAME}:generateMessageForClaimSignature`, chainId, walletAddress);
115
+ // generate and parse the SIWE message
116
+ const messageBytes = (0, utils_1.stringToBytes)(message);
117
+ const messageHex = (0, utils_1.bytesToHex)(messageBytes);
118
+ const siwe = (0, controller_utils_1.detectSIWE)({ data: messageHex });
119
+ if (!siwe.isSIWEMessage) {
120
+ throw new Error(constants_js_1.ClaimsControllerErrorMessages.INVALID_SIGNATURE_MESSAGE);
121
+ }
122
+ // sign the message
123
+ const signature = await this.messenger.call('KeyringController:signPersonalMessage', {
124
+ data: message,
125
+ from: walletAddress,
126
+ siwe,
127
+ });
128
+ return signature;
129
+ }
130
+ /**
131
+ * Get the list of claims for the current user.
132
+ *
133
+ * @returns The list of claims for the current user.
134
+ */
135
+ async getClaims() {
136
+ const claims = await this.messenger.call(`${constants_js_1.SERVICE_NAME}:getClaims`);
137
+ this.update((state) => {
138
+ state.claims = claims;
139
+ });
140
+ return claims;
141
+ }
142
+ /**
143
+ * Save a claim draft to the state.
144
+ * If the draft name is not provided, a default name will be generated.
145
+ * If the draft with the same id already exists, it will be updated.
146
+ *
147
+ * @param draft - The draft to save.
148
+ * @returns The saved draft.
149
+ */
150
+ saveOrUpdateClaimDraft(draft) {
151
+ const { drafts } = this.state;
152
+ const isExistingDraft = drafts.some((existingDraft) => draft.draftId && existingDraft.draftId === draft.draftId);
153
+ if (isExistingDraft) {
154
+ const updatedAt = new Date().toISOString();
155
+ this.update((state) => {
156
+ state.drafts = state.drafts.map((existingDraft) => existingDraft.draftId === draft.draftId
157
+ ? {
158
+ ...existingDraft,
159
+ ...draft,
160
+ updatedAt,
161
+ }
162
+ : existingDraft);
163
+ });
164
+ return { ...draft, updatedAt };
165
+ }
166
+ // generate a new draft id, name and add it to the state
167
+ const draftId = `draft-${Date.now()}`;
168
+ const newDraft = {
169
+ ...draft,
170
+ draftId,
171
+ updatedAt: new Date().toISOString(),
172
+ };
173
+ this.update((state) => {
174
+ state.drafts.push(newDraft);
175
+ });
176
+ return newDraft;
177
+ }
178
+ /**
179
+ * Get the list of claim drafts.
180
+ *
181
+ * @returns The list of claim drafts.
182
+ */
183
+ getClaimDrafts() {
184
+ return this.state.drafts;
185
+ }
186
+ /**
187
+ * Delete a claim draft from the state.
188
+ *
189
+ * @param draftId - The ID of the draft to delete.
190
+ */
191
+ deleteClaimDraft(draftId) {
192
+ this.update((state) => {
193
+ state.drafts = state.drafts.filter((draft) => draft.draftId !== draftId);
194
+ });
195
+ }
196
+ /**
197
+ * Delete all claim drafts from the state.
198
+ */
199
+ deleteAllClaimDrafts() {
200
+ this.update((state) => {
201
+ state.drafts = [];
202
+ });
203
+ }
204
+ /**
205
+ * Clears the claims state and resets to default values.
206
+ */
207
+ clearState() {
208
+ this.update(() => {
209
+ return getDefaultClaimsControllerState();
210
+ });
211
+ }
212
+ }
213
+ exports.ClaimsController = ClaimsController;
214
+ _ClaimsController_instances = new WeakSet(), _ClaimsController_validateSubmitClaimRequest = function _ClaimsController_validateSubmitClaimRequest(claim) {
215
+ const { claims: existingClaims } = this.state;
216
+ const isClaimAlreadySubmitted = existingClaims.some((existingClaim) => existingClaim.impactedTxHash === claim.impactedTxHash);
217
+ if (isClaimAlreadySubmitted) {
218
+ throw new Error(constants_js_1.ClaimsControllerErrorMessages.CLAIM_ALREADY_SUBMITTED);
219
+ }
220
+ };
221
+ //# sourceMappingURL=ClaimsController.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController.cjs","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport { detectSIWE, toHex } from '@metamask/controller-utils';\nimport type { KeyringControllerSignPersonalMessageAction } from '@metamask/keyring-controller';\nimport type { Messenger } from '@metamask/messenger';\nimport { bytesToHex, stringToBytes } from '@metamask/utils';\n\nimport type { ClaimsControllerMethodActions } from './ClaimsController-method-action-types.js';\nimport type {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetRequestHeadersAction,\n} from './ClaimsService-method-action-types.js';\nimport {\n ClaimsControllerErrorMessages,\n CONTROLLER_NAME,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n SERVICE_NAME,\n} from './constants.js';\nimport type {\n Claim,\n ClaimDraft,\n ClaimsConfigurations,\n ClaimsControllerState,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types.js';\n\nexport type ClaimsControllerGetStateAction = ControllerGetStateAction<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerActions =\n | ClaimsControllerGetStateAction\n | ClaimsControllerMethodActions;\n\nexport type AllowedActions =\n | ClaimsServiceFetchClaimsConfigurationsAction\n | ClaimsServiceGetClaimsAction\n | ClaimsServiceGetClaimByIdAction\n | ClaimsServiceGetRequestHeadersAction\n | ClaimsServiceGetClaimsApiUrlAction\n | ClaimsServiceGenerateMessageForClaimSignatureAction\n | ClaimsServiceGetClaimsAction\n | KeyringControllerSignPersonalMessageAction;\n\nexport type ClaimsControllerStateChangeEvent = ControllerStateChangeEvent<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerMessenger = Messenger<\n typeof CONTROLLER_NAME,\n ClaimsControllerActions | AllowedActions,\n ClaimsControllerStateChangeEvent\n>;\n\nexport type ClaimsControllerOptions = {\n messenger: ClaimsControllerMessenger;\n state?: Partial<ClaimsControllerState>;\n};\n\nconst ClaimsControllerStateMetadata: StateMetadata<ClaimsControllerState> = {\n claims: {\n includeInStateLogs: false,\n persist: true,\n includeInDebugSnapshot: false,\n usedInUi: true,\n },\n claimsConfigurations: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n drafts: {\n includeInStateLogs: false,\n persist: true,\n includeInDebugSnapshot: false,\n usedInUi: true,\n },\n};\n\n/**\n * Get an initial default state for the controller.\n *\n * @returns The initial default controller state.\n */\nexport function getDefaultClaimsControllerState(): ClaimsControllerState {\n return {\n claimsConfigurations: DEFAULT_CLAIMS_CONFIGURATIONS,\n claims: [],\n drafts: [],\n };\n}\n\nconst MESSENGER_EXPOSED_METHODS = [\n 'fetchClaimsConfigurations',\n 'getSubmitClaimConfig',\n 'generateClaimSignature',\n 'getClaims',\n 'saveOrUpdateClaimDraft',\n 'getClaimDrafts',\n 'deleteClaimDraft',\n 'deleteAllClaimDrafts',\n 'clearState',\n] as const;\n\nexport class ClaimsController extends BaseController<\n typeof CONTROLLER_NAME,\n ClaimsControllerState,\n ClaimsControllerMessenger\n> {\n constructor({ messenger, state }: ClaimsControllerOptions) {\n super({\n messenger,\n metadata: ClaimsControllerStateMetadata,\n name: CONTROLLER_NAME,\n state: { ...getDefaultClaimsControllerState(), ...state },\n });\n\n this.messenger.registerMethodActionHandlers(\n this,\n MESSENGER_EXPOSED_METHODS,\n );\n }\n\n /**\n * Fetch the required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\n async fetchClaimsConfigurations(): Promise<ClaimsConfigurations> {\n const configurations = await this.messenger.call(\n `${SERVICE_NAME}:fetchClaimsConfigurations`,\n );\n\n const supportedNetworks = configurations.networks.map((network) =>\n toHex(network),\n );\n const claimsConfigurations = {\n validSubmissionWindowDays: configurations.validSubmissionWindowDays,\n supportedNetworks,\n };\n\n this.update((state) => {\n state.claimsConfigurations = claimsConfigurations;\n });\n return claimsConfigurations;\n }\n\n /**\n * Get required config for submitting a claim.\n *\n * @param claim - The claim request to get the required config for.\n * @returns The required config for submitting the claim.\n */\n async getSubmitClaimConfig(\n claim: CreateClaimRequest,\n ): Promise<SubmitClaimConfig> {\n // Validate the claim before submitting it.\n this.#validateSubmitClaimRequest(claim);\n\n const headers = await this.messenger.call(\n `${SERVICE_NAME}:getRequestHeaders`,\n );\n const baseUrl = this.messenger.call(`${SERVICE_NAME}:getClaimsApiUrl`);\n const url = `${baseUrl}/claims`;\n\n return {\n data: claim,\n headers,\n method: 'POST',\n url,\n };\n }\n\n /**\n * Generate a signature for a claim.\n *\n * @param chainId - The chain id of the claim.\n * @param walletAddress - The impacted wallet address of the claim.\n * @returns The signature for the claim.\n */\n async generateClaimSignature(\n chainId: number,\n walletAddress: `0x${string}`,\n ): Promise<string> {\n // generate the message to be signed\n const { message } = await this.messenger.call(\n `${SERVICE_NAME}:generateMessageForClaimSignature`,\n chainId,\n walletAddress,\n );\n\n // generate and parse the SIWE message\n const messageBytes = stringToBytes(message);\n const messageHex = bytesToHex(messageBytes);\n const siwe = detectSIWE({ data: messageHex });\n if (!siwe.isSIWEMessage) {\n throw new Error(ClaimsControllerErrorMessages.INVALID_SIGNATURE_MESSAGE);\n }\n\n // sign the message\n const signature = await this.messenger.call(\n 'KeyringController:signPersonalMessage',\n {\n data: message,\n from: walletAddress,\n siwe,\n },\n );\n\n return signature;\n }\n\n /**\n * Get the list of claims for the current user.\n *\n * @returns The list of claims for the current user.\n */\n async getClaims(): Promise<Claim[]> {\n const claims = await this.messenger.call(`${SERVICE_NAME}:getClaims`);\n this.update((state) => {\n state.claims = claims;\n });\n return claims;\n }\n\n /**\n * Save a claim draft to the state.\n * If the draft name is not provided, a default name will be generated.\n * If the draft with the same id already exists, it will be updated.\n *\n * @param draft - The draft to save.\n * @returns The saved draft.\n */\n saveOrUpdateClaimDraft(draft: Partial<ClaimDraft>): ClaimDraft {\n const { drafts } = this.state;\n\n const isExistingDraft = drafts.some(\n (existingDraft) =>\n draft.draftId && existingDraft.draftId === draft.draftId,\n );\n\n if (isExistingDraft) {\n const updatedAt = new Date().toISOString();\n this.update((state) => {\n state.drafts = state.drafts.map((existingDraft) =>\n existingDraft.draftId === draft.draftId\n ? {\n ...existingDraft,\n ...draft,\n updatedAt,\n }\n : existingDraft,\n );\n });\n return { ...draft, updatedAt } as ClaimDraft;\n }\n\n // generate a new draft id, name and add it to the state\n const draftId = `draft-${Date.now()}`;\n\n const newDraft: ClaimDraft = {\n ...draft,\n draftId,\n updatedAt: new Date().toISOString(),\n };\n\n this.update((state) => {\n state.drafts.push(newDraft);\n });\n\n return newDraft;\n }\n\n /**\n * Get the list of claim drafts.\n *\n * @returns The list of claim drafts.\n */\n getClaimDrafts(): ClaimDraft[] {\n return this.state.drafts;\n }\n\n /**\n * Delete a claim draft from the state.\n *\n * @param draftId - The ID of the draft to delete.\n */\n deleteClaimDraft(draftId: string): void {\n this.update((state) => {\n state.drafts = state.drafts.filter((draft) => draft.draftId !== draftId);\n });\n }\n\n /**\n * Delete all claim drafts from the state.\n */\n deleteAllClaimDrafts(): void {\n this.update((state) => {\n state.drafts = [];\n });\n }\n\n /**\n * Clears the claims state and resets to default values.\n */\n clearState(): void {\n this.update(() => {\n return getDefaultClaimsControllerState();\n });\n }\n\n /**\n * Validate the claim before submitting it.\n *\n * @param claim - The claim to validate.\n */\n #validateSubmitClaimRequest(claim: CreateClaimRequest): void {\n const { claims: existingClaims } = this.state;\n const isClaimAlreadySubmitted = existingClaims.some(\n (existingClaim) => existingClaim.impactedTxHash === claim.impactedTxHash,\n );\n if (isClaimAlreadySubmitted) {\n throw new Error(ClaimsControllerErrorMessages.CLAIM_ALREADY_SUBMITTED);\n }\n }\n}\n"]}
@@ -1,11 +1,11 @@
1
- import type { ControllerGetStateAction, ControllerStateChangeEvent } from '@metamask/base-controller';
2
- import { BaseController } from '@metamask/base-controller';
3
- import type { KeyringControllerSignPersonalMessageAction } from '@metamask/keyring-controller';
4
- import type { Messenger } from '@metamask/messenger';
5
- import type { ClaimsControllerMethodActions } from './ClaimsController-method-action-types.js';
6
- import type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from './ClaimsService-method-action-types.js';
7
- import { CONTROLLER_NAME } from './constants.js';
8
- import type { Claim, ClaimDraft, ClaimsConfigurations, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from './types.js';
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { KeyringControllerSignPersonalMessageAction } from "@metamask/keyring-controller";
4
+ import type { Messenger } from "@metamask/messenger";
5
+ import type { ClaimsControllerMethodActions } from "./ClaimsController-method-action-types.cjs";
6
+ import type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService-method-action-types.cjs";
7
+ import { CONTROLLER_NAME } from "./constants.cjs";
8
+ import type { Claim, ClaimDraft, ClaimsConfigurations, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.cjs";
9
9
  export type ClaimsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, ClaimsControllerState>;
10
10
  export type ClaimsControllerActions = ClaimsControllerGetStateAction | ClaimsControllerMethodActions;
11
11
  export type AllowedActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
@@ -81,4 +81,4 @@ export declare class ClaimsController extends BaseController<typeof CONTROLLER_N
81
81
  */
82
82
  clearState(): void;
83
83
  }
84
- //# sourceMappingURL=ClaimsController.d.ts.map
84
+ //# sourceMappingURL=ClaimsController.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController.d.cts","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,0CAA0C,EAAE,qCAAqC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAGrD,OAAO,KAAK,EAAE,6BAA6B,EAAE,mDAAkD;AAC/F,OAAO,KAAK,EACV,4CAA4C,EAC5C,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,gDAA+C;AAChD,OAAO,EAEL,eAAe,EAGhB,wBAAuB;AACxB,OAAO,KAAK,EACV,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAmB;AAEpB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,MAAM,cAAc,GACtB,4CAA4C,GAC5C,4BAA4B,GAC5B,+BAA+B,GAC/B,oCAAoC,GACpC,kCAAkC,GAClC,mDAAmD,GACnD,4BAA4B,GAC5B,0CAA0C,CAAC;AAE/C,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,CACvE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAC/C,OAAO,eAAe,EACtB,uBAAuB,GAAG,cAAc,EACxC,gCAAgC,CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACxC,CAAC;AAuBF;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CAMvE;AAcD,qBAAa,gBAAiB,SAAQ,cAAc,CAClD,OAAO,eAAe,EACtB,qBAAqB,EACrB,yBAAyB,CAC1B;;gBACa,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,uBAAuB;IAczD;;;;OAIG;IACG,yBAAyB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAmBhE;;;;;OAKG;IACG,oBAAoB,CACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAkB7B;;;;;;OAMG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAQnC;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAwC9D;;;;OAIG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,UAAU,IAAI,IAAI;CAoBnB"}
@@ -0,0 +1,84 @@
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { KeyringControllerSignPersonalMessageAction } from "@metamask/keyring-controller";
4
+ import type { Messenger } from "@metamask/messenger";
5
+ import type { ClaimsControllerMethodActions } from "./ClaimsController-method-action-types.mjs";
6
+ import type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService-method-action-types.mjs";
7
+ import { CONTROLLER_NAME } from "./constants.mjs";
8
+ import type { Claim, ClaimDraft, ClaimsConfigurations, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.mjs";
9
+ export type ClaimsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, ClaimsControllerState>;
10
+ export type ClaimsControllerActions = ClaimsControllerGetStateAction | ClaimsControllerMethodActions;
11
+ export type AllowedActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
12
+ export type ClaimsControllerStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, ClaimsControllerState>;
13
+ export type ClaimsControllerMessenger = Messenger<typeof CONTROLLER_NAME, ClaimsControllerActions | AllowedActions, ClaimsControllerStateChangeEvent>;
14
+ export type ClaimsControllerOptions = {
15
+ messenger: ClaimsControllerMessenger;
16
+ state?: Partial<ClaimsControllerState>;
17
+ };
18
+ /**
19
+ * Get an initial default state for the controller.
20
+ *
21
+ * @returns The initial default controller state.
22
+ */
23
+ export declare function getDefaultClaimsControllerState(): ClaimsControllerState;
24
+ export declare class ClaimsController extends BaseController<typeof CONTROLLER_NAME, ClaimsControllerState, ClaimsControllerMessenger> {
25
+ #private;
26
+ constructor({ messenger, state }: ClaimsControllerOptions);
27
+ /**
28
+ * Fetch the required configurations for the claims service.
29
+ *
30
+ * @returns The required configurations for the claims service.
31
+ */
32
+ fetchClaimsConfigurations(): Promise<ClaimsConfigurations>;
33
+ /**
34
+ * Get required config for submitting a claim.
35
+ *
36
+ * @param claim - The claim request to get the required config for.
37
+ * @returns The required config for submitting the claim.
38
+ */
39
+ getSubmitClaimConfig(claim: CreateClaimRequest): Promise<SubmitClaimConfig>;
40
+ /**
41
+ * Generate a signature for a claim.
42
+ *
43
+ * @param chainId - The chain id of the claim.
44
+ * @param walletAddress - The impacted wallet address of the claim.
45
+ * @returns The signature for the claim.
46
+ */
47
+ generateClaimSignature(chainId: number, walletAddress: `0x${string}`): Promise<string>;
48
+ /**
49
+ * Get the list of claims for the current user.
50
+ *
51
+ * @returns The list of claims for the current user.
52
+ */
53
+ getClaims(): Promise<Claim[]>;
54
+ /**
55
+ * Save a claim draft to the state.
56
+ * If the draft name is not provided, a default name will be generated.
57
+ * If the draft with the same id already exists, it will be updated.
58
+ *
59
+ * @param draft - The draft to save.
60
+ * @returns The saved draft.
61
+ */
62
+ saveOrUpdateClaimDraft(draft: Partial<ClaimDraft>): ClaimDraft;
63
+ /**
64
+ * Get the list of claim drafts.
65
+ *
66
+ * @returns The list of claim drafts.
67
+ */
68
+ getClaimDrafts(): ClaimDraft[];
69
+ /**
70
+ * Delete a claim draft from the state.
71
+ *
72
+ * @param draftId - The ID of the draft to delete.
73
+ */
74
+ deleteClaimDraft(draftId: string): void;
75
+ /**
76
+ * Delete all claim drafts from the state.
77
+ */
78
+ deleteAllClaimDrafts(): void;
79
+ /**
80
+ * Clears the claims state and resets to default values.
81
+ */
82
+ clearState(): void;
83
+ }
84
+ //# sourceMappingURL=ClaimsController.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController.d.mts","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAE3B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAE3D,OAAO,KAAK,EAAE,0CAA0C,EAAE,qCAAqC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAGrD,OAAO,KAAK,EAAE,6BAA6B,EAAE,mDAAkD;AAC/F,OAAO,KAAK,EACV,4CAA4C,EAC5C,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,gDAA+C;AAChD,OAAO,EAEL,eAAe,EAGhB,wBAAuB;AACxB,OAAO,KAAK,EACV,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAmB;AAEpB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,6BAA6B,CAAC;AAElC,MAAM,MAAM,cAAc,GACtB,4CAA4C,GAC5C,4BAA4B,GAC5B,+BAA+B,GAC/B,oCAAoC,GACpC,kCAAkC,GAClC,mDAAmD,GACnD,4BAA4B,GAC5B,0CAA0C,CAAC;AAE/C,MAAM,MAAM,gCAAgC,GAAG,0BAA0B,CACvE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,SAAS,CAC/C,OAAO,eAAe,EACtB,uBAAuB,GAAG,cAAc,EACxC,gCAAgC,CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACxC,CAAC;AAuBF;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CAMvE;AAcD,qBAAa,gBAAiB,SAAQ,cAAc,CAClD,OAAO,eAAe,EACtB,qBAAqB,EACrB,yBAAyB,CAC1B;;gBACa,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,uBAAuB;IAczD;;;;OAIG;IACG,yBAAyB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAmBhE;;;;;OAKG;IACG,oBAAoB,CACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAkB7B;;;;;;OAMG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC;IA6BlB;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAQnC;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAwC9D;;;;OAIG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMvC;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,UAAU,IAAI,IAAI;CAoBnB"}
@@ -4,10 +4,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
6
  var _ClaimsController_instances, _ClaimsController_validateSubmitClaimRequest;
7
- import { BaseController } from '@metamask/base-controller';
8
- import { detectSIWE, toHex } from '@metamask/controller-utils';
9
- import { bytesToHex, stringToBytes } from '@metamask/utils';
10
- import { ClaimsControllerErrorMessages, CONTROLLER_NAME, DEFAULT_CLAIMS_CONFIGURATIONS, SERVICE_NAME, } from './constants.js';
7
+ import { BaseController } from "@metamask/base-controller";
8
+ import { detectSIWE, toHex } from "@metamask/controller-utils";
9
+ import { bytesToHex, stringToBytes } from "@metamask/utils";
10
+ import { ClaimsControllerErrorMessages, CONTROLLER_NAME, DEFAULT_CLAIMS_CONFIGURATIONS, SERVICE_NAME } from "./constants.mjs";
11
11
  const ClaimsControllerStateMetadata = {
12
12
  claims: {
13
13
  includeInStateLogs: false,
@@ -213,4 +213,4 @@ _ClaimsController_instances = new WeakSet(), _ClaimsController_validateSubmitCla
213
213
  throw new Error(ClaimsControllerErrorMessages.CLAIM_ALREADY_SUBMITTED);
214
214
  }
215
215
  };
216
- //# sourceMappingURL=ClaimsController.js.map
216
+ //# sourceMappingURL=ClaimsController.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsController.mjs","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport { detectSIWE, toHex } from '@metamask/controller-utils';\nimport type { KeyringControllerSignPersonalMessageAction } from '@metamask/keyring-controller';\nimport type { Messenger } from '@metamask/messenger';\nimport { bytesToHex, stringToBytes } from '@metamask/utils';\n\nimport type { ClaimsControllerMethodActions } from './ClaimsController-method-action-types.js';\nimport type {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetRequestHeadersAction,\n} from './ClaimsService-method-action-types.js';\nimport {\n ClaimsControllerErrorMessages,\n CONTROLLER_NAME,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n SERVICE_NAME,\n} from './constants.js';\nimport type {\n Claim,\n ClaimDraft,\n ClaimsConfigurations,\n ClaimsControllerState,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types.js';\n\nexport type ClaimsControllerGetStateAction = ControllerGetStateAction<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerActions =\n | ClaimsControllerGetStateAction\n | ClaimsControllerMethodActions;\n\nexport type AllowedActions =\n | ClaimsServiceFetchClaimsConfigurationsAction\n | ClaimsServiceGetClaimsAction\n | ClaimsServiceGetClaimByIdAction\n | ClaimsServiceGetRequestHeadersAction\n | ClaimsServiceGetClaimsApiUrlAction\n | ClaimsServiceGenerateMessageForClaimSignatureAction\n | ClaimsServiceGetClaimsAction\n | KeyringControllerSignPersonalMessageAction;\n\nexport type ClaimsControllerStateChangeEvent = ControllerStateChangeEvent<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerMessenger = Messenger<\n typeof CONTROLLER_NAME,\n ClaimsControllerActions | AllowedActions,\n ClaimsControllerStateChangeEvent\n>;\n\nexport type ClaimsControllerOptions = {\n messenger: ClaimsControllerMessenger;\n state?: Partial<ClaimsControllerState>;\n};\n\nconst ClaimsControllerStateMetadata: StateMetadata<ClaimsControllerState> = {\n claims: {\n includeInStateLogs: false,\n persist: true,\n includeInDebugSnapshot: false,\n usedInUi: true,\n },\n claimsConfigurations: {\n includeInStateLogs: true,\n persist: true,\n includeInDebugSnapshot: true,\n usedInUi: true,\n },\n drafts: {\n includeInStateLogs: false,\n persist: true,\n includeInDebugSnapshot: false,\n usedInUi: true,\n },\n};\n\n/**\n * Get an initial default state for the controller.\n *\n * @returns The initial default controller state.\n */\nexport function getDefaultClaimsControllerState(): ClaimsControllerState {\n return {\n claimsConfigurations: DEFAULT_CLAIMS_CONFIGURATIONS,\n claims: [],\n drafts: [],\n };\n}\n\nconst MESSENGER_EXPOSED_METHODS = [\n 'fetchClaimsConfigurations',\n 'getSubmitClaimConfig',\n 'generateClaimSignature',\n 'getClaims',\n 'saveOrUpdateClaimDraft',\n 'getClaimDrafts',\n 'deleteClaimDraft',\n 'deleteAllClaimDrafts',\n 'clearState',\n] as const;\n\nexport class ClaimsController extends BaseController<\n typeof CONTROLLER_NAME,\n ClaimsControllerState,\n ClaimsControllerMessenger\n> {\n constructor({ messenger, state }: ClaimsControllerOptions) {\n super({\n messenger,\n metadata: ClaimsControllerStateMetadata,\n name: CONTROLLER_NAME,\n state: { ...getDefaultClaimsControllerState(), ...state },\n });\n\n this.messenger.registerMethodActionHandlers(\n this,\n MESSENGER_EXPOSED_METHODS,\n );\n }\n\n /**\n * Fetch the required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\n async fetchClaimsConfigurations(): Promise<ClaimsConfigurations> {\n const configurations = await this.messenger.call(\n `${SERVICE_NAME}:fetchClaimsConfigurations`,\n );\n\n const supportedNetworks = configurations.networks.map((network) =>\n toHex(network),\n );\n const claimsConfigurations = {\n validSubmissionWindowDays: configurations.validSubmissionWindowDays,\n supportedNetworks,\n };\n\n this.update((state) => {\n state.claimsConfigurations = claimsConfigurations;\n });\n return claimsConfigurations;\n }\n\n /**\n * Get required config for submitting a claim.\n *\n * @param claim - The claim request to get the required config for.\n * @returns The required config for submitting the claim.\n */\n async getSubmitClaimConfig(\n claim: CreateClaimRequest,\n ): Promise<SubmitClaimConfig> {\n // Validate the claim before submitting it.\n this.#validateSubmitClaimRequest(claim);\n\n const headers = await this.messenger.call(\n `${SERVICE_NAME}:getRequestHeaders`,\n );\n const baseUrl = this.messenger.call(`${SERVICE_NAME}:getClaimsApiUrl`);\n const url = `${baseUrl}/claims`;\n\n return {\n data: claim,\n headers,\n method: 'POST',\n url,\n };\n }\n\n /**\n * Generate a signature for a claim.\n *\n * @param chainId - The chain id of the claim.\n * @param walletAddress - The impacted wallet address of the claim.\n * @returns The signature for the claim.\n */\n async generateClaimSignature(\n chainId: number,\n walletAddress: `0x${string}`,\n ): Promise<string> {\n // generate the message to be signed\n const { message } = await this.messenger.call(\n `${SERVICE_NAME}:generateMessageForClaimSignature`,\n chainId,\n walletAddress,\n );\n\n // generate and parse the SIWE message\n const messageBytes = stringToBytes(message);\n const messageHex = bytesToHex(messageBytes);\n const siwe = detectSIWE({ data: messageHex });\n if (!siwe.isSIWEMessage) {\n throw new Error(ClaimsControllerErrorMessages.INVALID_SIGNATURE_MESSAGE);\n }\n\n // sign the message\n const signature = await this.messenger.call(\n 'KeyringController:signPersonalMessage',\n {\n data: message,\n from: walletAddress,\n siwe,\n },\n );\n\n return signature;\n }\n\n /**\n * Get the list of claims for the current user.\n *\n * @returns The list of claims for the current user.\n */\n async getClaims(): Promise<Claim[]> {\n const claims = await this.messenger.call(`${SERVICE_NAME}:getClaims`);\n this.update((state) => {\n state.claims = claims;\n });\n return claims;\n }\n\n /**\n * Save a claim draft to the state.\n * If the draft name is not provided, a default name will be generated.\n * If the draft with the same id already exists, it will be updated.\n *\n * @param draft - The draft to save.\n * @returns The saved draft.\n */\n saveOrUpdateClaimDraft(draft: Partial<ClaimDraft>): ClaimDraft {\n const { drafts } = this.state;\n\n const isExistingDraft = drafts.some(\n (existingDraft) =>\n draft.draftId && existingDraft.draftId === draft.draftId,\n );\n\n if (isExistingDraft) {\n const updatedAt = new Date().toISOString();\n this.update((state) => {\n state.drafts = state.drafts.map((existingDraft) =>\n existingDraft.draftId === draft.draftId\n ? {\n ...existingDraft,\n ...draft,\n updatedAt,\n }\n : existingDraft,\n );\n });\n return { ...draft, updatedAt } as ClaimDraft;\n }\n\n // generate a new draft id, name and add it to the state\n const draftId = `draft-${Date.now()}`;\n\n const newDraft: ClaimDraft = {\n ...draft,\n draftId,\n updatedAt: new Date().toISOString(),\n };\n\n this.update((state) => {\n state.drafts.push(newDraft);\n });\n\n return newDraft;\n }\n\n /**\n * Get the list of claim drafts.\n *\n * @returns The list of claim drafts.\n */\n getClaimDrafts(): ClaimDraft[] {\n return this.state.drafts;\n }\n\n /**\n * Delete a claim draft from the state.\n *\n * @param draftId - The ID of the draft to delete.\n */\n deleteClaimDraft(draftId: string): void {\n this.update((state) => {\n state.drafts = state.drafts.filter((draft) => draft.draftId !== draftId);\n });\n }\n\n /**\n * Delete all claim drafts from the state.\n */\n deleteAllClaimDrafts(): void {\n this.update((state) => {\n state.drafts = [];\n });\n }\n\n /**\n * Clears the claims state and resets to default values.\n */\n clearState(): void {\n this.update(() => {\n return getDefaultClaimsControllerState();\n });\n }\n\n /**\n * Validate the claim before submitting it.\n *\n * @param claim - The claim to validate.\n */\n #validateSubmitClaimRequest(claim: CreateClaimRequest): void {\n const { claims: existingClaims } = this.state;\n const isClaimAlreadySubmitted = existingClaims.some(\n (existingClaim) => existingClaim.impactedTxHash === claim.impactedTxHash,\n );\n if (isClaimAlreadySubmitted) {\n throw new Error(ClaimsControllerErrorMessages.CLAIM_ALREADY_SUBMITTED);\n }\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * This file is auto generated.
4
+ * Do not edit manually.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=ClaimsService-method-action-types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaimsService-method-action-types.cjs","sourceRoot":"","sources":["../src/ClaimsService-method-action-types.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { ClaimsService } from './ClaimsService.js';\n\n/**\n * Fetch required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\nexport type ClaimsServiceFetchClaimsConfigurationsAction = {\n type: `ClaimsService:fetchClaimsConfigurations`;\n handler: ClaimsService['fetchClaimsConfigurations'];\n};\n\n/**\n * Get the claims for the current user.\n *\n * @returns The claims for the current user.\n */\nexport type ClaimsServiceGetClaimsAction = {\n type: `ClaimsService:getClaims`;\n handler: ClaimsService['getClaims'];\n};\n\n/**\n * Get the claim by id.\n *\n * @param id - The id of the claim to get.\n * @returns The claim by id.\n */\nexport type ClaimsServiceGetClaimByIdAction = {\n type: `ClaimsService:getClaimById`;\n handler: ClaimsService['getClaimById'];\n};\n\n/**\n * Generate a message to be signed by the user for the claim request.\n *\n * @param chainId - The chain id of the claim.\n * @param walletAddress - The impacted wallet address of the claim.\n * @returns The message for the claim signature.\n */\nexport type ClaimsServiceGenerateMessageForClaimSignatureAction = {\n type: `ClaimsService:generateMessageForClaimSignature`;\n handler: ClaimsService['generateMessageForClaimSignature'];\n};\n\n/**\n * Create the headers for the current request.\n *\n * @returns The headers for the current request.\n */\nexport type ClaimsServiceGetRequestHeadersAction = {\n type: `ClaimsService:getRequestHeaders`;\n handler: ClaimsService['getRequestHeaders'];\n};\n\n/**\n * Get the URL for the claims API for the current environment.\n *\n * @returns The URL for the claims API for the current environment.\n */\nexport type ClaimsServiceGetClaimsApiUrlAction = {\n type: `ClaimsService:getClaimsApiUrl`;\n handler: ClaimsService['getClaimsApiUrl'];\n};\n\n/**\n * Union of all ClaimsService action types.\n */\nexport type ClaimsServiceMethodActions =\n | ClaimsServiceFetchClaimsConfigurationsAction\n | ClaimsServiceGetClaimsAction\n | ClaimsServiceGetClaimByIdAction\n | ClaimsServiceGenerateMessageForClaimSignatureAction\n | ClaimsServiceGetRequestHeadersAction\n | ClaimsServiceGetClaimsApiUrlAction;\n"]}
@@ -2,7 +2,7 @@
2
2
  * This file is auto generated.
3
3
  * Do not edit manually.
4
4
  */
5
- import type { ClaimsService } from './ClaimsService.js';
5
+ import type { ClaimsService } from "./ClaimsService.cjs";
6
6
  /**
7
7
  * Fetch required configurations for the claims service.
8
8
  *
@@ -64,4 +64,4 @@ export type ClaimsServiceGetClaimsApiUrlAction = {
64
64
  * Union of all ClaimsService action types.
65
65
  */
66
66
  export type ClaimsServiceMethodActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction;
67
- //# sourceMappingURL=ClaimsService-method-action-types.d.ts.map
67
+ //# sourceMappingURL=ClaimsService-method-action-types.d.cts.map