@metamask/claims-controller 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -1
- package/dist/ClaimsController.cjs +25 -1
- package/dist/ClaimsController.cjs.map +1 -1
- package/dist/ClaimsController.d.cts +9 -3
- package/dist/ClaimsController.d.cts.map +1 -1
- package/dist/ClaimsController.d.mts +9 -3
- package/dist/ClaimsController.d.mts.map +1 -1
- package/dist/ClaimsController.mjs +27 -3
- package/dist/ClaimsController.mjs.map +1 -1
- package/dist/ClaimsService.cjs +24 -5
- package/dist/ClaimsService.cjs.map +1 -1
- package/dist/ClaimsService.d.cts +14 -5
- package/dist/ClaimsService.d.cts.map +1 -1
- package/dist/ClaimsService.d.mts +14 -5
- package/dist/ClaimsService.d.mts.map +1 -1
- package/dist/ClaimsService.mjs +25 -6
- package/dist/ClaimsService.mjs.map +1 -1
- package/dist/constants.cjs +14 -7
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +9 -5
- package/dist/constants.d.cts.map +1 -1
- package/dist/constants.d.mts +9 -5
- package/dist/constants.d.mts.map +1 -1
- package/dist/constants.mjs +13 -6
- package/dist/constants.mjs.map +1 -1
- package/dist/index.cjs +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +25 -4
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +25 -4
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.0]
|
|
11
|
+
|
|
12
|
+
### Uncategorized
|
|
13
|
+
|
|
14
|
+
- ci: Fix `claims-controller` errors in `tsconfig.json` ([#7092](https://github.com/MetaMask/core/pull/7092))
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Added new public method, `fetchClaimsConfigurations` to fetch the claims configuration from the Claims backend. ([#7109](https://github.com/MetaMask/core/pull/7109))
|
|
19
|
+
- Added new states fields, `claimsConfigurations` to the controller state. ([#7109](https://github.com/MetaMask/core/pull/7109))
|
|
20
|
+
- `validSubmissionWindowDays` - number of days the claim is valid for submission.
|
|
21
|
+
- `supportedNetworks` - supported networks for the claim submission.
|
|
22
|
+
- Exported `CreateClaimRequest` and `SubmitClaimConfig` types from the controller. ([#7109](https://github.com/MetaMask/core/pull/7109))
|
|
23
|
+
|
|
10
24
|
## [0.1.0]
|
|
11
25
|
|
|
12
26
|
### Added
|
|
@@ -21,5 +35,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
21
35
|
- `generateMessageForClaimSignature`: generate message to sign for the claim signature.
|
|
22
36
|
- `verifyClaimSignature`: verify claim signature produced by user.
|
|
23
37
|
|
|
24
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/claims-controller@0.
|
|
38
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/claims-controller@0.2.0...HEAD
|
|
39
|
+
[0.2.0]: https://github.com/MetaMask/core/compare/@metamask/claims-controller@0.1.0...@metamask/claims-controller@0.2.0
|
|
25
40
|
[0.1.0]: https://github.com/MetaMask/core/releases/tag/@metamask/claims-controller@0.1.0
|
|
@@ -18,6 +18,12 @@ const ClaimsControllerStateMetadata = {
|
|
|
18
18
|
includeInDebugSnapshot: false,
|
|
19
19
|
usedInUi: true,
|
|
20
20
|
},
|
|
21
|
+
claimsConfigurations: {
|
|
22
|
+
includeInStateLogs: true,
|
|
23
|
+
persist: true,
|
|
24
|
+
includeInDebugSnapshot: true,
|
|
25
|
+
usedInUi: true,
|
|
26
|
+
},
|
|
21
27
|
};
|
|
22
28
|
/**
|
|
23
29
|
* Get an initial default state for the controller.
|
|
@@ -26,6 +32,7 @@ const ClaimsControllerStateMetadata = {
|
|
|
26
32
|
*/
|
|
27
33
|
function getDefaultClaimsControllerState() {
|
|
28
34
|
return {
|
|
35
|
+
claimsConfigurations: constants_1.DEFAULT_CLAIMS_CONFIGURATIONS,
|
|
29
36
|
claims: [],
|
|
30
37
|
};
|
|
31
38
|
}
|
|
@@ -40,6 +47,23 @@ class ClaimsController extends base_controller_1.BaseController {
|
|
|
40
47
|
});
|
|
41
48
|
_ClaimsController_instances.add(this);
|
|
42
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Fetch the required configurations for the claims service.
|
|
52
|
+
*
|
|
53
|
+
* @returns The required configurations for the claims service.
|
|
54
|
+
*/
|
|
55
|
+
async fetchClaimsConfigurations() {
|
|
56
|
+
const configurations = await this.messenger.call(`${constants_1.SERVICE_NAME}:fetchClaimsConfigurations`);
|
|
57
|
+
const supportedNetworks = configurations.networks.map((network) => (0, controller_utils_1.toHex)(network));
|
|
58
|
+
const claimsConfigurations = {
|
|
59
|
+
validSubmissionWindowDays: configurations.validSubmissionWindowDays,
|
|
60
|
+
supportedNetworks,
|
|
61
|
+
};
|
|
62
|
+
this.update((state) => {
|
|
63
|
+
state.claimsConfigurations = claimsConfigurations;
|
|
64
|
+
});
|
|
65
|
+
return claimsConfigurations;
|
|
66
|
+
}
|
|
43
67
|
/**
|
|
44
68
|
* Get required config for submitting a claim.
|
|
45
69
|
*
|
|
@@ -49,7 +73,7 @@ class ClaimsController extends base_controller_1.BaseController {
|
|
|
49
73
|
async getSubmitClaimConfig(claim) {
|
|
50
74
|
// Validate the claim before submitting it.
|
|
51
75
|
__classPrivateFieldGet(this, _ClaimsController_instances, "m", _ClaimsController_validateSubmitClaimRequest).call(this, claim);
|
|
52
|
-
const headers = await this.messenger.call(`${constants_1.SERVICE_NAME}:getRequestHeaders
|
|
76
|
+
const headers = await this.messenger.call(`${constants_1.SERVICE_NAME}:getRequestHeaders`);
|
|
53
77
|
const baseUrl = this.messenger.call(`${constants_1.SERVICE_NAME}:getClaimsApiUrl`);
|
|
54
78
|
const url = `${baseUrl}/claims`;
|
|
55
79
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsController.cjs","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":";;;;;;;;;AAKA,+DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"ClaimsController.cjs","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":";;;;;;;;;AAKA,+DAA2D;AAC3D,iEAA+D;AAG/D,2CAA4D;AAU5D,+CAKqB;AA0CrB,MAAM,6BAA6B,GAAyC;IAC1E,MAAM,EAAE;QACN,kBAAkB,EAAE,KAAK;QACzB,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,KAAK;QAC7B,QAAQ,EAAE,IAAI;KACf;IACD,oBAAoB,EAAE;QACpB,kBAAkB,EAAE,IAAI;QACxB,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,IAAI;QAC5B,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF;;;;GAIG;AACH,SAAgB,+BAA+B;IAC7C,OAAO;QACL,oBAAoB,EAAE,yCAA6B;QACnD,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AALD,0EAKC;AAED,MAAa,gBAAiB,SAAQ,gCAIrC;IACC,YAAY,EAAE,SAAS,EAAE,KAAK,EAA2B;QACvD,KAAK,CAAC;YACJ,SAAS;YACT,QAAQ,EAAE,6BAA6B;YACvC,IAAI,EAAE,2BAAe;YACrB,KAAK,EAAE,EAAE,GAAG,+BAA+B,EAAE,EAAE,GAAG,KAAK,EAAE;SAC1D,CAAC,CAAC;;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,yBAAyB;QAC7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAC9C,GAAG,wBAAY,4BAA4B,CAC5C,CAAC;QAEF,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAChE,IAAA,wBAAK,EAAC,OAAO,CAAC,CACf,CAAC;QACF,MAAM,oBAAoB,GAAG;YAC3B,yBAAyB,EAAE,cAAc,CAAC,yBAAyB;YACnE,iBAAiB;SAClB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAyB;QAEzB,2CAA2C;QAC3C,uBAAA,IAAI,iFAA4B,MAAhC,IAAI,EAA6B,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACvC,GAAG,wBAAY,oBAAoB,CACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,wBAAY,kBAAkB,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,GAAG,OAAO,SAAS,CAAC;QAEhC,OAAO;YACL,IAAI,EAAE,KAAK;YACX,OAAO;YACP,MAAM,EAAE,MAAM;YACd,GAAG;SACJ,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,OAAe,EACf,aAA4B;QAE5B,oCAAoC;QACpC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAC3C,GAAG,wBAAY,mCAAmC,EAClD,OAAO,EACP,aAAa,CACd,CAAC;QAEF,sCAAsC;QACtC,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAA,6BAAU,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yCAA6B,CAAC,yBAAyB,CAAC,CAAC;QAC3E,CAAC;QAED,mBAAmB;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACzC,uCAAuC,EACvC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,aAAa;YACnB,IAAI;SACL,CACF,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,wBAAY,YAAY,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CAgBF;AAlID,4CAkIC;kJAT6B,KAAyB;IACnD,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9C,MAAM,uBAAuB,GAAG,cAAc,CAAC,IAAI,CACjD,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,CACzE,CAAC;IACF,IAAI,uBAAuB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yCAA6B,CAAC,uBAAuB,CAAC,CAAC;IACzE,CAAC;AACH,CAAC","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 {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetRequestHeadersAction,\n} from './ClaimsService';\nimport {\n ClaimsControllerErrorMessages,\n CONTROLLER_NAME,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n SERVICE_NAME,\n} from './constants';\nimport type {\n Claim,\n ClaimsConfigurations,\n ClaimsControllerState,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types';\n\nexport type ClaimsControllerGetStateAction = ControllerGetStateAction<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerActions = ClaimsControllerGetStateAction;\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};\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 };\n}\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\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 * 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"]}
|
|
@@ -2,12 +2,12 @@ import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@meta
|
|
|
2
2
|
import { BaseController } from "@metamask/base-controller";
|
|
3
3
|
import type { KeyringControllerSignPersonalMessageAction } from "@metamask/keyring-controller";
|
|
4
4
|
import type { Messenger } from "@metamask/messenger";
|
|
5
|
-
import type { ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService.cjs";
|
|
5
|
+
import type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService.cjs";
|
|
6
6
|
import { CONTROLLER_NAME } from "./constants.cjs";
|
|
7
|
-
import type { Claim, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.cjs";
|
|
7
|
+
import type { Claim, ClaimsConfigurations, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.cjs";
|
|
8
8
|
export type ClaimsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, ClaimsControllerState>;
|
|
9
9
|
export type ClaimsControllerActions = ClaimsControllerGetStateAction;
|
|
10
|
-
export type AllowedActions = ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
|
|
10
|
+
export type AllowedActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
|
|
11
11
|
export type ClaimsControllerStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, ClaimsControllerState>;
|
|
12
12
|
export type ClaimsControllerMessenger = Messenger<typeof CONTROLLER_NAME, ClaimsControllerActions | AllowedActions, ClaimsControllerStateChangeEvent>;
|
|
13
13
|
export type ClaimsControllerOptions = {
|
|
@@ -23,6 +23,12 @@ export declare function getDefaultClaimsControllerState(): ClaimsControllerState
|
|
|
23
23
|
export declare class ClaimsController extends BaseController<typeof CONTROLLER_NAME, ClaimsControllerState, ClaimsControllerMessenger> {
|
|
24
24
|
#private;
|
|
25
25
|
constructor({ messenger, state }: ClaimsControllerOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Fetch the required configurations for the claims service.
|
|
28
|
+
*
|
|
29
|
+
* @returns The required configurations for the claims service.
|
|
30
|
+
*/
|
|
31
|
+
fetchClaimsConfigurations(): Promise<ClaimsConfigurations>;
|
|
26
32
|
/**
|
|
27
33
|
* Get required config for submitting a claim.
|
|
28
34
|
*
|
|
@@ -1 +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,EACV,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,4BAAwB;AACzB,OAAO,EAEL,eAAe,EAGhB,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAgB;AAEjB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAErE,MAAM,MAAM,cAAc,GACtB,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;
|
|
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,EACV,4CAA4C,EAC5C,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,4BAAwB;AACzB,OAAO,EAEL,eAAe,EAGhB,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAgB;AAEjB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAErE,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;AAiBF;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CAKvE;AAED,qBAAa,gBAAiB,SAAQ,cAAc,CAClD,OAAO,eAAe,EACtB,qBAAqB,EACrB,yBAAyB,CAC1B;;gBACa,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,uBAAuB;IASzD;;;;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;CAsBpC"}
|
|
@@ -2,12 +2,12 @@ import type { ControllerGetStateAction, ControllerStateChangeEvent } from "@meta
|
|
|
2
2
|
import { BaseController } from "@metamask/base-controller";
|
|
3
3
|
import type { KeyringControllerSignPersonalMessageAction } from "@metamask/keyring-controller";
|
|
4
4
|
import type { Messenger } from "@metamask/messenger";
|
|
5
|
-
import type { ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService.mjs";
|
|
5
|
+
import type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetRequestHeadersAction } from "./ClaimsService.mjs";
|
|
6
6
|
import { CONTROLLER_NAME } from "./constants.mjs";
|
|
7
|
-
import type { Claim, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.mjs";
|
|
7
|
+
import type { Claim, ClaimsConfigurations, ClaimsControllerState, CreateClaimRequest, SubmitClaimConfig } from "./types.mjs";
|
|
8
8
|
export type ClaimsControllerGetStateAction = ControllerGetStateAction<typeof CONTROLLER_NAME, ClaimsControllerState>;
|
|
9
9
|
export type ClaimsControllerActions = ClaimsControllerGetStateAction;
|
|
10
|
-
export type AllowedActions = ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
|
|
10
|
+
export type AllowedActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction | ClaimsServiceGetClaimsAction | KeyringControllerSignPersonalMessageAction;
|
|
11
11
|
export type ClaimsControllerStateChangeEvent = ControllerStateChangeEvent<typeof CONTROLLER_NAME, ClaimsControllerState>;
|
|
12
12
|
export type ClaimsControllerMessenger = Messenger<typeof CONTROLLER_NAME, ClaimsControllerActions | AllowedActions, ClaimsControllerStateChangeEvent>;
|
|
13
13
|
export type ClaimsControllerOptions = {
|
|
@@ -23,6 +23,12 @@ export declare function getDefaultClaimsControllerState(): ClaimsControllerState
|
|
|
23
23
|
export declare class ClaimsController extends BaseController<typeof CONTROLLER_NAME, ClaimsControllerState, ClaimsControllerMessenger> {
|
|
24
24
|
#private;
|
|
25
25
|
constructor({ messenger, state }: ClaimsControllerOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Fetch the required configurations for the claims service.
|
|
28
|
+
*
|
|
29
|
+
* @returns The required configurations for the claims service.
|
|
30
|
+
*/
|
|
31
|
+
fetchClaimsConfigurations(): Promise<ClaimsConfigurations>;
|
|
26
32
|
/**
|
|
27
33
|
* Get required config for submitting a claim.
|
|
28
34
|
*
|
|
@@ -1 +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,EACV,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,4BAAwB;AACzB,OAAO,EAEL,eAAe,EAGhB,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAgB;AAEjB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAErE,MAAM,MAAM,cAAc,GACtB,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;
|
|
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,EACV,4CAA4C,EAC5C,mDAAmD,EACnD,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACrC,4BAAwB;AACzB,OAAO,EAEL,eAAe,EAGhB,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EAClB,oBAAgB;AAEjB,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CACnE,OAAO,eAAe,EACtB,qBAAqB,CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAErE,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;AAiBF;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,qBAAqB,CAKvE;AAED,qBAAa,gBAAiB,SAAQ,cAAc,CAClD,OAAO,eAAe,EACtB,qBAAqB,EACrB,yBAAyB,CAC1B;;gBACa,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,uBAAuB;IASzD;;;;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;CAsBpC"}
|
|
@@ -5,9 +5,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
5
5
|
};
|
|
6
6
|
var _ClaimsController_instances, _ClaimsController_validateSubmitClaimRequest;
|
|
7
7
|
import { BaseController } from "@metamask/base-controller";
|
|
8
|
-
import { detectSIWE } from "@metamask/controller-utils";
|
|
8
|
+
import { detectSIWE, toHex } from "@metamask/controller-utils";
|
|
9
9
|
import { bytesToHex, stringToBytes } from "@metamask/utils";
|
|
10
|
-
import { ClaimsControllerErrorMessages, CONTROLLER_NAME,
|
|
10
|
+
import { ClaimsControllerErrorMessages, CONTROLLER_NAME, DEFAULT_CLAIMS_CONFIGURATIONS, SERVICE_NAME } from "./constants.mjs";
|
|
11
11
|
const ClaimsControllerStateMetadata = {
|
|
12
12
|
claims: {
|
|
13
13
|
includeInStateLogs: false,
|
|
@@ -15,6 +15,12 @@ const ClaimsControllerStateMetadata = {
|
|
|
15
15
|
includeInDebugSnapshot: false,
|
|
16
16
|
usedInUi: true,
|
|
17
17
|
},
|
|
18
|
+
claimsConfigurations: {
|
|
19
|
+
includeInStateLogs: true,
|
|
20
|
+
persist: true,
|
|
21
|
+
includeInDebugSnapshot: true,
|
|
22
|
+
usedInUi: true,
|
|
23
|
+
},
|
|
18
24
|
};
|
|
19
25
|
/**
|
|
20
26
|
* Get an initial default state for the controller.
|
|
@@ -23,6 +29,7 @@ const ClaimsControllerStateMetadata = {
|
|
|
23
29
|
*/
|
|
24
30
|
export function getDefaultClaimsControllerState() {
|
|
25
31
|
return {
|
|
32
|
+
claimsConfigurations: DEFAULT_CLAIMS_CONFIGURATIONS,
|
|
26
33
|
claims: [],
|
|
27
34
|
};
|
|
28
35
|
}
|
|
@@ -36,6 +43,23 @@ export class ClaimsController extends BaseController {
|
|
|
36
43
|
});
|
|
37
44
|
_ClaimsController_instances.add(this);
|
|
38
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Fetch the required configurations for the claims service.
|
|
48
|
+
*
|
|
49
|
+
* @returns The required configurations for the claims service.
|
|
50
|
+
*/
|
|
51
|
+
async fetchClaimsConfigurations() {
|
|
52
|
+
const configurations = await this.messenger.call(`${SERVICE_NAME}:fetchClaimsConfigurations`);
|
|
53
|
+
const supportedNetworks = configurations.networks.map((network) => toHex(network));
|
|
54
|
+
const claimsConfigurations = {
|
|
55
|
+
validSubmissionWindowDays: configurations.validSubmissionWindowDays,
|
|
56
|
+
supportedNetworks,
|
|
57
|
+
};
|
|
58
|
+
this.update((state) => {
|
|
59
|
+
state.claimsConfigurations = claimsConfigurations;
|
|
60
|
+
});
|
|
61
|
+
return claimsConfigurations;
|
|
62
|
+
}
|
|
39
63
|
/**
|
|
40
64
|
* Get required config for submitting a claim.
|
|
41
65
|
*
|
|
@@ -45,7 +69,7 @@ export class ClaimsController extends BaseController {
|
|
|
45
69
|
async getSubmitClaimConfig(claim) {
|
|
46
70
|
// Validate the claim before submitting it.
|
|
47
71
|
__classPrivateFieldGet(this, _ClaimsController_instances, "m", _ClaimsController_validateSubmitClaimRequest).call(this, claim);
|
|
48
|
-
const headers = await this.messenger.call(`${SERVICE_NAME}:getRequestHeaders
|
|
72
|
+
const headers = await this.messenger.call(`${SERVICE_NAME}:getRequestHeaders`);
|
|
49
73
|
const baseUrl = this.messenger.call(`${SERVICE_NAME}:getClaimsApiUrl`);
|
|
50
74
|
const url = `${baseUrl}/claims`;
|
|
51
75
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsController.mjs","sourceRoot":"","sources":["../src/ClaimsController.ts"],"names":[],"mappings":";;;;;;AAKA,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,EAAE,UAAU,EAAE,mCAAmC;
|
|
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 {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetRequestHeadersAction,\n} from './ClaimsService';\nimport {\n ClaimsControllerErrorMessages,\n CONTROLLER_NAME,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n SERVICE_NAME,\n} from './constants';\nimport type {\n Claim,\n ClaimsConfigurations,\n ClaimsControllerState,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types';\n\nexport type ClaimsControllerGetStateAction = ControllerGetStateAction<\n typeof CONTROLLER_NAME,\n ClaimsControllerState\n>;\n\nexport type ClaimsControllerActions = ClaimsControllerGetStateAction;\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};\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 };\n}\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\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 * 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"]}
|
package/dist/ClaimsService.cjs
CHANGED
|
@@ -23,12 +23,30 @@ class ClaimsService {
|
|
|
23
23
|
__classPrivateFieldSet(this, _ClaimsService_env, env, "f");
|
|
24
24
|
__classPrivateFieldSet(this, _ClaimsService_messenger, messenger, "f");
|
|
25
25
|
__classPrivateFieldSet(this, _ClaimsService_fetch, fetchFunction, "f");
|
|
26
|
+
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:fetchClaimsConfigurations`, this.fetchClaimsConfigurations.bind(this));
|
|
26
27
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:getClaims`, this.getClaims.bind(this));
|
|
27
28
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:getClaimById`, this.getClaimById.bind(this));
|
|
28
29
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:getRequestHeaders`, this.getRequestHeaders.bind(this));
|
|
29
30
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:getClaimsApiUrl`, this.getClaimsApiUrl.bind(this));
|
|
30
31
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${constants_1.SERVICE_NAME}:generateMessageForClaimSignature`, this.generateMessageForClaimSignature.bind(this));
|
|
31
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetch required configurations for the claims service.
|
|
35
|
+
*
|
|
36
|
+
* @returns The required configurations for the claims service.
|
|
37
|
+
*/
|
|
38
|
+
async fetchClaimsConfigurations() {
|
|
39
|
+
const headers = await this.getRequestHeaders();
|
|
40
|
+
const url = `${this.getClaimsApiUrl()}/configurations`;
|
|
41
|
+
const response = await __classPrivateFieldGet(this, _ClaimsService_fetch, "f").call(this, url, {
|
|
42
|
+
headers,
|
|
43
|
+
});
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
throw new Error(constants_1.ClaimsServiceErrorMessages.FAILED_TO_FETCH_CONFIGURATIONS);
|
|
46
|
+
}
|
|
47
|
+
const configurations = await response.json();
|
|
48
|
+
return configurations;
|
|
49
|
+
}
|
|
32
50
|
/**
|
|
33
51
|
* Get the claims for the current user.
|
|
34
52
|
*
|
|
@@ -75,8 +93,11 @@ class ClaimsService {
|
|
|
75
93
|
const headers = await this.getRequestHeaders();
|
|
76
94
|
const url = `${this.getClaimsApiUrl()}/signature/generateMessage`;
|
|
77
95
|
const response = await __classPrivateFieldGet(this, _ClaimsService_fetch, "f").call(this, url, {
|
|
78
|
-
headers,
|
|
79
96
|
method: 'POST',
|
|
97
|
+
headers: {
|
|
98
|
+
...headers,
|
|
99
|
+
'Content-Type': 'application/json',
|
|
100
|
+
},
|
|
80
101
|
body: JSON.stringify({
|
|
81
102
|
chainId,
|
|
82
103
|
walletAddress,
|
|
@@ -91,14 +112,12 @@ class ClaimsService {
|
|
|
91
112
|
/**
|
|
92
113
|
* Create the headers for the current request.
|
|
93
114
|
*
|
|
94
|
-
* @param contentType - The content type of the request. Defaults to 'application/json'.
|
|
95
115
|
* @returns The headers for the current request.
|
|
96
116
|
*/
|
|
97
|
-
async getRequestHeaders(
|
|
117
|
+
async getRequestHeaders() {
|
|
98
118
|
const bearerToken = await __classPrivateFieldGet(this, _ClaimsService_messenger, "f").call('AuthenticationController:getBearerToken');
|
|
99
119
|
return {
|
|
100
120
|
Authorization: `Bearer ${bearerToken}`,
|
|
101
|
-
'Content-Type': contentType,
|
|
102
121
|
};
|
|
103
122
|
}
|
|
104
123
|
/**
|
|
@@ -107,7 +126,7 @@ class ClaimsService {
|
|
|
107
126
|
* @returns The URL for the claims API for the current environment.
|
|
108
127
|
*/
|
|
109
128
|
getClaimsApiUrl() {
|
|
110
|
-
return `${constants_1.
|
|
129
|
+
return `${constants_1.CLAIMS_API_URL_MAP[__classPrivateFieldGet(this, _ClaimsService_env, "f")]}`;
|
|
111
130
|
}
|
|
112
131
|
}
|
|
113
132
|
exports.ClaimsService = ClaimsService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsService.cjs","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAIA,+
|
|
1
|
+
{"version":3,"file":"ClaimsService.cjs","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Messenger } from '@metamask/messenger';\nimport type { AuthenticationController } from '@metamask/profile-sync-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport {\n CLAIMS_API_URL_MAP,\n ClaimsServiceErrorMessages,\n type Env,\n SERVICE_NAME,\n} from './constants';\nimport type {\n Claim,\n ClaimsConfigurationsResponse,\n GenerateSignatureMessageResponse,\n} from './types';\n\nexport type ClaimsServiceFetchClaimsConfigurationsAction = {\n type: `${typeof SERVICE_NAME}:fetchClaimsConfigurations`;\n handler: ClaimsService['fetchClaimsConfigurations'];\n};\n\nexport type ClaimsServiceGetClaimsAction = {\n type: `${typeof SERVICE_NAME}:getClaims`;\n handler: ClaimsService['getClaims'];\n};\n\nexport type ClaimsServiceGetClaimByIdAction = {\n type: `${typeof SERVICE_NAME}:getClaimById`;\n handler: ClaimsService['getClaimById'];\n};\n\nexport type ClaimsServiceGetRequestHeadersAction = {\n type: `${typeof SERVICE_NAME}:getRequestHeaders`;\n handler: ClaimsService['getRequestHeaders'];\n};\n\nexport type ClaimsServiceGetClaimsApiUrlAction = {\n type: `${typeof SERVICE_NAME}:getClaimsApiUrl`;\n handler: ClaimsService['getClaimsApiUrl'];\n};\n\nexport type ClaimsServiceGenerateMessageForClaimSignatureAction = {\n type: `${typeof SERVICE_NAME}:generateMessageForClaimSignature`;\n handler: ClaimsService['generateMessageForClaimSignature'];\n};\n\nexport type ClaimsServiceActions =\n | ClaimsServiceFetchClaimsConfigurationsAction\n | ClaimsServiceGetClaimsAction\n | ClaimsServiceGetClaimByIdAction\n | ClaimsServiceGetRequestHeadersAction\n | ClaimsServiceGetClaimsApiUrlAction\n | ClaimsServiceGenerateMessageForClaimSignatureAction;\n\nexport type AllowedActions =\n AuthenticationController.AuthenticationControllerGetBearerToken;\n\nexport type ClaimsServiceEvents = never;\n\nexport type ClaimsServiceMessenger = Messenger<\n typeof SERVICE_NAME,\n ClaimsServiceActions | AllowedActions\n>;\n\nexport type ClaimsServiceConfig = {\n env: Env;\n messenger: ClaimsServiceMessenger;\n fetchFunction: typeof fetch;\n};\n\nexport class ClaimsService {\n readonly name = SERVICE_NAME; // required for Modular Initialization\n\n readonly #env: Env;\n\n readonly #fetch: typeof fetch;\n\n readonly #messenger: ClaimsServiceMessenger;\n\n constructor({ env, messenger, fetchFunction }: ClaimsServiceConfig) {\n this.#env = env;\n this.#messenger = messenger;\n this.#fetch = fetchFunction;\n\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:fetchClaimsConfigurations`,\n this.fetchClaimsConfigurations.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaims`,\n this.getClaims.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaimById`,\n this.getClaimById.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getRequestHeaders`,\n this.getRequestHeaders.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaimsApiUrl`,\n this.getClaimsApiUrl.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:generateMessageForClaimSignature`,\n this.generateMessageForClaimSignature.bind(this),\n );\n }\n\n /**\n * Fetch required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\n async fetchClaimsConfigurations(): Promise<ClaimsConfigurationsResponse> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/configurations`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(\n ClaimsServiceErrorMessages.FAILED_TO_FETCH_CONFIGURATIONS,\n );\n }\n\n const configurations = await response.json();\n return configurations;\n }\n\n /**\n * Get the claims for the current user.\n *\n * @returns The claims for the current user.\n */\n async getClaims(): Promise<Claim[]> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/claims`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(ClaimsServiceErrorMessages.FAILED_TO_GET_CLAIMS);\n }\n\n const claims = await response.json();\n return claims;\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 */\n async getClaimById(id: string): Promise<Claim> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/claims/byId/${id}`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(ClaimsServiceErrorMessages.FAILED_TO_GET_CLAIM_BY_ID);\n }\n\n const claim = await response.json();\n return claim;\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 */\n async generateMessageForClaimSignature(\n chainId: number,\n walletAddress: Hex,\n ): Promise<GenerateSignatureMessageResponse> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/signature/generateMessage`;\n const response = await this.#fetch(url, {\n method: 'POST',\n headers: {\n ...headers,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n chainId,\n walletAddress,\n }),\n });\n\n if (!response.ok) {\n throw new Error(\n ClaimsServiceErrorMessages.SIGNATURE_MESSAGE_GENERATION_FAILED,\n );\n }\n\n const message = await response.json();\n return message;\n }\n\n /**\n * Create the headers for the current request.\n *\n * @returns The headers for the current request.\n */\n async getRequestHeaders(): Promise<Record<string, string>> {\n const bearerToken = await this.#messenger.call(\n 'AuthenticationController:getBearerToken',\n );\n return {\n Authorization: `Bearer ${bearerToken}`,\n };\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 */\n getClaimsApiUrl(): string {\n return `${CLAIMS_API_URL_MAP[this.#env]}`;\n }\n}\n"]}
|
package/dist/ClaimsService.d.cts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { Messenger } from "@metamask/messenger";
|
|
2
2
|
import type { AuthenticationController } from "@metamask/profile-sync-controller";
|
|
3
3
|
import type { Hex } from "@metamask/utils";
|
|
4
|
-
import { type Env,
|
|
5
|
-
import type { Claim, GenerateSignatureMessageResponse } from "./types.cjs";
|
|
4
|
+
import { type Env, SERVICE_NAME } from "./constants.cjs";
|
|
5
|
+
import type { Claim, ClaimsConfigurationsResponse, GenerateSignatureMessageResponse } from "./types.cjs";
|
|
6
|
+
export type ClaimsServiceFetchClaimsConfigurationsAction = {
|
|
7
|
+
type: `${typeof SERVICE_NAME}:fetchClaimsConfigurations`;
|
|
8
|
+
handler: ClaimsService['fetchClaimsConfigurations'];
|
|
9
|
+
};
|
|
6
10
|
export type ClaimsServiceGetClaimsAction = {
|
|
7
11
|
type: `${typeof SERVICE_NAME}:getClaims`;
|
|
8
12
|
handler: ClaimsService['getClaims'];
|
|
@@ -23,7 +27,7 @@ export type ClaimsServiceGenerateMessageForClaimSignatureAction = {
|
|
|
23
27
|
type: `${typeof SERVICE_NAME}:generateMessageForClaimSignature`;
|
|
24
28
|
handler: ClaimsService['generateMessageForClaimSignature'];
|
|
25
29
|
};
|
|
26
|
-
export type ClaimsServiceActions = ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction;
|
|
30
|
+
export type ClaimsServiceActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction;
|
|
27
31
|
export type AllowedActions = AuthenticationController.AuthenticationControllerGetBearerToken;
|
|
28
32
|
export type ClaimsServiceEvents = never;
|
|
29
33
|
export type ClaimsServiceMessenger = Messenger<typeof SERVICE_NAME, ClaimsServiceActions | AllowedActions>;
|
|
@@ -36,6 +40,12 @@ export declare class ClaimsService {
|
|
|
36
40
|
#private;
|
|
37
41
|
readonly name = "ClaimsService";
|
|
38
42
|
constructor({ env, messenger, fetchFunction }: ClaimsServiceConfig);
|
|
43
|
+
/**
|
|
44
|
+
* Fetch required configurations for the claims service.
|
|
45
|
+
*
|
|
46
|
+
* @returns The required configurations for the claims service.
|
|
47
|
+
*/
|
|
48
|
+
fetchClaimsConfigurations(): Promise<ClaimsConfigurationsResponse>;
|
|
39
49
|
/**
|
|
40
50
|
* Get the claims for the current user.
|
|
41
51
|
*
|
|
@@ -60,10 +70,9 @@ export declare class ClaimsService {
|
|
|
60
70
|
/**
|
|
61
71
|
* Create the headers for the current request.
|
|
62
72
|
*
|
|
63
|
-
* @param contentType - The content type of the request. Defaults to 'application/json'.
|
|
64
73
|
* @returns The headers for the current request.
|
|
65
74
|
*/
|
|
66
|
-
getRequestHeaders(
|
|
75
|
+
getRequestHeaders(): Promise<Record<string, string>>;
|
|
67
76
|
/**
|
|
68
77
|
* Get the URL for the claims API for the current environment.
|
|
69
78
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsService.d.cts","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,0CAA0C;AAClF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,EAGL,KAAK,GAAG,EACR,
|
|
1
|
+
{"version":3,"file":"ClaimsService.d.cts","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,0CAA0C;AAClF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,EAGL,KAAK,GAAG,EACR,YAAY,EACb,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,gCAAgC,EACjC,oBAAgB;AAEjB,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,GAAG,OAAO,YAAY,4BAA4B,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,GAAG,OAAO,YAAY,YAAY,CAAC;IACzC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,GAAG,OAAO,YAAY,eAAe,CAAC;IAC5C,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,GAAG,OAAO,YAAY,oBAAoB,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,GAAG,OAAO,YAAY,kBAAkB,CAAC;IAC/C,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,GAAG,OAAO,YAAY,mCAAmC,CAAC;IAChE,OAAO,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,4CAA4C,GAC5C,4BAA4B,GAC5B,+BAA+B,GAC/B,oCAAoC,GACpC,kCAAkC,GAClC,mDAAmD,CAAC;AAExD,MAAM,MAAM,cAAc,GACxB,wBAAwB,CAAC,sCAAsC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAC5C,OAAO,YAAY,EACnB,oBAAoB,GAAG,cAAc,CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,sBAAsB,CAAC;IAClC,aAAa,EAAE,OAAO,KAAK,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAa;;IACxB,QAAQ,CAAC,IAAI,mBAAgB;gBAQjB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,mBAAmB;IA+BlE;;;;OAIG;IACG,yBAAyB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAiBxE;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAenC;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAe9C;;;;;;OAMG;IACG,gCAAgC,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,gCAAgC,CAAC;IAyB5C;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAS1D;;;;OAIG;IACH,eAAe,IAAI,MAAM;CAG1B"}
|
package/dist/ClaimsService.d.mts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import type { Messenger } from "@metamask/messenger";
|
|
2
2
|
import type { AuthenticationController } from "@metamask/profile-sync-controller";
|
|
3
3
|
import type { Hex } from "@metamask/utils";
|
|
4
|
-
import { type Env,
|
|
5
|
-
import type { Claim, GenerateSignatureMessageResponse } from "./types.mjs";
|
|
4
|
+
import { type Env, SERVICE_NAME } from "./constants.mjs";
|
|
5
|
+
import type { Claim, ClaimsConfigurationsResponse, GenerateSignatureMessageResponse } from "./types.mjs";
|
|
6
|
+
export type ClaimsServiceFetchClaimsConfigurationsAction = {
|
|
7
|
+
type: `${typeof SERVICE_NAME}:fetchClaimsConfigurations`;
|
|
8
|
+
handler: ClaimsService['fetchClaimsConfigurations'];
|
|
9
|
+
};
|
|
6
10
|
export type ClaimsServiceGetClaimsAction = {
|
|
7
11
|
type: `${typeof SERVICE_NAME}:getClaims`;
|
|
8
12
|
handler: ClaimsService['getClaims'];
|
|
@@ -23,7 +27,7 @@ export type ClaimsServiceGenerateMessageForClaimSignatureAction = {
|
|
|
23
27
|
type: `${typeof SERVICE_NAME}:generateMessageForClaimSignature`;
|
|
24
28
|
handler: ClaimsService['generateMessageForClaimSignature'];
|
|
25
29
|
};
|
|
26
|
-
export type ClaimsServiceActions = ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction;
|
|
30
|
+
export type ClaimsServiceActions = ClaimsServiceFetchClaimsConfigurationsAction | ClaimsServiceGetClaimsAction | ClaimsServiceGetClaimByIdAction | ClaimsServiceGetRequestHeadersAction | ClaimsServiceGetClaimsApiUrlAction | ClaimsServiceGenerateMessageForClaimSignatureAction;
|
|
27
31
|
export type AllowedActions = AuthenticationController.AuthenticationControllerGetBearerToken;
|
|
28
32
|
export type ClaimsServiceEvents = never;
|
|
29
33
|
export type ClaimsServiceMessenger = Messenger<typeof SERVICE_NAME, ClaimsServiceActions | AllowedActions>;
|
|
@@ -36,6 +40,12 @@ export declare class ClaimsService {
|
|
|
36
40
|
#private;
|
|
37
41
|
readonly name = "ClaimsService";
|
|
38
42
|
constructor({ env, messenger, fetchFunction }: ClaimsServiceConfig);
|
|
43
|
+
/**
|
|
44
|
+
* Fetch required configurations for the claims service.
|
|
45
|
+
*
|
|
46
|
+
* @returns The required configurations for the claims service.
|
|
47
|
+
*/
|
|
48
|
+
fetchClaimsConfigurations(): Promise<ClaimsConfigurationsResponse>;
|
|
39
49
|
/**
|
|
40
50
|
* Get the claims for the current user.
|
|
41
51
|
*
|
|
@@ -60,10 +70,9 @@ export declare class ClaimsService {
|
|
|
60
70
|
/**
|
|
61
71
|
* Create the headers for the current request.
|
|
62
72
|
*
|
|
63
|
-
* @param contentType - The content type of the request. Defaults to 'application/json'.
|
|
64
73
|
* @returns The headers for the current request.
|
|
65
74
|
*/
|
|
66
|
-
getRequestHeaders(
|
|
75
|
+
getRequestHeaders(): Promise<Record<string, string>>;
|
|
67
76
|
/**
|
|
68
77
|
* Get the URL for the claims API for the current environment.
|
|
69
78
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsService.d.mts","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,0CAA0C;AAClF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,EAGL,KAAK,GAAG,EACR,
|
|
1
|
+
{"version":3,"file":"ClaimsService.d.mts","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,0CAA0C;AAClF,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,EAGL,KAAK,GAAG,EACR,YAAY,EACb,wBAAoB;AACrB,OAAO,KAAK,EACV,KAAK,EACL,4BAA4B,EAC5B,gCAAgC,EACjC,oBAAgB;AAEjB,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,GAAG,OAAO,YAAY,4BAA4B,CAAC;IACzD,OAAO,EAAE,aAAa,CAAC,2BAA2B,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,GAAG,OAAO,YAAY,YAAY,CAAC;IACzC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,GAAG,OAAO,YAAY,eAAe,CAAC;IAC5C,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,GAAG,OAAO,YAAY,oBAAoB,CAAC;IACjD,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,GAAG,OAAO,YAAY,kBAAkB,CAAC;IAC/C,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,GAAG,OAAO,YAAY,mCAAmC,CAAC;IAChE,OAAO,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAC5B,4CAA4C,GAC5C,4BAA4B,GAC5B,+BAA+B,GAC/B,oCAAoC,GACpC,kCAAkC,GAClC,mDAAmD,CAAC;AAExD,MAAM,MAAM,cAAc,GACxB,wBAAwB,CAAC,sCAAsC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAExC,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAC5C,OAAO,YAAY,EACnB,oBAAoB,GAAG,cAAc,CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,sBAAsB,CAAC;IAClC,aAAa,EAAE,OAAO,KAAK,CAAC;CAC7B,CAAC;AAEF,qBAAa,aAAa;;IACxB,QAAQ,CAAC,IAAI,mBAAgB;gBAQjB,EAAE,GAAG,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,mBAAmB;IA+BlE;;;;OAIG;IACG,yBAAyB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAiBxE;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAenC;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAe9C;;;;;;OAMG;IACG,gCAAgC,CACpC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,gCAAgC,CAAC;IAyB5C;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAS1D;;;;OAIG;IACH,eAAe,IAAI,MAAM;CAG1B"}
|
package/dist/ClaimsService.mjs
CHANGED
|
@@ -10,7 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
12
|
var _ClaimsService_env, _ClaimsService_fetch, _ClaimsService_messenger;
|
|
13
|
-
import {
|
|
13
|
+
import { CLAIMS_API_URL_MAP, ClaimsServiceErrorMessages, SERVICE_NAME } from "./constants.mjs";
|
|
14
14
|
export class ClaimsService {
|
|
15
15
|
constructor({ env, messenger, fetchFunction }) {
|
|
16
16
|
this.name = SERVICE_NAME; // required for Modular Initialization
|
|
@@ -20,12 +20,30 @@ export class ClaimsService {
|
|
|
20
20
|
__classPrivateFieldSet(this, _ClaimsService_env, env, "f");
|
|
21
21
|
__classPrivateFieldSet(this, _ClaimsService_messenger, messenger, "f");
|
|
22
22
|
__classPrivateFieldSet(this, _ClaimsService_fetch, fetchFunction, "f");
|
|
23
|
+
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:fetchClaimsConfigurations`, this.fetchClaimsConfigurations.bind(this));
|
|
23
24
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:getClaims`, this.getClaims.bind(this));
|
|
24
25
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:getClaimById`, this.getClaimById.bind(this));
|
|
25
26
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:getRequestHeaders`, this.getRequestHeaders.bind(this));
|
|
26
27
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:getClaimsApiUrl`, this.getClaimsApiUrl.bind(this));
|
|
27
28
|
__classPrivateFieldGet(this, _ClaimsService_messenger, "f").registerActionHandler(`${SERVICE_NAME}:generateMessageForClaimSignature`, this.generateMessageForClaimSignature.bind(this));
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Fetch required configurations for the claims service.
|
|
32
|
+
*
|
|
33
|
+
* @returns The required configurations for the claims service.
|
|
34
|
+
*/
|
|
35
|
+
async fetchClaimsConfigurations() {
|
|
36
|
+
const headers = await this.getRequestHeaders();
|
|
37
|
+
const url = `${this.getClaimsApiUrl()}/configurations`;
|
|
38
|
+
const response = await __classPrivateFieldGet(this, _ClaimsService_fetch, "f").call(this, url, {
|
|
39
|
+
headers,
|
|
40
|
+
});
|
|
41
|
+
if (!response.ok) {
|
|
42
|
+
throw new Error(ClaimsServiceErrorMessages.FAILED_TO_FETCH_CONFIGURATIONS);
|
|
43
|
+
}
|
|
44
|
+
const configurations = await response.json();
|
|
45
|
+
return configurations;
|
|
46
|
+
}
|
|
29
47
|
/**
|
|
30
48
|
* Get the claims for the current user.
|
|
31
49
|
*
|
|
@@ -72,8 +90,11 @@ export class ClaimsService {
|
|
|
72
90
|
const headers = await this.getRequestHeaders();
|
|
73
91
|
const url = `${this.getClaimsApiUrl()}/signature/generateMessage`;
|
|
74
92
|
const response = await __classPrivateFieldGet(this, _ClaimsService_fetch, "f").call(this, url, {
|
|
75
|
-
headers,
|
|
76
93
|
method: 'POST',
|
|
94
|
+
headers: {
|
|
95
|
+
...headers,
|
|
96
|
+
'Content-Type': 'application/json',
|
|
97
|
+
},
|
|
77
98
|
body: JSON.stringify({
|
|
78
99
|
chainId,
|
|
79
100
|
walletAddress,
|
|
@@ -88,14 +109,12 @@ export class ClaimsService {
|
|
|
88
109
|
/**
|
|
89
110
|
* Create the headers for the current request.
|
|
90
111
|
*
|
|
91
|
-
* @param contentType - The content type of the request. Defaults to 'application/json'.
|
|
92
112
|
* @returns The headers for the current request.
|
|
93
113
|
*/
|
|
94
|
-
async getRequestHeaders(
|
|
114
|
+
async getRequestHeaders() {
|
|
95
115
|
const bearerToken = await __classPrivateFieldGet(this, _ClaimsService_messenger, "f").call('AuthenticationController:getBearerToken');
|
|
96
116
|
return {
|
|
97
117
|
Authorization: `Bearer ${bearerToken}`,
|
|
98
|
-
'Content-Type': contentType,
|
|
99
118
|
};
|
|
100
119
|
}
|
|
101
120
|
/**
|
|
@@ -104,7 +123,7 @@ export class ClaimsService {
|
|
|
104
123
|
* @returns The URL for the claims API for the current environment.
|
|
105
124
|
*/
|
|
106
125
|
getClaimsApiUrl() {
|
|
107
|
-
return `${
|
|
126
|
+
return `${CLAIMS_API_URL_MAP[__classPrivateFieldGet(this, _ClaimsService_env, "f")]}`;
|
|
108
127
|
}
|
|
109
128
|
}
|
|
110
129
|
_ClaimsService_env = new WeakMap(), _ClaimsService_fetch = new WeakMap(), _ClaimsService_messenger = new WeakMap();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaimsService.mjs","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"ClaimsService.mjs","sourceRoot":"","sources":["../src/ClaimsService.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Messenger } from '@metamask/messenger';\nimport type { AuthenticationController } from '@metamask/profile-sync-controller';\nimport type { Hex } from '@metamask/utils';\n\nimport {\n CLAIMS_API_URL_MAP,\n ClaimsServiceErrorMessages,\n type Env,\n SERVICE_NAME,\n} from './constants';\nimport type {\n Claim,\n ClaimsConfigurationsResponse,\n GenerateSignatureMessageResponse,\n} from './types';\n\nexport type ClaimsServiceFetchClaimsConfigurationsAction = {\n type: `${typeof SERVICE_NAME}:fetchClaimsConfigurations`;\n handler: ClaimsService['fetchClaimsConfigurations'];\n};\n\nexport type ClaimsServiceGetClaimsAction = {\n type: `${typeof SERVICE_NAME}:getClaims`;\n handler: ClaimsService['getClaims'];\n};\n\nexport type ClaimsServiceGetClaimByIdAction = {\n type: `${typeof SERVICE_NAME}:getClaimById`;\n handler: ClaimsService['getClaimById'];\n};\n\nexport type ClaimsServiceGetRequestHeadersAction = {\n type: `${typeof SERVICE_NAME}:getRequestHeaders`;\n handler: ClaimsService['getRequestHeaders'];\n};\n\nexport type ClaimsServiceGetClaimsApiUrlAction = {\n type: `${typeof SERVICE_NAME}:getClaimsApiUrl`;\n handler: ClaimsService['getClaimsApiUrl'];\n};\n\nexport type ClaimsServiceGenerateMessageForClaimSignatureAction = {\n type: `${typeof SERVICE_NAME}:generateMessageForClaimSignature`;\n handler: ClaimsService['generateMessageForClaimSignature'];\n};\n\nexport type ClaimsServiceActions =\n | ClaimsServiceFetchClaimsConfigurationsAction\n | ClaimsServiceGetClaimsAction\n | ClaimsServiceGetClaimByIdAction\n | ClaimsServiceGetRequestHeadersAction\n | ClaimsServiceGetClaimsApiUrlAction\n | ClaimsServiceGenerateMessageForClaimSignatureAction;\n\nexport type AllowedActions =\n AuthenticationController.AuthenticationControllerGetBearerToken;\n\nexport type ClaimsServiceEvents = never;\n\nexport type ClaimsServiceMessenger = Messenger<\n typeof SERVICE_NAME,\n ClaimsServiceActions | AllowedActions\n>;\n\nexport type ClaimsServiceConfig = {\n env: Env;\n messenger: ClaimsServiceMessenger;\n fetchFunction: typeof fetch;\n};\n\nexport class ClaimsService {\n readonly name = SERVICE_NAME; // required for Modular Initialization\n\n readonly #env: Env;\n\n readonly #fetch: typeof fetch;\n\n readonly #messenger: ClaimsServiceMessenger;\n\n constructor({ env, messenger, fetchFunction }: ClaimsServiceConfig) {\n this.#env = env;\n this.#messenger = messenger;\n this.#fetch = fetchFunction;\n\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:fetchClaimsConfigurations`,\n this.fetchClaimsConfigurations.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaims`,\n this.getClaims.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaimById`,\n this.getClaimById.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getRequestHeaders`,\n this.getRequestHeaders.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:getClaimsApiUrl`,\n this.getClaimsApiUrl.bind(this),\n );\n this.#messenger.registerActionHandler(\n `${SERVICE_NAME}:generateMessageForClaimSignature`,\n this.generateMessageForClaimSignature.bind(this),\n );\n }\n\n /**\n * Fetch required configurations for the claims service.\n *\n * @returns The required configurations for the claims service.\n */\n async fetchClaimsConfigurations(): Promise<ClaimsConfigurationsResponse> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/configurations`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(\n ClaimsServiceErrorMessages.FAILED_TO_FETCH_CONFIGURATIONS,\n );\n }\n\n const configurations = await response.json();\n return configurations;\n }\n\n /**\n * Get the claims for the current user.\n *\n * @returns The claims for the current user.\n */\n async getClaims(): Promise<Claim[]> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/claims`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(ClaimsServiceErrorMessages.FAILED_TO_GET_CLAIMS);\n }\n\n const claims = await response.json();\n return claims;\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 */\n async getClaimById(id: string): Promise<Claim> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/claims/byId/${id}`;\n const response = await this.#fetch(url, {\n headers,\n });\n\n if (!response.ok) {\n throw new Error(ClaimsServiceErrorMessages.FAILED_TO_GET_CLAIM_BY_ID);\n }\n\n const claim = await response.json();\n return claim;\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 */\n async generateMessageForClaimSignature(\n chainId: number,\n walletAddress: Hex,\n ): Promise<GenerateSignatureMessageResponse> {\n const headers = await this.getRequestHeaders();\n const url = `${this.getClaimsApiUrl()}/signature/generateMessage`;\n const response = await this.#fetch(url, {\n method: 'POST',\n headers: {\n ...headers,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n chainId,\n walletAddress,\n }),\n });\n\n if (!response.ok) {\n throw new Error(\n ClaimsServiceErrorMessages.SIGNATURE_MESSAGE_GENERATION_FAILED,\n );\n }\n\n const message = await response.json();\n return message;\n }\n\n /**\n * Create the headers for the current request.\n *\n * @returns The headers for the current request.\n */\n async getRequestHeaders(): Promise<Record<string, string>> {\n const bearerToken = await this.#messenger.call(\n 'AuthenticationController:getBearerToken',\n );\n return {\n Authorization: `Bearer ${bearerToken}`,\n };\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 */\n getClaimsApiUrl(): string {\n return `${CLAIMS_API_URL_MAP[this.#env]}`;\n }\n}\n"]}
|
package/dist/constants.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DEFAULT_CLAIMS_CONFIGURATIONS = exports.ClaimsServiceErrorMessages = exports.ClaimsControllerErrorMessages = exports.CLAIMS_API_URL_MAP = exports.ClaimStatusEnum = exports.Env = exports.SERVICE_NAME = exports.CONTROLLER_NAME = void 0;
|
|
4
|
+
const controller_utils_1 = require("@metamask/controller-utils");
|
|
4
5
|
exports.CONTROLLER_NAME = 'ClaimsController';
|
|
5
6
|
exports.SERVICE_NAME = 'ClaimsService';
|
|
6
7
|
var Env;
|
|
@@ -26,25 +27,31 @@ var ClaimStatusEnum;
|
|
|
26
27
|
// unknown status
|
|
27
28
|
ClaimStatusEnum["UNKNOWN"] = "unknown";
|
|
28
29
|
})(ClaimStatusEnum || (exports.ClaimStatusEnum = ClaimStatusEnum = {}));
|
|
29
|
-
exports.
|
|
30
|
+
exports.CLAIMS_API_URL_MAP = {
|
|
30
31
|
[Env.DEV]: 'https://claims.dev-api.cx.metamask.io',
|
|
31
32
|
[Env.UAT]: 'https://claims.uat-api.cx.metamask.io',
|
|
32
33
|
[Env.PRD]: 'https://claims.api.cx.metamask.io',
|
|
33
34
|
};
|
|
34
|
-
var HttpContentTypeHeader;
|
|
35
|
-
(function (HttpContentTypeHeader) {
|
|
36
|
-
HttpContentTypeHeader["APPLICATION_JSON"] = "application/json";
|
|
37
|
-
HttpContentTypeHeader["MULTIPART_FORM_DATA"] = "multipart/form-data";
|
|
38
|
-
})(HttpContentTypeHeader || (exports.HttpContentTypeHeader = HttpContentTypeHeader = {}));
|
|
39
35
|
exports.ClaimsControllerErrorMessages = {
|
|
40
36
|
CLAIM_ALREADY_SUBMITTED: 'Claim already submitted',
|
|
41
37
|
INVALID_CLAIM_SIGNATURE: 'Invalid claim signature',
|
|
42
38
|
INVALID_SIGNATURE_MESSAGE: 'Invalid signature message',
|
|
43
39
|
};
|
|
44
40
|
exports.ClaimsServiceErrorMessages = {
|
|
41
|
+
FAILED_TO_FETCH_CONFIGURATIONS: 'Failed to fetch claims configurations',
|
|
45
42
|
FAILED_TO_GET_CLAIMS: 'Failed to get claims',
|
|
46
43
|
FAILED_TO_GET_CLAIM_BY_ID: 'Failed to get claim by id',
|
|
47
44
|
SIGNATURE_MESSAGE_GENERATION_FAILED: 'Failed to generate message for claim signature',
|
|
48
45
|
CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED: 'Failed to verify claim signature',
|
|
49
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Default claims configurations.
|
|
49
|
+
*/
|
|
50
|
+
exports.DEFAULT_CLAIMS_CONFIGURATIONS = {
|
|
51
|
+
validSubmissionWindowDays: 21,
|
|
52
|
+
supportedNetworks: [
|
|
53
|
+
controller_utils_1.ChainId[controller_utils_1.BuiltInNetworkName.Mainnet],
|
|
54
|
+
controller_utils_1.ChainId[controller_utils_1.BuiltInNetworkName.LineaMainnet],
|
|
55
|
+
],
|
|
56
|
+
};
|
|
50
57
|
//# sourceMappingURL=constants.cjs.map
|
package/dist/constants.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.cjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,iEAAyE;AAE5D,QAAA,eAAe,GAAG,kBAAkB,CAAC;AAErC,QAAA,YAAY,GAAG,eAAe,CAAC;AAE5C,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,kBAAW,CAAA;IACX,kBAAW,CAAA;IACX,kBAAW,CAAA;AACb,CAAC,EAJW,GAAG,mBAAH,GAAG,QAId;AAED,IAAY,eAeX;AAfD,WAAY,eAAe;IACzB,4CAA4C;IAC5C,sCAAmB,CAAA;IACnB,wBAAwB;IACxB,0CAAuB,CAAA;IACvB,0BAA0B;IAC1B,8CAA2B,CAAA;IAC3B,6BAA6B;IAC7B,gEAA6C,CAAA;IAC7C,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,iBAAiB;IACjB,sCAAmB,CAAA;AACrB,CAAC,EAfW,eAAe,+BAAf,eAAe,QAe1B;AAEY,QAAA,kBAAkB,GAAwB;IACrD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,uCAAuC;IAClD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,uCAAuC;IAClD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,mCAAmC;CAC/C,CAAC;AAEW,QAAA,6BAA6B,GAAG;IAC3C,uBAAuB,EAAE,yBAAyB;IAClD,uBAAuB,EAAE,yBAAyB;IAClD,yBAAyB,EAAE,2BAA2B;CACvD,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,8BAA8B,EAAE,uCAAuC;IACvE,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,mCAAmC,EACjC,gDAAgD;IAClD,2CAA2C,EACzC,kCAAkC;CACrC,CAAC;AAEF;;GAEG;AACU,QAAA,6BAA6B,GAAG;IAC3C,yBAAyB,EAAE,EAAE;IAC7B,iBAAiB,EAAE;QACjB,0BAAO,CAAC,qCAAkB,CAAC,OAAO,CAAC;QACnC,0BAAO,CAAC,qCAAkB,CAAC,YAAY,CAAC;KACzC;CACF,CAAC","sourcesContent":["import { BuiltInNetworkName, ChainId } from '@metamask/controller-utils';\n\nexport const CONTROLLER_NAME = 'ClaimsController';\n\nexport const SERVICE_NAME = 'ClaimsService';\n\nexport enum Env {\n DEV = 'dev',\n UAT = 'uat',\n PRD = 'prd',\n}\n\nexport enum ClaimStatusEnum {\n // created but not yet submitted to Intercom\n CREATED = 'created',\n // submitted to Intercom\n SUBMITTED = 'submitted',\n // in progress by Intercom\n IN_PROGRESS = 'in_progress',\n // waiting for customer reply\n WAITING_FOR_CUSTOMER = 'waiting_for_customer',\n // approved by Intercom\n APPROVED = 'approved',\n // rejected by Intercom\n REJECTED = 'rejected',\n // unknown status\n UNKNOWN = 'unknown',\n}\n\nexport const CLAIMS_API_URL_MAP: Record<Env, string> = {\n [Env.DEV]: 'https://claims.dev-api.cx.metamask.io',\n [Env.UAT]: 'https://claims.uat-api.cx.metamask.io',\n [Env.PRD]: 'https://claims.api.cx.metamask.io',\n};\n\nexport const ClaimsControllerErrorMessages = {\n CLAIM_ALREADY_SUBMITTED: 'Claim already submitted',\n INVALID_CLAIM_SIGNATURE: 'Invalid claim signature',\n INVALID_SIGNATURE_MESSAGE: 'Invalid signature message',\n};\n\nexport const ClaimsServiceErrorMessages = {\n FAILED_TO_FETCH_CONFIGURATIONS: 'Failed to fetch claims configurations',\n FAILED_TO_GET_CLAIMS: 'Failed to get claims',\n FAILED_TO_GET_CLAIM_BY_ID: 'Failed to get claim by id',\n SIGNATURE_MESSAGE_GENERATION_FAILED:\n 'Failed to generate message for claim signature',\n CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED:\n 'Failed to verify claim signature',\n};\n\n/**\n * Default claims configurations.\n */\nexport const DEFAULT_CLAIMS_CONFIGURATIONS = {\n validSubmissionWindowDays: 21,\n supportedNetworks: [\n ChainId[BuiltInNetworkName.Mainnet],\n ChainId[BuiltInNetworkName.LineaMainnet],\n ],\n};\n"]}
|
package/dist/constants.d.cts
CHANGED
|
@@ -14,20 +14,24 @@ export declare enum ClaimStatusEnum {
|
|
|
14
14
|
REJECTED = "rejected",
|
|
15
15
|
UNKNOWN = "unknown"
|
|
16
16
|
}
|
|
17
|
-
export declare const
|
|
18
|
-
export declare enum HttpContentTypeHeader {
|
|
19
|
-
APPLICATION_JSON = "application/json",
|
|
20
|
-
MULTIPART_FORM_DATA = "multipart/form-data"
|
|
21
|
-
}
|
|
17
|
+
export declare const CLAIMS_API_URL_MAP: Record<Env, string>;
|
|
22
18
|
export declare const ClaimsControllerErrorMessages: {
|
|
23
19
|
CLAIM_ALREADY_SUBMITTED: string;
|
|
24
20
|
INVALID_CLAIM_SIGNATURE: string;
|
|
25
21
|
INVALID_SIGNATURE_MESSAGE: string;
|
|
26
22
|
};
|
|
27
23
|
export declare const ClaimsServiceErrorMessages: {
|
|
24
|
+
FAILED_TO_FETCH_CONFIGURATIONS: string;
|
|
28
25
|
FAILED_TO_GET_CLAIMS: string;
|
|
29
26
|
FAILED_TO_GET_CLAIM_BY_ID: string;
|
|
30
27
|
SIGNATURE_MESSAGE_GENERATION_FAILED: string;
|
|
31
28
|
CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED: string;
|
|
32
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Default claims configurations.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEFAULT_CLAIMS_CONFIGURATIONS: {
|
|
34
|
+
validSubmissionWindowDays: number;
|
|
35
|
+
supportedNetworks: ("0x1" | "0xe708")[];
|
|
36
|
+
};
|
|
33
37
|
//# sourceMappingURL=constants.d.cts.map
|
package/dist/constants.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.cts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,oBAAY,GAAG;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,oBAAY,eAAe;IAEzB,OAAO,YAAY;IAEnB,SAAS,cAAc;IAEvB,WAAW,gBAAgB;IAE3B,oBAAoB,yBAAyB;IAE7C,QAAQ,aAAa;IAErB,QAAQ,aAAa;IAErB,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAIlD,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;CAIzC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;CAQtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;CAMzC,CAAC"}
|
package/dist/constants.d.mts
CHANGED
|
@@ -14,20 +14,24 @@ export declare enum ClaimStatusEnum {
|
|
|
14
14
|
REJECTED = "rejected",
|
|
15
15
|
UNKNOWN = "unknown"
|
|
16
16
|
}
|
|
17
|
-
export declare const
|
|
18
|
-
export declare enum HttpContentTypeHeader {
|
|
19
|
-
APPLICATION_JSON = "application/json",
|
|
20
|
-
MULTIPART_FORM_DATA = "multipart/form-data"
|
|
21
|
-
}
|
|
17
|
+
export declare const CLAIMS_API_URL_MAP: Record<Env, string>;
|
|
22
18
|
export declare const ClaimsControllerErrorMessages: {
|
|
23
19
|
CLAIM_ALREADY_SUBMITTED: string;
|
|
24
20
|
INVALID_CLAIM_SIGNATURE: string;
|
|
25
21
|
INVALID_SIGNATURE_MESSAGE: string;
|
|
26
22
|
};
|
|
27
23
|
export declare const ClaimsServiceErrorMessages: {
|
|
24
|
+
FAILED_TO_FETCH_CONFIGURATIONS: string;
|
|
28
25
|
FAILED_TO_GET_CLAIMS: string;
|
|
29
26
|
FAILED_TO_GET_CLAIM_BY_ID: string;
|
|
30
27
|
SIGNATURE_MESSAGE_GENERATION_FAILED: string;
|
|
31
28
|
CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED: string;
|
|
32
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* Default claims configurations.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEFAULT_CLAIMS_CONFIGURATIONS: {
|
|
34
|
+
validSubmissionWindowDays: number;
|
|
35
|
+
supportedNetworks: ("0x1" | "0xe708")[];
|
|
36
|
+
};
|
|
33
37
|
//# sourceMappingURL=constants.d.mts.map
|
package/dist/constants.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.mts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAElD,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,oBAAY,GAAG;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,oBAAY,eAAe;IAEzB,OAAO,YAAY;IAEnB,SAAS,cAAc;IAEvB,WAAW,gBAAgB;IAE3B,oBAAoB,yBAAyB;IAE7C,QAAQ,aAAa;IAErB,QAAQ,aAAa;IAErB,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAIlD,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;CAIzC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;CAQtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;CAMzC,CAAC"}
|
package/dist/constants.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BuiltInNetworkName, ChainId } from "@metamask/controller-utils";
|
|
1
2
|
export const CONTROLLER_NAME = 'ClaimsController';
|
|
2
3
|
export const SERVICE_NAME = 'ClaimsService';
|
|
3
4
|
export var Env;
|
|
@@ -23,25 +24,31 @@ export var ClaimStatusEnum;
|
|
|
23
24
|
// unknown status
|
|
24
25
|
ClaimStatusEnum["UNKNOWN"] = "unknown";
|
|
25
26
|
})(ClaimStatusEnum || (ClaimStatusEnum = {}));
|
|
26
|
-
export const
|
|
27
|
+
export const CLAIMS_API_URL_MAP = {
|
|
27
28
|
[Env.DEV]: 'https://claims.dev-api.cx.metamask.io',
|
|
28
29
|
[Env.UAT]: 'https://claims.uat-api.cx.metamask.io',
|
|
29
30
|
[Env.PRD]: 'https://claims.api.cx.metamask.io',
|
|
30
31
|
};
|
|
31
|
-
export var HttpContentTypeHeader;
|
|
32
|
-
(function (HttpContentTypeHeader) {
|
|
33
|
-
HttpContentTypeHeader["APPLICATION_JSON"] = "application/json";
|
|
34
|
-
HttpContentTypeHeader["MULTIPART_FORM_DATA"] = "multipart/form-data";
|
|
35
|
-
})(HttpContentTypeHeader || (HttpContentTypeHeader = {}));
|
|
36
32
|
export const ClaimsControllerErrorMessages = {
|
|
37
33
|
CLAIM_ALREADY_SUBMITTED: 'Claim already submitted',
|
|
38
34
|
INVALID_CLAIM_SIGNATURE: 'Invalid claim signature',
|
|
39
35
|
INVALID_SIGNATURE_MESSAGE: 'Invalid signature message',
|
|
40
36
|
};
|
|
41
37
|
export const ClaimsServiceErrorMessages = {
|
|
38
|
+
FAILED_TO_FETCH_CONFIGURATIONS: 'Failed to fetch claims configurations',
|
|
42
39
|
FAILED_TO_GET_CLAIMS: 'Failed to get claims',
|
|
43
40
|
FAILED_TO_GET_CLAIM_BY_ID: 'Failed to get claim by id',
|
|
44
41
|
SIGNATURE_MESSAGE_GENERATION_FAILED: 'Failed to generate message for claim signature',
|
|
45
42
|
CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED: 'Failed to verify claim signature',
|
|
46
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Default claims configurations.
|
|
46
|
+
*/
|
|
47
|
+
export const DEFAULT_CLAIMS_CONFIGURATIONS = {
|
|
48
|
+
validSubmissionWindowDays: 21,
|
|
49
|
+
supportedNetworks: [
|
|
50
|
+
ChainId[BuiltInNetworkName.Mainnet],
|
|
51
|
+
ChainId[BuiltInNetworkName.LineaMainnet],
|
|
52
|
+
],
|
|
53
|
+
};
|
|
47
54
|
//# sourceMappingURL=constants.mjs.map
|
package/dist/constants.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAN,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,kBAAW,CAAA;IACX,kBAAW,CAAA;IACX,kBAAW,CAAA;AACb,CAAC,EAJW,GAAG,KAAH,GAAG,QAId;AAED,MAAM,CAAN,IAAY,eAeX;AAfD,WAAY,eAAe;IACzB,4CAA4C;IAC5C,sCAAmB,CAAA;IACnB,wBAAwB;IACxB,0CAAuB,CAAA;IACvB,0BAA0B;IAC1B,8CAA2B,CAAA;IAC3B,6BAA6B;IAC7B,gEAA6C,CAAA;IAC7C,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,iBAAiB;IACjB,sCAAmB,CAAA;AACrB,CAAC,EAfW,eAAe,KAAf,eAAe,QAe1B;AAED,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.mjs","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,mCAAmC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAN,IAAY,GAIX;AAJD,WAAY,GAAG;IACb,kBAAW,CAAA;IACX,kBAAW,CAAA;IACX,kBAAW,CAAA;AACb,CAAC,EAJW,GAAG,KAAH,GAAG,QAId;AAED,MAAM,CAAN,IAAY,eAeX;AAfD,WAAY,eAAe;IACzB,4CAA4C;IAC5C,sCAAmB,CAAA;IACnB,wBAAwB;IACxB,0CAAuB,CAAA;IACvB,0BAA0B;IAC1B,8CAA2B,CAAA;IAC3B,6BAA6B;IAC7B,gEAA6C,CAAA;IAC7C,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,uBAAuB;IACvB,wCAAqB,CAAA;IACrB,iBAAiB;IACjB,sCAAmB,CAAA;AACrB,CAAC,EAfW,eAAe,KAAf,eAAe,QAe1B;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,uCAAuC;IAClD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,uCAAuC;IAClD,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,mCAAmC;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,uBAAuB,EAAE,yBAAyB;IAClD,uBAAuB,EAAE,yBAAyB;IAClD,yBAAyB,EAAE,2BAA2B;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,8BAA8B,EAAE,uCAAuC;IACvE,oBAAoB,EAAE,sBAAsB;IAC5C,yBAAyB,EAAE,2BAA2B;IACtD,mCAAmC,EACjC,gDAAgD;IAClD,2CAA2C,EACzC,kCAAkC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,yBAAyB,EAAE,EAAE;IAC7B,iBAAiB,EAAE;QACjB,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACnC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC;KACzC;CACF,CAAC","sourcesContent":["import { BuiltInNetworkName, ChainId } from '@metamask/controller-utils';\n\nexport const CONTROLLER_NAME = 'ClaimsController';\n\nexport const SERVICE_NAME = 'ClaimsService';\n\nexport enum Env {\n DEV = 'dev',\n UAT = 'uat',\n PRD = 'prd',\n}\n\nexport enum ClaimStatusEnum {\n // created but not yet submitted to Intercom\n CREATED = 'created',\n // submitted to Intercom\n SUBMITTED = 'submitted',\n // in progress by Intercom\n IN_PROGRESS = 'in_progress',\n // waiting for customer reply\n WAITING_FOR_CUSTOMER = 'waiting_for_customer',\n // approved by Intercom\n APPROVED = 'approved',\n // rejected by Intercom\n REJECTED = 'rejected',\n // unknown status\n UNKNOWN = 'unknown',\n}\n\nexport const CLAIMS_API_URL_MAP: Record<Env, string> = {\n [Env.DEV]: 'https://claims.dev-api.cx.metamask.io',\n [Env.UAT]: 'https://claims.uat-api.cx.metamask.io',\n [Env.PRD]: 'https://claims.api.cx.metamask.io',\n};\n\nexport const ClaimsControllerErrorMessages = {\n CLAIM_ALREADY_SUBMITTED: 'Claim already submitted',\n INVALID_CLAIM_SIGNATURE: 'Invalid claim signature',\n INVALID_SIGNATURE_MESSAGE: 'Invalid signature message',\n};\n\nexport const ClaimsServiceErrorMessages = {\n FAILED_TO_FETCH_CONFIGURATIONS: 'Failed to fetch claims configurations',\n FAILED_TO_GET_CLAIMS: 'Failed to get claims',\n FAILED_TO_GET_CLAIM_BY_ID: 'Failed to get claim by id',\n SIGNATURE_MESSAGE_GENERATION_FAILED:\n 'Failed to generate message for claim signature',\n CLAIM_SIGNATURE_VERIFICATION_REQUEST_FAILED:\n 'Failed to verify claim signature',\n};\n\n/**\n * Default claims configurations.\n */\nexport const DEFAULT_CLAIMS_CONFIGURATIONS = {\n validSubmissionWindowDays: 21,\n supportedNetworks: [\n ChainId[BuiltInNetworkName.Mainnet],\n ChainId[BuiltInNetworkName.LineaMainnet],\n ],\n};\n"]}
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ClaimsControllerErrorMessages = exports.Env = exports.ClaimStatusEnum = exports.ClaimsService = exports.getDefaultClaimsControllerState = exports.ClaimsController = void 0;
|
|
3
|
+
exports.CLAIMS_API_URL_MAP = exports.ClaimsServiceErrorMessages = exports.DEFAULT_CLAIMS_CONFIGURATIONS = exports.ClaimsControllerErrorMessages = exports.Env = exports.ClaimStatusEnum = exports.ClaimsService = exports.getDefaultClaimsControllerState = exports.ClaimsController = void 0;
|
|
4
4
|
var ClaimsController_1 = require("./ClaimsController.cjs");
|
|
5
5
|
Object.defineProperty(exports, "ClaimsController", { enumerable: true, get: function () { return ClaimsController_1.ClaimsController; } });
|
|
6
6
|
Object.defineProperty(exports, "getDefaultClaimsControllerState", { enumerable: true, get: function () { return ClaimsController_1.getDefaultClaimsControllerState; } });
|
|
@@ -10,4 +10,7 @@ var constants_1 = require("./constants.cjs");
|
|
|
10
10
|
Object.defineProperty(exports, "ClaimStatusEnum", { enumerable: true, get: function () { return constants_1.ClaimStatusEnum; } });
|
|
11
11
|
Object.defineProperty(exports, "Env", { enumerable: true, get: function () { return constants_1.Env; } });
|
|
12
12
|
Object.defineProperty(exports, "ClaimsControllerErrorMessages", { enumerable: true, get: function () { return constants_1.ClaimsControllerErrorMessages; } });
|
|
13
|
+
Object.defineProperty(exports, "DEFAULT_CLAIMS_CONFIGURATIONS", { enumerable: true, get: function () { return constants_1.DEFAULT_CLAIMS_CONFIGURATIONS; } });
|
|
14
|
+
Object.defineProperty(exports, "ClaimsServiceErrorMessages", { enumerable: true, get: function () { return constants_1.ClaimsServiceErrorMessages; } });
|
|
15
|
+
Object.defineProperty(exports, "CLAIMS_API_URL_MAP", { enumerable: true, get: function () { return constants_1.CLAIMS_API_URL_MAP; } });
|
|
13
16
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;
|
|
1
|
+
{"version":3,"file":"index.cjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,2DAG4B;AAF1B,oHAAA,gBAAgB,OAAA;AAChB,mIAAA,+BAA+B,OAAA;AAmBjC,qDAAgD;AAAvC,8GAAA,aAAa,OAAA;AAatB,6CAOqB;AANnB,4GAAA,eAAe,OAAA;AACf,gGAAA,GAAG,OAAA;AACH,0HAAA,6BAA6B,OAAA;AAC7B,0HAAA,6BAA6B,OAAA;AAC7B,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,kBAAkB,OAAA","sourcesContent":["export {\n ClaimsController,\n getDefaultClaimsControllerState,\n} from './ClaimsController';\n\nexport type {\n ClaimsControllerGetStateAction,\n ClaimsControllerActions,\n ClaimsControllerStateChangeEvent,\n ClaimsControllerMessenger,\n} from './ClaimsController';\n\nexport type {\n Claim,\n ClaimsControllerState,\n Attachment,\n ClaimsConfigurations,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types';\n\nexport { ClaimsService } from './ClaimsService';\n\nexport type {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetRequestHeadersAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceActions,\n ClaimsServiceMessenger,\n} from './ClaimsService';\n\nexport {\n ClaimStatusEnum,\n Env,\n ClaimsControllerErrorMessages,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n ClaimsServiceErrorMessages,\n CLAIMS_API_URL_MAP,\n} from './constants';\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ClaimsController, getDefaultClaimsControllerState, } from "./ClaimsController.cjs";
|
|
2
2
|
export type { ClaimsControllerGetStateAction, ClaimsControllerActions, ClaimsControllerStateChangeEvent, ClaimsControllerMessenger, } from "./ClaimsController.cjs";
|
|
3
|
-
export type { Claim, ClaimsControllerState, Attachment } from "./types.cjs";
|
|
3
|
+
export type { Claim, ClaimsControllerState, Attachment, ClaimsConfigurations, CreateClaimRequest, SubmitClaimConfig, } from "./types.cjs";
|
|
4
4
|
export { ClaimsService } from "./ClaimsService.cjs";
|
|
5
|
-
export type { ClaimsServiceGetClaimsAction, ClaimsServiceGetRequestHeadersAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceActions, ClaimsServiceMessenger, } from "./ClaimsService.cjs";
|
|
6
|
-
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages, } from "./constants.cjs";
|
|
5
|
+
export type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetRequestHeadersAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceActions, ClaimsServiceMessenger, } from "./ClaimsService.cjs";
|
|
6
|
+
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages, DEFAULT_CLAIMS_CONFIGURATIONS, ClaimsServiceErrorMessages, CLAIMS_API_URL_MAP, } from "./constants.cjs";
|
|
7
7
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAE5B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAE5B,YAAY,EACV,KAAK,EACL,qBAAqB,EACrB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,oBAAgB;AAEjB,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAEhD,YAAY,EACV,4CAA4C,EAC5C,4BAA4B,EAC5B,oCAAoC,EACpC,kCAAkC,EAClC,+BAA+B,EAC/B,mDAAmD,EACnD,oBAAoB,EACpB,sBAAsB,GACvB,4BAAwB;AAEzB,OAAO,EACL,eAAe,EACf,GAAG,EACH,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,GACnB,wBAAoB"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { ClaimsController, getDefaultClaimsControllerState, } from "./ClaimsController.mjs";
|
|
2
2
|
export type { ClaimsControllerGetStateAction, ClaimsControllerActions, ClaimsControllerStateChangeEvent, ClaimsControllerMessenger, } from "./ClaimsController.mjs";
|
|
3
|
-
export type { Claim, ClaimsControllerState, Attachment } from "./types.mjs";
|
|
3
|
+
export type { Claim, ClaimsControllerState, Attachment, ClaimsConfigurations, CreateClaimRequest, SubmitClaimConfig, } from "./types.mjs";
|
|
4
4
|
export { ClaimsService } from "./ClaimsService.mjs";
|
|
5
|
-
export type { ClaimsServiceGetClaimsAction, ClaimsServiceGetRequestHeadersAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceActions, ClaimsServiceMessenger, } from "./ClaimsService.mjs";
|
|
6
|
-
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages, } from "./constants.mjs";
|
|
5
|
+
export type { ClaimsServiceFetchClaimsConfigurationsAction, ClaimsServiceGetClaimsAction, ClaimsServiceGetRequestHeadersAction, ClaimsServiceGetClaimsApiUrlAction, ClaimsServiceGetClaimByIdAction, ClaimsServiceGenerateMessageForClaimSignatureAction, ClaimsServiceActions, ClaimsServiceMessenger, } from "./ClaimsService.mjs";
|
|
6
|
+
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages, DEFAULT_CLAIMS_CONFIGURATIONS, ClaimsServiceErrorMessages, CLAIMS_API_URL_MAP, } from "./constants.mjs";
|
|
7
7
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAE5B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAChC,+BAA2B;AAE5B,YAAY,EACV,8BAA8B,EAC9B,uBAAuB,EACvB,gCAAgC,EAChC,yBAAyB,GAC1B,+BAA2B;AAE5B,YAAY,EACV,KAAK,EACL,qBAAqB,EACrB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,GAClB,oBAAgB;AAEjB,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAEhD,YAAY,EACV,4CAA4C,EAC5C,4BAA4B,EAC5B,oCAAoC,EACpC,kCAAkC,EAClC,+BAA+B,EAC/B,mDAAmD,EACnD,oBAAoB,EACpB,sBAAsB,GACvB,4BAAwB;AAEzB,OAAO,EACL,eAAe,EACf,GAAG,EACH,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,GACnB,wBAAoB"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ClaimsController, getDefaultClaimsControllerState } from "./ClaimsController.mjs";
|
|
2
2
|
export { ClaimsService } from "./ClaimsService.mjs";
|
|
3
|
-
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages } from "./constants.mjs";
|
|
3
|
+
export { ClaimStatusEnum, Env, ClaimsControllerErrorMessages, DEFAULT_CLAIMS_CONFIGURATIONS, ClaimsServiceErrorMessages, CLAIMS_API_URL_MAP } from "./constants.mjs";
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,+BAA+B,EAChC,+BAA2B;AAkB5B,OAAO,EAAE,aAAa,EAAE,4BAAwB;AAahD,OAAO,EACL,eAAe,EACf,GAAG,EACH,6BAA6B,EAC7B,6BAA6B,EAC7B,0BAA0B,EAC1B,kBAAkB,EACnB,wBAAoB","sourcesContent":["export {\n ClaimsController,\n getDefaultClaimsControllerState,\n} from './ClaimsController';\n\nexport type {\n ClaimsControllerGetStateAction,\n ClaimsControllerActions,\n ClaimsControllerStateChangeEvent,\n ClaimsControllerMessenger,\n} from './ClaimsController';\n\nexport type {\n Claim,\n ClaimsControllerState,\n Attachment,\n ClaimsConfigurations,\n CreateClaimRequest,\n SubmitClaimConfig,\n} from './types';\n\nexport { ClaimsService } from './ClaimsService';\n\nexport type {\n ClaimsServiceFetchClaimsConfigurationsAction,\n ClaimsServiceGetClaimsAction,\n ClaimsServiceGetRequestHeadersAction,\n ClaimsServiceGetClaimsApiUrlAction,\n ClaimsServiceGetClaimByIdAction,\n ClaimsServiceGenerateMessageForClaimSignatureAction,\n ClaimsServiceActions,\n ClaimsServiceMessenger,\n} from './ClaimsService';\n\nexport {\n ClaimStatusEnum,\n Env,\n ClaimsControllerErrorMessages,\n DEFAULT_CLAIMS_CONFIGURATIONS,\n ClaimsServiceErrorMessages,\n CLAIMS_API_URL_MAP,\n} from './constants';\n"]}
|
package/dist/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport type { ClaimStatusEnum } from './constants';\n\nexport type Attachment = {\n publicUrl: string;\n contentType: string;\n originalname: string;\n};\n\nexport type Claim = {\n id: string;\n shortId: string;\n chainId: string;\n email: string;\n impactedWalletAddress: Hex;\n impactedTxHash: Hex;\n reimbursementWalletAddress: Hex;\n description: string;\n signature: Hex;\n attachments?: Attachment[];\n status: ClaimStatusEnum;\n createdAt: string;\n updatedAt: string;\n intercomId?: string;\n};\n\nexport type CreateClaimRequest = Omit<\n Claim,\n 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'\n>;\n\nexport type ClaimsControllerState = {\n claims: Claim[];\n};\n\nexport type SubmitClaimConfig = {\n /**\n * The sanitized and validated data to be submitted.\n */\n data: CreateClaimRequest;\n /**\n * The headers to be used in the request.\n */\n headers: Record<string, string>;\n /**\n * The HTTP method to submit.\n */\n method: 'POST';\n /**\n * The URL to submit the claim to.\n */\n url: string;\n};\n\nexport type GenerateSignatureMessageResponse = {\n message: string;\n nonce: string;\n};\n
|
|
1
|
+
{"version":3,"file":"types.cjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport type { ClaimStatusEnum } from './constants';\n\nexport type Attachment = {\n publicUrl: string;\n contentType: string;\n originalname: string;\n};\n\nexport type ClaimsConfigurations = {\n /**\n * The number of days the claim is valid for submission.\n */\n validSubmissionWindowDays: number;\n\n /**\n * List of supported chain IDs in hexadecimal format.\n */\n supportedNetworks: `0x${string}`[];\n};\n\nexport type ClaimsConfigurationsResponse = Omit<\n ClaimsConfigurations,\n 'supportedNetworks'\n> & {\n /**\n * List of supported chain IDs.\n * Claims API response for `supportedNetworks` field (in decimal format).\n */\n networks: number[];\n};\n\nexport type Claim = {\n id: string;\n shortId: string;\n chainId: string;\n email: string;\n impactedWalletAddress: Hex;\n impactedTxHash: Hex;\n reimbursementWalletAddress: Hex;\n description: string;\n signature: Hex;\n attachments?: Attachment[];\n status: ClaimStatusEnum;\n createdAt: string;\n updatedAt: string;\n intercomId?: string;\n};\n\nexport type CreateClaimRequest = Omit<\n Claim,\n 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'\n>;\n\nexport type ClaimsControllerState = {\n /**\n * List of claims.\n */\n claims: Claim[];\n\n /**\n * The claims configurations.\n * This is used to store the claims configurations fetched from the backend.\n */\n claimsConfigurations: ClaimsConfigurations;\n};\n\nexport type SubmitClaimConfig = {\n /**\n * The sanitized and validated data to be submitted.\n */\n data: CreateClaimRequest;\n /**\n * The headers to be used in the request.\n */\n headers: Record<string, string>;\n /**\n * The HTTP method to submit.\n */\n method: 'POST';\n /**\n * The URL to submit the claim to.\n */\n url: string;\n};\n\nexport type GenerateSignatureMessageResponse = {\n message: string;\n nonce: string;\n};\n"]}
|
package/dist/types.d.cts
CHANGED
|
@@ -5,6 +5,23 @@ export type Attachment = {
|
|
|
5
5
|
contentType: string;
|
|
6
6
|
originalname: string;
|
|
7
7
|
};
|
|
8
|
+
export type ClaimsConfigurations = {
|
|
9
|
+
/**
|
|
10
|
+
* The number of days the claim is valid for submission.
|
|
11
|
+
*/
|
|
12
|
+
validSubmissionWindowDays: number;
|
|
13
|
+
/**
|
|
14
|
+
* List of supported chain IDs in hexadecimal format.
|
|
15
|
+
*/
|
|
16
|
+
supportedNetworks: `0x${string}`[];
|
|
17
|
+
};
|
|
18
|
+
export type ClaimsConfigurationsResponse = Omit<ClaimsConfigurations, 'supportedNetworks'> & {
|
|
19
|
+
/**
|
|
20
|
+
* List of supported chain IDs.
|
|
21
|
+
* Claims API response for `supportedNetworks` field (in decimal format).
|
|
22
|
+
*/
|
|
23
|
+
networks: number[];
|
|
24
|
+
};
|
|
8
25
|
export type Claim = {
|
|
9
26
|
id: string;
|
|
10
27
|
shortId: string;
|
|
@@ -23,7 +40,15 @@ export type Claim = {
|
|
|
23
40
|
};
|
|
24
41
|
export type CreateClaimRequest = Omit<Claim, 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'>;
|
|
25
42
|
export type ClaimsControllerState = {
|
|
43
|
+
/**
|
|
44
|
+
* List of claims.
|
|
45
|
+
*/
|
|
26
46
|
claims: Claim[];
|
|
47
|
+
/**
|
|
48
|
+
* The claims configurations.
|
|
49
|
+
* This is used to store the claims configurations fetched from the backend.
|
|
50
|
+
*/
|
|
51
|
+
claimsConfigurations: ClaimsConfigurations;
|
|
27
52
|
};
|
|
28
53
|
export type SubmitClaimConfig = {
|
|
29
54
|
/**
|
|
@@ -47,8 +72,4 @@ export type GenerateSignatureMessageResponse = {
|
|
|
47
72
|
message: string;
|
|
48
73
|
nonce: string;
|
|
49
74
|
};
|
|
50
|
-
export type VerifyClaimSignatureResponse = {
|
|
51
|
-
message: string;
|
|
52
|
-
success: boolean;
|
|
53
|
-
};
|
|
54
75
|
//# sourceMappingURL=types.d.cts.map
|
package/dist/types.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAoB;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC;IACpB,0BAA0B,EAAE,GAAG,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,EACL,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CACvE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.cts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAoB;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,oBAAoB,EACpB,mBAAmB,CACpB,GAAG;IACF;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC;IACpB,0BAA0B,EAAE,GAAG,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,EACL,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CACvE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB;;;OAGG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
package/dist/types.d.mts
CHANGED
|
@@ -5,6 +5,23 @@ export type Attachment = {
|
|
|
5
5
|
contentType: string;
|
|
6
6
|
originalname: string;
|
|
7
7
|
};
|
|
8
|
+
export type ClaimsConfigurations = {
|
|
9
|
+
/**
|
|
10
|
+
* The number of days the claim is valid for submission.
|
|
11
|
+
*/
|
|
12
|
+
validSubmissionWindowDays: number;
|
|
13
|
+
/**
|
|
14
|
+
* List of supported chain IDs in hexadecimal format.
|
|
15
|
+
*/
|
|
16
|
+
supportedNetworks: `0x${string}`[];
|
|
17
|
+
};
|
|
18
|
+
export type ClaimsConfigurationsResponse = Omit<ClaimsConfigurations, 'supportedNetworks'> & {
|
|
19
|
+
/**
|
|
20
|
+
* List of supported chain IDs.
|
|
21
|
+
* Claims API response for `supportedNetworks` field (in decimal format).
|
|
22
|
+
*/
|
|
23
|
+
networks: number[];
|
|
24
|
+
};
|
|
8
25
|
export type Claim = {
|
|
9
26
|
id: string;
|
|
10
27
|
shortId: string;
|
|
@@ -23,7 +40,15 @@ export type Claim = {
|
|
|
23
40
|
};
|
|
24
41
|
export type CreateClaimRequest = Omit<Claim, 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'>;
|
|
25
42
|
export type ClaimsControllerState = {
|
|
43
|
+
/**
|
|
44
|
+
* List of claims.
|
|
45
|
+
*/
|
|
26
46
|
claims: Claim[];
|
|
47
|
+
/**
|
|
48
|
+
* The claims configurations.
|
|
49
|
+
* This is used to store the claims configurations fetched from the backend.
|
|
50
|
+
*/
|
|
51
|
+
claimsConfigurations: ClaimsConfigurations;
|
|
27
52
|
};
|
|
28
53
|
export type SubmitClaimConfig = {
|
|
29
54
|
/**
|
|
@@ -47,8 +72,4 @@ export type GenerateSignatureMessageResponse = {
|
|
|
47
72
|
message: string;
|
|
48
73
|
nonce: string;
|
|
49
74
|
};
|
|
50
|
-
export type VerifyClaimSignatureResponse = {
|
|
51
|
-
message: string;
|
|
52
|
-
success: boolean;
|
|
53
|
-
};
|
|
54
75
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAoB;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC;IACpB,0BAA0B,EAAE,GAAG,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,EACL,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CACvE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,wBAAwB;AAE3C,OAAO,KAAK,EAAE,eAAe,EAAE,wBAAoB;AAEnD,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,yBAAyB,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,iBAAiB,EAAE,KAAK,MAAM,EAAE,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,oBAAoB,EACpB,mBAAmB,CACpB,GAAG;IACF;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,GAAG,CAAC;IAC3B,cAAc,EAAE,GAAG,CAAC;IACpB,0BAA0B,EAAE,GAAG,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,EACL,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,QAAQ,CACvE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,EAAE,KAAK,EAAE,CAAC;IAEhB;;;OAGG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport type { ClaimStatusEnum } from './constants';\n\nexport type Attachment = {\n publicUrl: string;\n contentType: string;\n originalname: string;\n};\n\nexport type Claim = {\n id: string;\n shortId: string;\n chainId: string;\n email: string;\n impactedWalletAddress: Hex;\n impactedTxHash: Hex;\n reimbursementWalletAddress: Hex;\n description: string;\n signature: Hex;\n attachments?: Attachment[];\n status: ClaimStatusEnum;\n createdAt: string;\n updatedAt: string;\n intercomId?: string;\n};\n\nexport type CreateClaimRequest = Omit<\n Claim,\n 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'\n>;\n\nexport type ClaimsControllerState = {\n claims: Claim[];\n};\n\nexport type SubmitClaimConfig = {\n /**\n * The sanitized and validated data to be submitted.\n */\n data: CreateClaimRequest;\n /**\n * The headers to be used in the request.\n */\n headers: Record<string, string>;\n /**\n * The HTTP method to submit.\n */\n method: 'POST';\n /**\n * The URL to submit the claim to.\n */\n url: string;\n};\n\nexport type GenerateSignatureMessageResponse = {\n message: string;\n nonce: string;\n};\n
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Hex } from '@metamask/utils';\n\nimport type { ClaimStatusEnum } from './constants';\n\nexport type Attachment = {\n publicUrl: string;\n contentType: string;\n originalname: string;\n};\n\nexport type ClaimsConfigurations = {\n /**\n * The number of days the claim is valid for submission.\n */\n validSubmissionWindowDays: number;\n\n /**\n * List of supported chain IDs in hexadecimal format.\n */\n supportedNetworks: `0x${string}`[];\n};\n\nexport type ClaimsConfigurationsResponse = Omit<\n ClaimsConfigurations,\n 'supportedNetworks'\n> & {\n /**\n * List of supported chain IDs.\n * Claims API response for `supportedNetworks` field (in decimal format).\n */\n networks: number[];\n};\n\nexport type Claim = {\n id: string;\n shortId: string;\n chainId: string;\n email: string;\n impactedWalletAddress: Hex;\n impactedTxHash: Hex;\n reimbursementWalletAddress: Hex;\n description: string;\n signature: Hex;\n attachments?: Attachment[];\n status: ClaimStatusEnum;\n createdAt: string;\n updatedAt: string;\n intercomId?: string;\n};\n\nexport type CreateClaimRequest = Omit<\n Claim,\n 'id' | 'shortId' | 'createdAt' | 'updatedAt' | 'intercomId' | 'status'\n>;\n\nexport type ClaimsControllerState = {\n /**\n * List of claims.\n */\n claims: Claim[];\n\n /**\n * The claims configurations.\n * This is used to store the claims configurations fetched from the backend.\n */\n claimsConfigurations: ClaimsConfigurations;\n};\n\nexport type SubmitClaimConfig = {\n /**\n * The sanitized and validated data to be submitted.\n */\n data: CreateClaimRequest;\n /**\n * The headers to be used in the request.\n */\n headers: Record<string, string>;\n /**\n * The HTTP method to submit.\n */\n method: 'POST';\n /**\n * The URL to submit the claim to.\n */\n url: string;\n};\n\nexport type GenerateSignatureMessageResponse = {\n message: string;\n nonce: string;\n};\n"]}
|