@metamask-previews/profile-sync-controller 32.1.1-preview-db287901b → 32.1.1-preview-d3f9964be
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 +3 -0
- package/dist/controllers/authentication/AuthenticationController-method-action-types.d.ts +38 -1
- package/dist/controllers/authentication/AuthenticationController-method-action-types.d.ts.map +1 -1
- package/dist/controllers/authentication/AuthenticationController-method-action-types.js.map +1 -1
- package/dist/controllers/authentication/AuthenticationController.d.ts +38 -2
- package/dist/controllers/authentication/AuthenticationController.d.ts.map +1 -1
- package/dist/controllers/authentication/AuthenticationController.js +185 -7
- package/dist/controllers/authentication/AuthenticationController.js.map +1 -1
- package/dist/controllers/authentication/index.d.ts +1 -1
- package/dist/controllers/authentication/index.d.ts.map +1 -1
- package/dist/controllers/authentication/index.js.map +1 -1
- package/dist/controllers/authentication/mocks/mockResponses.d.ts +5 -0
- package/dist/controllers/authentication/mocks/mockResponses.d.ts.map +1 -1
- package/dist/controllers/authentication/mocks/mockResponses.js +26 -1
- package/dist/controllers/authentication/mocks/mockResponses.js.map +1 -1
- package/dist/controllers/user-storage/UserStorageController.d.ts.map +1 -1
- package/dist/controllers/user-storage/UserStorageController.js +6 -5
- package/dist/controllers/user-storage/UserStorageController.js.map +1 -1
- package/dist/sdk/authentication-jwt-bearer/flow-srp.d.ts +56 -1
- package/dist/sdk/authentication-jwt-bearer/flow-srp.d.ts.map +1 -1
- package/dist/sdk/authentication-jwt-bearer/flow-srp.js +119 -1
- package/dist/sdk/authentication-jwt-bearer/flow-srp.js.map +1 -1
- package/dist/sdk/authentication-jwt-bearer/mfa/schemas.d.ts +691 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/schemas.d.ts.map +1 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/schemas.js +265 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/schemas.js.map +1 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/services.d.ts +104 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/services.d.ts.map +1 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/services.js +363 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/services.js.map +1 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/types.d.ts +125 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/types.d.ts.map +1 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/types.js +3 -0
- package/dist/sdk/authentication-jwt-bearer/mfa/types.js.map +1 -0
- package/dist/sdk/authentication.d.ts +15 -6
- package/dist/sdk/authentication.d.ts.map +1 -1
- package/dist/sdk/authentication.js +24 -0
- package/dist/sdk/authentication.js.map +1 -1
- package/dist/sdk/constants.d.ts +2 -0
- package/dist/sdk/constants.d.ts.map +1 -1
- package/dist/sdk/constants.js +2 -0
- package/dist/sdk/constants.js.map +1 -1
- package/dist/sdk/errors.d.ts +91 -0
- package/dist/sdk/errors.d.ts.map +1 -1
- package/dist/sdk/errors.js +161 -0
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.d.ts +3 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +1 -0
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/mocks/auth.d.ts +63 -0
- package/dist/sdk/mocks/auth.d.ts.map +1 -1
- package/dist/sdk/mocks/auth.js +90 -0
- package/dist/sdk/mocks/auth.js.map +1 -1
- package/dist/sdk/utils/as-record.d.ts +10 -0
- package/dist/sdk/utils/as-record.d.ts.map +1 -0
- package/dist/sdk/utils/as-record.js +14 -0
- package/dist/sdk/utils/as-record.js.map +1 -0
- package/dist/sdk/utils/jwt.d.ts +13 -0
- package/dist/sdk/utils/jwt.d.ts.map +1 -0
- package/dist/sdk/utils/jwt.js +21 -0
- package/dist/sdk/utils/jwt.js.map +1 -0
- package/dist/sdk/utils/to-error-message.d.ts +8 -0
- package/dist/sdk/utils/to-error-message.d.ts.map +1 -0
- package/dist/sdk/utils/to-error-message.js +10 -0
- package/dist/sdk/utils/to-error-message.js.map +1 -0
- package/dist/sdk/utils/validate-login-response.d.ts.map +1 -1
- package/dist/sdk/utils/validate-login-response.js +5 -7
- package/dist/sdk/utils/validate-login-response.js.map +1 -1
- package/dist/shared/utils/entropy-source.d.ts +3 -12
- package/dist/shared/utils/entropy-source.d.ts.map +1 -1
- package/dist/shared/utils/entropy-source.js +4 -17
- package/dist/shared/utils/entropy-source.js.map +1 -1
- package/package.json +4 -1
package/dist/sdk/mocks/auth.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Env, Platform } from '../../shared/env.js';
|
|
2
|
+
import { MFA_CREDENTIALS_URL, MFA_ENROLL_COMPLETE_URL, MFA_ENROLL_URL, MFA_VERIFY_COMPLETE_URL, MFA_VERIFY_URL, } from '../authentication-jwt-bearer/mfa/services.js';
|
|
2
3
|
import { NONCE_URL, SIWE_LOGIN_URL, SRP_LOGIN_URL, OIDC_TOKEN_URL, PAIR_IDENTIFIERS, PAIR_PROFILES_URL, PAIR_SOCIAL_IDENTIFIER_URL, PROFILE_LINEAGE_URL, CUSTOMER_SERVICE_TOKEN_URL, PARTNER_IDENTITY_TOKEN_URL, } from '../authentication-jwt-bearer/services.js';
|
|
3
4
|
export const MOCK_NONCE_URL = NONCE_URL(Env.PRD);
|
|
4
5
|
export const MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.PRD);
|
|
@@ -10,6 +11,95 @@ export const MOCK_PAIR_SOCIAL_IDENTIFIER_URL = PAIR_SOCIAL_IDENTIFIER_URL(Env.PR
|
|
|
10
11
|
export const MOCK_PROFILE_LINEAGE_URL = PROFILE_LINEAGE_URL(Env.PRD);
|
|
11
12
|
export const MOCK_CUSTOMER_SERVICE_TOKEN_URL = CUSTOMER_SERVICE_TOKEN_URL(Env.PRD);
|
|
12
13
|
export const MOCK_PARTNER_IDENTITY_TOKEN_URL = PARTNER_IDENTITY_TOKEN_URL(Env.PRD);
|
|
14
|
+
export const MOCK_MFA_ENROLL_URL = MFA_ENROLL_URL(Env.PRD);
|
|
15
|
+
export const MOCK_MFA_ENROLL_COMPLETE_URL = MFA_ENROLL_COMPLETE_URL(Env.PRD);
|
|
16
|
+
export const MOCK_MFA_VERIFY_URL = MFA_VERIFY_URL(Env.PRD);
|
|
17
|
+
export const MOCK_MFA_VERIFY_COMPLETE_URL = MFA_VERIFY_COMPLETE_URL(Env.PRD);
|
|
18
|
+
export const MOCK_MFA_CREDENTIALS_URL = MFA_CREDENTIALS_URL(Env.PRD);
|
|
19
|
+
const MOCK_PASSKEY_CREATE_DATA = {
|
|
20
|
+
publicKey: {
|
|
21
|
+
rp: {
|
|
22
|
+
name: 'MetaMask',
|
|
23
|
+
id: 'authentication.api.cx.metamask.io',
|
|
24
|
+
},
|
|
25
|
+
user: {
|
|
26
|
+
name: 'MetaMask 3f9a1c2b',
|
|
27
|
+
id: 'cHJvZmlsZS1pZA',
|
|
28
|
+
displayName: 'MetaMask 3f9a1c2b',
|
|
29
|
+
},
|
|
30
|
+
challenge: 'Y3JlYXRlLWNoYWxsZW5nZQ',
|
|
31
|
+
pubKeyCredParams: [{ type: 'public-key', alg: -7 }],
|
|
32
|
+
excludeCredentials: [],
|
|
33
|
+
attestation: 'none',
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
const MOCK_PASSKEY_REQUEST_DATA = {
|
|
37
|
+
publicKey: {
|
|
38
|
+
rpId: 'authentication.api.cx.metamask.io',
|
|
39
|
+
challenge: 'dmVyaWZ5LWNoYWxsZW5nZQ',
|
|
40
|
+
allowCredentials: [{ type: 'public-key', id: 'Y3JlZGVudGlhbC1pZA' }],
|
|
41
|
+
userVerification: 'required',
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
export const MOCK_MFA_ENROLL_PASSKEY_RESPONSE = {
|
|
45
|
+
flow_id: 'enroll-passkey-flow-id',
|
|
46
|
+
expires_at: '2099-09-07T14:30:00Z',
|
|
47
|
+
passkey_create_data: JSON.stringify(MOCK_PASSKEY_CREATE_DATA),
|
|
48
|
+
};
|
|
49
|
+
export const MOCK_MFA_ENROLL_EMAIL_RESPONSE = {
|
|
50
|
+
flow_id: 'enroll-email-flow-id',
|
|
51
|
+
expires_at: '2099-09-07T14:30:00Z',
|
|
52
|
+
};
|
|
53
|
+
export const MOCK_MFA_ENROLL_COMPLETE_RESPONSE = {
|
|
54
|
+
status: 'enrolled',
|
|
55
|
+
};
|
|
56
|
+
export const MOCK_MFA_VERIFY_PASSKEY_RESPONSE = {
|
|
57
|
+
flow_id: 'verify-passkey-flow-id',
|
|
58
|
+
expires_at: '2099-09-07T14:30:00Z',
|
|
59
|
+
passkey_request_data: JSON.stringify(MOCK_PASSKEY_REQUEST_DATA),
|
|
60
|
+
};
|
|
61
|
+
export const MOCK_MFA_VERIFY_EMAIL_RESPONSE = {
|
|
62
|
+
flow_id: 'verify-email-flow-id',
|
|
63
|
+
expires_at: '2099-09-07T14:30:00Z',
|
|
64
|
+
};
|
|
65
|
+
export const MOCK_MFA_ASSERTION_JWT = 'eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJmODgyMjdiZC1iNjE1LTQxYTMtYjBiZS00NjdkZDc4MWE0YWQiLCJhYWwiOjIsImFtciI6InBhc3NrZXkiLCJleHAiOjQxMDI0NDQ4MDB9.signature';
|
|
66
|
+
export const MOCK_MFA_VERIFY_COMPLETE_RESPONSE = {
|
|
67
|
+
token: MOCK_MFA_ASSERTION_JWT,
|
|
68
|
+
expires_in: 900,
|
|
69
|
+
profile: {
|
|
70
|
+
profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',
|
|
71
|
+
identifier_id: 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',
|
|
72
|
+
identifier_type: 'SRP',
|
|
73
|
+
},
|
|
74
|
+
profile_aliases: [],
|
|
75
|
+
};
|
|
76
|
+
export const MOCK_MFA_CREDENTIALS_RESPONSE = {
|
|
77
|
+
credentials: [
|
|
78
|
+
{
|
|
79
|
+
credential_type: 'passkey',
|
|
80
|
+
status: 'active',
|
|
81
|
+
enrolled_at: '2026-09-15T10:00:00Z',
|
|
82
|
+
passkey: {
|
|
83
|
+
display_name: 'MetaMask 3f9a1c2b',
|
|
84
|
+
added_at: '2026-09-15T10:00:00Z',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
credential_type: 'email_otp',
|
|
89
|
+
status: 'pending',
|
|
90
|
+
enrolled_at: '2026-09-15T10:05:00Z',
|
|
91
|
+
email: {
|
|
92
|
+
address: 'user@example.com',
|
|
93
|
+
verified: false,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
export const MOCK_ELEVATED_ACCESS_JWT = 'eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJmODgyMjdiZC1iNjE1LTQxYTMtYjBiZS00NjdkZDc4MWE0YWQiLCJhYWwiOjIsImFtciI6WyJwYXNza2V5Il0sImV4cCI6NDEwMjQ0NDgwMH0.signature';
|
|
99
|
+
export const MOCK_ELEVATED_ACCESS_TOKEN_RESPONSE = {
|
|
100
|
+
access_token: MOCK_ELEVATED_ACCESS_JWT,
|
|
101
|
+
expires_in: 900,
|
|
102
|
+
};
|
|
13
103
|
export const MOCK_JWT = 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';
|
|
14
104
|
export const MOCK_ACCESS_JWT = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjQxMDI0NDQ4MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
|
|
15
105
|
export const MOCK_NONCE_RESPONSE = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/sdk/mocks/auth.ts"],"names":[],"mappings":"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","sourcesContent":["import { Env, Platform } from '../../shared/env.js';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n PAIR_PROFILES_URL,\n PAIR_SOCIAL_IDENTIFIER_URL,\n PROFILE_LINEAGE_URL,\n CUSTOMER_SERVICE_TOKEN_URL,\n PARTNER_IDENTITY_TOKEN_URL,\n} from '../authentication-jwt-bearer/services.js';\n\nexport const MOCK_NONCE_URL = NONCE_URL(Env.PRD);\nexport const MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.PRD);\nexport const MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.PRD);\nexport const MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.PRD);\nexport const MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.PRD);\nexport const MOCK_PAIR_PROFILES_URL = PAIR_PROFILES_URL(Env.PRD);\nexport const MOCK_PAIR_SOCIAL_IDENTIFIER_URL = PAIR_SOCIAL_IDENTIFIER_URL(\n Env.PRD,\n);\nexport const MOCK_PROFILE_LINEAGE_URL = PROFILE_LINEAGE_URL(Env.PRD);\nexport const MOCK_CUSTOMER_SERVICE_TOKEN_URL = CUSTOMER_SERVICE_TOKEN_URL(\n Env.PRD,\n);\nexport const MOCK_PARTNER_IDENTITY_TOKEN_URL = PARTNER_IDENTITY_TOKEN_URL(\n Env.PRD,\n);\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjQxMDI0NDQ4MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nexport const MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n expires_in: 300,\n};\n\nexport const MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n expires_in: 3600,\n profile: {\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n identifier_type: 'SIWE',\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n expires_in: 3600,\n profile: {\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n identifier_type: 'SRP',\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n profile_aliases: [],\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n expires_in: 3600,\n};\n\nexport const MOCK_CUSTOMER_SERVICE_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n refresh_token: 'ory_rt_mock_refresh_token',\n expires_in: 3600,\n token_type: 'bearer',\n};\n\nexport const MOCK_PARTNER_IDENTITY_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n refresh_token: 'ory_rt_mock_refresh_token',\n expires_in: 3600,\n token_type: 'bearer',\n};\n\nexport const MOCK_PAIR_PROFILES_RESPONSE = {\n profile: {\n identifier_id: MOCK_SRP_LOGIN_RESPONSE.profile.identifier_id,\n metametrics_id: MOCK_SRP_LOGIN_RESPONSE.profile.metametrics_id,\n profile_id: MOCK_SRP_LOGIN_RESPONSE.profile.profile_id,\n },\n profile_aliases: [],\n};\n\nexport const MOCK_PAIR_SOCIAL_IDENTIFIER_RESPONSE = {\n expires_in: 3600,\n profile: {\n created_at: '2024-01-15T10:30:00Z',\n identifier_id: MOCK_SRP_LOGIN_RESPONSE.profile.identifier_id,\n identifier_type: 'GOOGLE',\n profile_id: MOCK_SRP_LOGIN_RESPONSE.profile.profile_id,\n },\n token: MOCK_JWT,\n};\n\nexport const MOCK_USER_PROFILE_LINEAGE_RESPONSE = {\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n created_at: '2025-10-01T12:00:00Z',\n lineage: [\n {\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n agent: Platform.MOBILE,\n created_at: '2025-10-01T12:00:00Z',\n updated_at: '2025-10-01T12:00:00Z',\n counter: 1,\n },\n {\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n agent: Platform.EXTENSION,\n created_at: '2025-10-01T12:00:00Z',\n updated_at: '2025-10-01T12:00:00Z',\n counter: 2,\n },\n ],\n};\n"]}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/sdk/mocks/auth.ts"],"names":[],"mappings":"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","sourcesContent":["import { Env, Platform } from '../../shared/env.js';\nimport {\n MFA_CREDENTIALS_URL,\n MFA_ENROLL_COMPLETE_URL,\n MFA_ENROLL_URL,\n MFA_VERIFY_COMPLETE_URL,\n MFA_VERIFY_URL,\n} from '../authentication-jwt-bearer/mfa/services.js';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n PAIR_PROFILES_URL,\n PAIR_SOCIAL_IDENTIFIER_URL,\n PROFILE_LINEAGE_URL,\n CUSTOMER_SERVICE_TOKEN_URL,\n PARTNER_IDENTITY_TOKEN_URL,\n} from '../authentication-jwt-bearer/services.js';\n\nexport const MOCK_NONCE_URL = NONCE_URL(Env.PRD);\nexport const MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.PRD);\nexport const MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.PRD);\nexport const MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.PRD);\nexport const MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.PRD);\nexport const MOCK_PAIR_PROFILES_URL = PAIR_PROFILES_URL(Env.PRD);\nexport const MOCK_PAIR_SOCIAL_IDENTIFIER_URL = PAIR_SOCIAL_IDENTIFIER_URL(\n Env.PRD,\n);\nexport const MOCK_PROFILE_LINEAGE_URL = PROFILE_LINEAGE_URL(Env.PRD);\nexport const MOCK_CUSTOMER_SERVICE_TOKEN_URL = CUSTOMER_SERVICE_TOKEN_URL(\n Env.PRD,\n);\nexport const MOCK_PARTNER_IDENTITY_TOKEN_URL = PARTNER_IDENTITY_TOKEN_URL(\n Env.PRD,\n);\nexport const MOCK_MFA_ENROLL_URL = MFA_ENROLL_URL(Env.PRD);\nexport const MOCK_MFA_ENROLL_COMPLETE_URL = MFA_ENROLL_COMPLETE_URL(Env.PRD);\nexport const MOCK_MFA_VERIFY_URL = MFA_VERIFY_URL(Env.PRD);\nexport const MOCK_MFA_VERIFY_COMPLETE_URL = MFA_VERIFY_COMPLETE_URL(Env.PRD);\nexport const MOCK_MFA_CREDENTIALS_URL = MFA_CREDENTIALS_URL(Env.PRD);\n\nconst MOCK_PASSKEY_CREATE_DATA = {\n publicKey: {\n rp: {\n name: 'MetaMask',\n id: 'authentication.api.cx.metamask.io',\n },\n user: {\n name: 'MetaMask 3f9a1c2b',\n id: 'cHJvZmlsZS1pZA',\n displayName: 'MetaMask 3f9a1c2b',\n },\n challenge: 'Y3JlYXRlLWNoYWxsZW5nZQ',\n pubKeyCredParams: [{ type: 'public-key', alg: -7 }],\n excludeCredentials: [],\n attestation: 'none',\n },\n};\n\nconst MOCK_PASSKEY_REQUEST_DATA = {\n publicKey: {\n rpId: 'authentication.api.cx.metamask.io',\n challenge: 'dmVyaWZ5LWNoYWxsZW5nZQ',\n allowCredentials: [{ type: 'public-key', id: 'Y3JlZGVudGlhbC1pZA' }],\n userVerification: 'required',\n },\n};\n\nexport const MOCK_MFA_ENROLL_PASSKEY_RESPONSE = {\n flow_id: 'enroll-passkey-flow-id',\n expires_at: '2099-09-07T14:30:00Z',\n passkey_create_data: JSON.stringify(MOCK_PASSKEY_CREATE_DATA),\n};\n\nexport const MOCK_MFA_ENROLL_EMAIL_RESPONSE = {\n flow_id: 'enroll-email-flow-id',\n expires_at: '2099-09-07T14:30:00Z',\n};\n\nexport const MOCK_MFA_ENROLL_COMPLETE_RESPONSE = {\n status: 'enrolled',\n};\n\nexport const MOCK_MFA_VERIFY_PASSKEY_RESPONSE = {\n flow_id: 'verify-passkey-flow-id',\n expires_at: '2099-09-07T14:30:00Z',\n passkey_request_data: JSON.stringify(MOCK_PASSKEY_REQUEST_DATA),\n};\n\nexport const MOCK_MFA_VERIFY_EMAIL_RESPONSE = {\n flow_id: 'verify-email-flow-id',\n expires_at: '2099-09-07T14:30:00Z',\n};\n\nexport const MOCK_MFA_ASSERTION_JWT =\n 'eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJmODgyMjdiZC1iNjE1LTQxYTMtYjBiZS00NjdkZDc4MWE0YWQiLCJhYWwiOjIsImFtciI6InBhc3NrZXkiLCJleHAiOjQxMDI0NDQ4MDB9.signature';\n\nexport const MOCK_MFA_VERIFY_COMPLETE_RESPONSE = {\n token: MOCK_MFA_ASSERTION_JWT,\n expires_in: 900,\n profile: {\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n identifier_type: 'SRP',\n },\n profile_aliases: [],\n};\n\nexport const MOCK_MFA_CREDENTIALS_RESPONSE = {\n credentials: [\n {\n credential_type: 'passkey',\n status: 'active',\n enrolled_at: '2026-09-15T10:00:00Z',\n passkey: {\n display_name: 'MetaMask 3f9a1c2b',\n added_at: '2026-09-15T10:00:00Z',\n },\n },\n {\n credential_type: 'email_otp',\n status: 'pending',\n enrolled_at: '2026-09-15T10:05:00Z',\n email: {\n address: 'user@example.com',\n verified: false,\n },\n },\n ],\n};\n\nexport const MOCK_ELEVATED_ACCESS_JWT =\n 'eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiJmODgyMjdiZC1iNjE1LTQxYTMtYjBiZS00NjdkZDc4MWE0YWQiLCJhYWwiOjIsImFtciI6WyJwYXNza2V5Il0sImV4cCI6NDEwMjQ0NDgwMH0.signature';\n\nexport const MOCK_ELEVATED_ACCESS_TOKEN_RESPONSE = {\n access_token: MOCK_ELEVATED_ACCESS_JWT,\n expires_in: 900,\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjQxMDI0NDQ4MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nexport const MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n expires_in: 300,\n};\n\nexport const MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n expires_in: 3600,\n profile: {\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n identifier_type: 'SIWE',\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n expires_in: 3600,\n profile: {\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n identifier_type: 'SRP',\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n profile_aliases: [],\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n expires_in: 3600,\n};\n\nexport const MOCK_CUSTOMER_SERVICE_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n refresh_token: 'ory_rt_mock_refresh_token',\n expires_in: 3600,\n token_type: 'bearer',\n};\n\nexport const MOCK_PARTNER_IDENTITY_TOKEN_RESPONSE = {\n access_token: MOCK_ACCESS_JWT,\n refresh_token: 'ory_rt_mock_refresh_token',\n expires_in: 3600,\n token_type: 'bearer',\n};\n\nexport const MOCK_PAIR_PROFILES_RESPONSE = {\n profile: {\n identifier_id: MOCK_SRP_LOGIN_RESPONSE.profile.identifier_id,\n metametrics_id: MOCK_SRP_LOGIN_RESPONSE.profile.metametrics_id,\n profile_id: MOCK_SRP_LOGIN_RESPONSE.profile.profile_id,\n },\n profile_aliases: [],\n};\n\nexport const MOCK_PAIR_SOCIAL_IDENTIFIER_RESPONSE = {\n expires_in: 3600,\n profile: {\n created_at: '2024-01-15T10:30:00Z',\n identifier_id: MOCK_SRP_LOGIN_RESPONSE.profile.identifier_id,\n identifier_type: 'GOOGLE',\n profile_id: MOCK_SRP_LOGIN_RESPONSE.profile.profile_id,\n },\n token: MOCK_JWT,\n};\n\nexport const MOCK_USER_PROFILE_LINEAGE_RESPONSE = {\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n created_at: '2025-10-01T12:00:00Z',\n lineage: [\n {\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n agent: Platform.MOBILE,\n created_at: '2025-10-01T12:00:00Z',\n updated_at: '2025-10-01T12:00:00Z',\n counter: 1,\n },\n {\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n agent: Platform.EXTENSION,\n created_at: '2025-10-01T12:00:00Z',\n updated_at: '2025-10-01T12:00:00Z',\n counter: 2,\n },\n ],\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrows an unknown value to a plain record, for reading optional fields off
|
|
3
|
+
* untrusted data (parsed JSON, decoded JWT payloads) before it has been
|
|
4
|
+
* validated against a struct.
|
|
5
|
+
*
|
|
6
|
+
* @param value - The value to narrow.
|
|
7
|
+
* @returns The value as a record, or undefined if it is not an object.
|
|
8
|
+
*/
|
|
9
|
+
export declare function asRecord(value: unknown): Record<string, unknown> | undefined;
|
|
10
|
+
//# sourceMappingURL=as-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-record.d.ts","sourceRoot":"","sources":["../../../src/sdk/utils/as-record.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAI5E"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Narrows an unknown value to a plain record, for reading optional fields off
|
|
3
|
+
* untrusted data (parsed JSON, decoded JWT payloads) before it has been
|
|
4
|
+
* validated against a struct.
|
|
5
|
+
*
|
|
6
|
+
* @param value - The value to narrow.
|
|
7
|
+
* @returns The value as a record, or undefined if it is not an object.
|
|
8
|
+
*/
|
|
9
|
+
export function asRecord(value) {
|
|
10
|
+
return typeof value === 'object' && value !== null
|
|
11
|
+
? value
|
|
12
|
+
: undefined;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=as-record.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-record.js","sourceRoot":"","sources":["../../../src/sdk/utils/as-record.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAChD,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Narrows an unknown value to a plain record, for reading optional fields off\n * untrusted data (parsed JSON, decoded JWT payloads) before it has been\n * validated against a struct.\n *\n * @param value - The value to narrow.\n * @returns The value as a record, or undefined if it is not an object.\n */\nexport function asRecord(value: unknown): Record<string, unknown> | undefined {\n return typeof value === 'object' && value !== null\n ? (value as Record<string, unknown>)\n : undefined;\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decodes a JWT payload without verifying its signature.
|
|
3
|
+
*
|
|
4
|
+
* Use this only for inspecting claims on a token received from a trusted
|
|
5
|
+
* exchange. Signature verification remains the authorization server's
|
|
6
|
+
* responsibility.
|
|
7
|
+
*
|
|
8
|
+
* @param token - JWT to decode.
|
|
9
|
+
* @returns The parsed payload.
|
|
10
|
+
* @throws If the token or payload is malformed.
|
|
11
|
+
*/
|
|
12
|
+
export declare function decodeJwtPayload(token: string): unknown;
|
|
13
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/sdk/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CASvD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decodes a JWT payload without verifying its signature.
|
|
3
|
+
*
|
|
4
|
+
* Use this only for inspecting claims on a token received from a trusted
|
|
5
|
+
* exchange. Signature verification remains the authorization server's
|
|
6
|
+
* responsibility.
|
|
7
|
+
*
|
|
8
|
+
* @param token - JWT to decode.
|
|
9
|
+
* @returns The parsed payload.
|
|
10
|
+
* @throws If the token or payload is malformed.
|
|
11
|
+
*/
|
|
12
|
+
export function decodeJwtPayload(token) {
|
|
13
|
+
const parts = token.split('.');
|
|
14
|
+
if (parts.length !== 3 || !parts[1]) {
|
|
15
|
+
throw new Error('Invalid JWT');
|
|
16
|
+
}
|
|
17
|
+
const base64 = parts[1].replace(/-/gu, '+').replace(/_/gu, '/');
|
|
18
|
+
const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, '=');
|
|
19
|
+
return JSON.parse(atob(padded));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=jwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../src/sdk/utils/jwt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,CAAC","sourcesContent":["/**\n * Decodes a JWT payload without verifying its signature.\n *\n * Use this only for inspecting claims on a token received from a trusted\n * exchange. Signature verification remains the authorization server's\n * responsibility.\n *\n * @param token - JWT to decode.\n * @returns The parsed payload.\n * @throws If the token or payload is malformed.\n */\nexport function decodeJwtPayload(token: string): unknown {\n const parts = token.split('.');\n if (parts.length !== 3 || !parts[1]) {\n throw new Error('Invalid JWT');\n }\n\n const base64 = parts[1].replace(/-/gu, '+').replace(/_/gu, '/');\n const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, '=');\n return JSON.parse(atob(padded));\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts a human-readable message from a caught value.
|
|
3
|
+
*
|
|
4
|
+
* @param error - The caught value.
|
|
5
|
+
* @returns The error's message, or its string form when it is not an Error.
|
|
6
|
+
*/
|
|
7
|
+
export declare function toErrorMessage(error: unknown): string;
|
|
8
|
+
//# sourceMappingURL=to-error-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-error-message.d.ts","sourceRoot":"","sources":["../../../src/sdk/utils/to-error-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts a human-readable message from a caught value.
|
|
3
|
+
*
|
|
4
|
+
* @param error - The caught value.
|
|
5
|
+
* @returns The error's message, or its string form when it is not an Error.
|
|
6
|
+
*/
|
|
7
|
+
export function toErrorMessage(error) {
|
|
8
|
+
return error instanceof Error ? error.message : String(error);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=to-error-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-error-message.js","sourceRoot":"","sources":["../../../src/sdk/utils/to-error-message.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC","sourcesContent":["/**\n * Extracts a human-readable message from a caught value.\n *\n * @param error - The caught value.\n * @returns The error's message, or its string form when it is not an Error.\n */\nexport function toErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-login-response.d.ts","sourceRoot":"","sources":["../../../src/sdk/utils/validate-login-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-login-response.d.ts","sourceRoot":"","sources":["../../../src/sdk/utils/validate-login-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAgB5E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { decodeJwtPayload } from './jwt.js';
|
|
1
2
|
/**
|
|
2
3
|
* Validates that the input is a well-formed, non-expired LoginResponse.
|
|
3
4
|
*
|
|
@@ -30,13 +31,10 @@ export function validateLoginResponse(input) {
|
|
|
30
31
|
*/
|
|
31
32
|
function isJwtExpired(token) {
|
|
32
33
|
try {
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const base64 = parts[1].replace(/-/gu, '+').replace(/_/gu, '/');
|
|
38
|
-
const { exp } = JSON.parse(atob(base64));
|
|
39
|
-
return !Number.isInteger(exp) || exp * 1000 <= Date.now();
|
|
34
|
+
const { exp } = decodeJwtPayload(token);
|
|
35
|
+
return (typeof exp !== 'number' ||
|
|
36
|
+
!Number.isInteger(exp) ||
|
|
37
|
+
exp * 1000 <= Date.now());
|
|
40
38
|
}
|
|
41
39
|
catch {
|
|
42
40
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-login-response.js","sourceRoot":"","sources":["../../../src/sdk/utils/validate-login-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate-login-response.js","sourceRoot":"","sources":["../../../src/sdk/utils/validate-login-response.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,YAAY,GAAG,KAAsB,CAAC;IAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAsB,CAAC;QAC7D,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;YACvB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YACtB,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,CACzB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC","sourcesContent":["import type { LoginResponse } from '../authentication.js';\nimport { decodeJwtPayload } from './jwt.js';\n\n/**\n * Validates that the input is a well-formed, non-expired LoginResponse.\n *\n * Checks structural shape (token + profile objects exist) and verifies\n * the JWT access token's `exp` claim is still in the future. This acts\n * as a hard guard against stale cached tokens regardless of client-side\n * TTL tracking (obtainedAt / expiresIn), which can be corrupted.\n *\n * @param input - unknown/untyped input\n * @returns boolean if input is a valid, non-expired LoginResponse\n */\nexport function validateLoginResponse(input: unknown): input is LoginResponse {\n const assumedInput = input as LoginResponse;\n\n if (!assumedInput) {\n return false;\n }\n\n if (!assumedInput?.token || !assumedInput?.profile) {\n return false;\n }\n\n if (isJwtExpired(assumedInput.token.accessToken)) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Checks whether a JWT has expired by decoding its `exp` claim.\n *\n * @param token - A JWT string.\n * @returns true if the token is expired or cannot be decoded; false if still valid.\n */\nfunction isJwtExpired(token: string): boolean {\n try {\n const { exp } = decodeJwtPayload(token) as { exp?: unknown };\n return (\n typeof exp !== 'number' ||\n !Number.isInteger(exp) ||\n exp * 1000 <= Date.now()\n );\n } catch {\n return true;\n }\n}\n"]}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
* Reads HD keyring entropy source IDs (metadata IDs) from KeyringController
|
|
4
|
-
* keyrings, primary first. Returns an empty array when none are available
|
|
5
|
-
* (e.g. the wallet is locked, where `keyrings` is cleared).
|
|
6
|
-
*
|
|
7
|
-
* @param keyrings - Keyrings from `KeyringController:getState`.
|
|
8
|
-
* @returns The HD keyring metadata IDs, primary first.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getHdKeyringEntropySourceIds(keyrings: KeyringObject[] | null | undefined): string[];
|
|
1
|
+
import type { KeyringControllerState } from '@metamask/keyring-controller';
|
|
11
2
|
/**
|
|
12
3
|
* Resolves the primary SRP's entropy source ID (the first HD keyring's
|
|
13
4
|
* metadata ID). The ID is randomly regenerated whenever the vault is
|
|
14
5
|
* recreated (e.g. on restore).
|
|
15
6
|
*
|
|
16
|
-
* @param
|
|
7
|
+
* @param keyringState - KeyringController state.
|
|
17
8
|
* @returns The primary HD keyring metadata ID.
|
|
18
9
|
* @throws If no HD keyring is available; callers must only resolve while
|
|
19
10
|
* the wallet is unlocked.
|
|
20
11
|
*/
|
|
21
|
-
export declare function getPrimaryHdKeyringEntropySourceId(
|
|
12
|
+
export declare function getPrimaryHdKeyringEntropySourceId(keyringState: KeyringControllerState): string;
|
|
22
13
|
//# sourceMappingURL=entropy-source.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entropy-source.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/entropy-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"entropy-source.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/entropy-source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE3E;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAChD,YAAY,EAAE,sBAAsB,GACnC,MAAM,CASR"}
|
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/**
|
|
3
|
-
* Reads HD keyring entropy source IDs (metadata IDs) from KeyringController
|
|
4
|
-
* keyrings, primary first. Returns an empty array when none are available
|
|
5
|
-
* (e.g. the wallet is locked, where `keyrings` is cleared).
|
|
6
|
-
*
|
|
7
|
-
* @param keyrings - Keyrings from `KeyringController:getState`.
|
|
8
|
-
* @returns The HD keyring metadata IDs, primary first.
|
|
9
|
-
*/
|
|
10
|
-
export function getHdKeyringEntropySourceIds(keyrings) {
|
|
11
|
-
return (keyrings ?? [])
|
|
12
|
-
.filter((keyring) => keyring.type === KeyringTypes.hd.toString())
|
|
13
|
-
.map((keyring) => keyring.metadata.id);
|
|
14
|
-
}
|
|
1
|
+
import { selectPrimaryHdKeyringEntropySourceId } from '@metamask/keyring-controller';
|
|
15
2
|
/**
|
|
16
3
|
* Resolves the primary SRP's entropy source ID (the first HD keyring's
|
|
17
4
|
* metadata ID). The ID is randomly regenerated whenever the vault is
|
|
18
5
|
* recreated (e.g. on restore).
|
|
19
6
|
*
|
|
20
|
-
* @param
|
|
7
|
+
* @param keyringState - KeyringController state.
|
|
21
8
|
* @returns The primary HD keyring metadata ID.
|
|
22
9
|
* @throws If no HD keyring is available; callers must only resolve while
|
|
23
10
|
* the wallet is unlocked.
|
|
24
11
|
*/
|
|
25
|
-
export function getPrimaryHdKeyringEntropySourceId(
|
|
26
|
-
const
|
|
12
|
+
export function getPrimaryHdKeyringEntropySourceId(keyringState) {
|
|
13
|
+
const primaryEntropySourceId = selectPrimaryHdKeyringEntropySourceId(keyringState);
|
|
27
14
|
if (!primaryEntropySourceId) {
|
|
28
15
|
throw new Error('getPrimaryHdKeyringEntropySourceId - no HD keyring available');
|
|
29
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entropy-source.js","sourceRoot":"","sources":["../../../src/shared/utils/entropy-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"entropy-source.js","sourceRoot":"","sources":["../../../src/shared/utils/entropy-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AAGrF;;;;;;;;;GASG;AACH,MAAM,UAAU,kCAAkC,CAChD,YAAoC;IAEpC,MAAM,sBAAsB,GAC1B,qCAAqC,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC","sourcesContent":["import { selectPrimaryHdKeyringEntropySourceId } from '@metamask/keyring-controller';\nimport type { KeyringControllerState } from '@metamask/keyring-controller';\n\n/**\n * Resolves the primary SRP's entropy source ID (the first HD keyring's\n * metadata ID). The ID is randomly regenerated whenever the vault is\n * recreated (e.g. on restore).\n *\n * @param keyringState - KeyringController state.\n * @returns The primary HD keyring metadata ID.\n * @throws If no HD keyring is available; callers must only resolve while\n * the wallet is unlocked.\n */\nexport function getPrimaryHdKeyringEntropySourceId(\n keyringState: KeyringControllerState,\n): string {\n const primaryEntropySourceId =\n selectPrimaryHdKeyringEntropySourceId(keyringState);\n if (!primaryEntropySourceId) {\n throw new Error(\n 'getPrimaryHdKeyringEntropySourceId - no HD keyring available',\n );\n }\n return primaryEntropySourceId;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamask-previews/profile-sync-controller",
|
|
3
|
-
"version": "32.1.1-preview-
|
|
3
|
+
"version": "32.1.1-preview-d3f9964be",
|
|
4
4
|
"description": "The profile sync helps developers synchronize data across multiple clients and devices in a privacy-preserving way. All data saved in the user storage database is encrypted client-side to preserve privacy. The user storage provides a modular design, giving developers the flexibility to construct and manage their storage spaces in a way that best suits their needs",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ethereum",
|
|
@@ -75,10 +75,12 @@
|
|
|
75
75
|
"dependencies": {
|
|
76
76
|
"@metamask/address-book-controller": "^8.0.0",
|
|
77
77
|
"@metamask/base-controller": "^10.0.0",
|
|
78
|
+
"@metamask/controller-utils": "^13.0.0",
|
|
78
79
|
"@metamask/key-tree": "^10.1.1",
|
|
79
80
|
"@metamask/keyring-controller": "^28.0.0",
|
|
80
81
|
"@metamask/messenger": "^3.0.0",
|
|
81
82
|
"@metamask/seedless-onboarding-controller": "^11.0.0",
|
|
83
|
+
"@metamask/superstruct": "^3.4.1",
|
|
82
84
|
"@metamask/utils": "^12.0.0",
|
|
83
85
|
"@noble/ciphers": "^1.3.0",
|
|
84
86
|
"@noble/curves": "^1.9.2",
|
|
@@ -95,6 +97,7 @@
|
|
|
95
97
|
"@metamask/keyring-api": "^24.0.0",
|
|
96
98
|
"@metamask/keyring-internal-api": "^12.0.0",
|
|
97
99
|
"@metamask/providers": "^22.1.0",
|
|
100
|
+
"@metamask/rpc-errors": "^7.0.2",
|
|
98
101
|
"@types/jest": "^30.0.0",
|
|
99
102
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
100
103
|
"deepmerge": "^4.2.2",
|