@metamask/profile-sync-controller 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/{chunk-DHHBHLVN.mjs → chunk-2XGRQBXI.mjs} +4 -4
  3. package/dist/{chunk-PRDECQM6.mjs → chunk-32HAX3MW.mjs} +7 -4
  4. package/dist/chunk-32HAX3MW.mjs.map +1 -0
  5. package/dist/{chunk-K6G7X6PX.js → chunk-5SXXO4MV.js} +9 -9
  6. package/dist/{chunk-BFE6TB7Y.mjs → chunk-5TOWF6UW.mjs} +2 -2
  7. package/dist/{chunk-QHL6SQTC.mjs → chunk-AARMY5TW.mjs} +10 -36
  8. package/dist/chunk-AARMY5TW.mjs.map +1 -0
  9. package/dist/{chunk-JTDFOATG.js → chunk-AK7OTIWA.js} +3 -3
  10. package/dist/{chunk-772MKTIO.mjs → chunk-AUFUOKJW.mjs} +2 -2
  11. package/dist/{chunk-6TK7544L.js → chunk-AVOOINGJ.js} +27 -27
  12. package/dist/{chunk-UEZI2POO.mjs → chunk-AXWK4Y23.mjs} +4 -4
  13. package/dist/{chunk-VTM5T7Y4.mjs → chunk-B5DBQDB3.mjs} +2 -2
  14. package/dist/{chunk-7FCK4BY3.js → chunk-B6CSNLGE.js} +3 -3
  15. package/dist/{chunk-XUPRRLBI.js → chunk-BOET676P.js} +8 -8
  16. package/dist/{chunk-YWA77VMP.mjs → chunk-CAIIVJAO.mjs} +1 -1
  17. package/dist/chunk-CAIIVJAO.mjs.map +1 -0
  18. package/dist/{chunk-2MVOZPBN.js → chunk-ELHJSRS2.js} +4 -4
  19. package/dist/{chunk-3FJQHCCQ.mjs → chunk-FCT2LIGH.mjs} +5 -5
  20. package/dist/{chunk-GLS4QZF6.mjs → chunk-FQ5SDMRE.mjs} +1 -1
  21. package/dist/chunk-FQ5SDMRE.mjs.map +1 -0
  22. package/dist/chunk-H4TDS65R.js +81 -0
  23. package/dist/chunk-H4TDS65R.js.map +1 -0
  24. package/dist/chunk-IGY2S5BC.js +36 -0
  25. package/dist/{chunk-UWRKMJBI.mjs → chunk-JLDFMYAH.mjs} +3 -3
  26. package/dist/{chunk-QE2F5AZL.mjs → chunk-K5UKU454.mjs} +2 -2
  27. package/dist/{chunk-W7JFFMEZ.mjs → chunk-KBCXN3YW.mjs} +2 -2
  28. package/dist/{chunk-JAGWB4JI.mjs → chunk-LSVRA3X2.mjs} +13 -34
  29. package/dist/chunk-LSVRA3X2.mjs.map +1 -0
  30. package/dist/{chunk-DLXLU44Z.js → chunk-NLHLVVOO.js} +21 -21
  31. package/dist/{chunk-GLDUXN2T.js → chunk-P4DUDLMY.js} +24 -24
  32. package/dist/{chunk-LUKNP4HM.js → chunk-P52TG263.js} +19 -19
  33. package/dist/{chunk-T77FC4PB.js → chunk-PBRUOBEQ.js} +1 -1
  34. package/dist/chunk-PBRUOBEQ.js.map +1 -0
  35. package/dist/chunk-PTR4DAX6.js +79 -0
  36. package/dist/{chunk-LHDVZNW5.js → chunk-Q5WIUNX5.js} +37 -37
  37. package/dist/{chunk-BVM4HBM4.js → chunk-RX5R6BUI.js} +13 -39
  38. package/dist/chunk-RX5R6BUI.js.map +1 -0
  39. package/dist/{chunk-4OMJ7A6A.js → chunk-SMKTWM6I.js} +1 -1
  40. package/dist/chunk-SMKTWM6I.js.map +1 -0
  41. package/dist/{chunk-JWTNHCVG.js → chunk-T3FNDVE3.js} +13 -13
  42. package/dist/{chunk-PNZGAAT4.mjs → chunk-TGFMKARH.mjs} +5 -4
  43. package/dist/chunk-TGFMKARH.mjs.map +1 -0
  44. package/dist/chunk-U5UIDVOO.mjs +36 -0
  45. package/dist/{chunk-7VMXBDXN.mjs → chunk-WB6MUIML.mjs} +2 -2
  46. package/dist/{chunk-IZHWP5VW.mjs → chunk-WJCKQLKK.mjs} +9 -9
  47. package/dist/{chunk-LN2BY2QF.mjs → chunk-Y46NMA3V.mjs} +3 -3
  48. package/dist/{chunk-ARWL2LBB.js → chunk-YASNOFBV.js} +38 -37
  49. package/dist/chunk-YASNOFBV.js.map +1 -0
  50. package/dist/{chunk-WAS6V24H.js → chunk-YUXN5GSW.js} +33 -30
  51. package/dist/chunk-YUXN5GSW.js.map +1 -0
  52. package/dist/controllers/authentication/AuthenticationController.js +15 -13
  53. package/dist/controllers/authentication/AuthenticationController.mjs +16 -14
  54. package/dist/controllers/authentication/auth-snap-requests.js +1 -1
  55. package/dist/controllers/authentication/auth-snap-requests.mjs +1 -1
  56. package/dist/controllers/authentication/index.js +16 -15
  57. package/dist/controllers/authentication/index.mjs +17 -16
  58. package/dist/controllers/authentication/services.js +12 -12
  59. package/dist/controllers/authentication/services.mjs +11 -11
  60. package/dist/controllers/index.js +20 -21
  61. package/dist/controllers/index.mjs +19 -20
  62. package/dist/controllers/user-storage/UserStorageController.js +18 -16
  63. package/dist/controllers/user-storage/UserStorageController.mjs +19 -17
  64. package/dist/controllers/user-storage/encryption/cache.js +1 -1
  65. package/dist/controllers/user-storage/encryption/cache.mjs +1 -1
  66. package/dist/controllers/user-storage/encryption/encryption.js +3 -3
  67. package/dist/controllers/user-storage/encryption/encryption.mjs +2 -2
  68. package/dist/controllers/user-storage/encryption/index.js +4 -4
  69. package/dist/controllers/user-storage/encryption/index.mjs +3 -3
  70. package/dist/controllers/user-storage/encryption/utils.js +1 -1
  71. package/dist/controllers/user-storage/encryption/utils.mjs +1 -1
  72. package/dist/controllers/user-storage/index.js +19 -18
  73. package/dist/controllers/user-storage/index.mjs +20 -19
  74. package/dist/controllers/user-storage/schema.js +5 -5
  75. package/dist/controllers/user-storage/schema.mjs +4 -4
  76. package/dist/controllers/user-storage/services.js +15 -15
  77. package/dist/controllers/user-storage/services.mjs +14 -14
  78. package/dist/index.js +20 -21
  79. package/dist/index.mjs +19 -20
  80. package/dist/sdk/authentication-jwt-bearer/flow-siwe.js +6 -6
  81. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +5 -5
  82. package/dist/sdk/authentication-jwt-bearer/flow-srp.js +6 -6
  83. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +5 -5
  84. package/dist/sdk/authentication-jwt-bearer/services.js +5 -5
  85. package/dist/sdk/authentication-jwt-bearer/services.mjs +4 -4
  86. package/dist/sdk/authentication-jwt-bearer/types.js +3 -3
  87. package/dist/sdk/authentication-jwt-bearer/types.mjs +2 -2
  88. package/dist/sdk/authentication.js +8 -8
  89. package/dist/sdk/authentication.mjs +7 -7
  90. package/dist/sdk/encryption.js +3 -3
  91. package/dist/sdk/encryption.mjs +2 -2
  92. package/dist/sdk/env.js +3 -3
  93. package/dist/sdk/env.mjs +2 -2
  94. package/dist/sdk/errors.js +1 -1
  95. package/dist/sdk/errors.mjs +1 -1
  96. package/dist/sdk/index.js +11 -11
  97. package/dist/sdk/index.mjs +10 -10
  98. package/dist/sdk/user-storage.js +5 -5
  99. package/dist/sdk/user-storage.mjs +4 -4
  100. package/dist/sdk/utils/eip-6963-metamask-provider.js +1 -1
  101. package/dist/sdk/utils/eip-6963-metamask-provider.mjs +1 -1
  102. package/dist/sdk/utils/messaging-signing-snap-requests.js +1 -1
  103. package/dist/sdk/utils/messaging-signing-snap-requests.mjs +1 -1
  104. package/dist/tsconfig.build.tsbuildinfo +1 -1
  105. package/dist/types/controllers/authentication/AuthenticationController.d.ts +1 -0
  106. package/dist/types/controllers/authentication/AuthenticationController.d.ts.map +1 -1
  107. package/dist/types/controllers/authentication/__fixtures__/index.d.ts +0 -1
  108. package/dist/types/controllers/authentication/__fixtures__/index.d.ts.map +1 -1
  109. package/dist/types/controllers/user-storage/UserStorageController.d.ts +1 -0
  110. package/dist/types/controllers/user-storage/UserStorageController.d.ts.map +1 -1
  111. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts +0 -1
  112. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts.map +1 -1
  113. package/dist/types/sdk/authentication-jwt-bearer/types.d.ts +1 -1
  114. package/dist/types/sdk/authentication-jwt-bearer/types.d.ts.map +1 -1
  115. package/dist/types/sdk/env.d.ts +2 -2
  116. package/dist/types/sdk/env.d.ts.map +1 -1
  117. package/package.json +1 -1
  118. package/dist/chunk-26CCETCM.mjs +0 -70
  119. package/dist/chunk-4OMJ7A6A.js.map +0 -1
  120. package/dist/chunk-ARWL2LBB.js.map +0 -1
  121. package/dist/chunk-BVM4HBM4.js.map +0 -1
  122. package/dist/chunk-GJJT2CAL.js +0 -3342
  123. package/dist/chunk-GJJT2CAL.js.map +0 -1
  124. package/dist/chunk-GLS4QZF6.mjs.map +0 -1
  125. package/dist/chunk-JAGWB4JI.mjs.map +0 -1
  126. package/dist/chunk-JMU3OVPK.mjs +0 -3342
  127. package/dist/chunk-JMU3OVPK.mjs.map +0 -1
  128. package/dist/chunk-PNZGAAT4.mjs.map +0 -1
  129. package/dist/chunk-PRDECQM6.mjs.map +0 -1
  130. package/dist/chunk-QHL6SQTC.mjs.map +0 -1
  131. package/dist/chunk-QILE6KIE.js +0 -79
  132. package/dist/chunk-T77FC4PB.js.map +0 -1
  133. package/dist/chunk-V46WVGWN.js +0 -70
  134. package/dist/chunk-VYE2DKST.js +0 -102
  135. package/dist/chunk-VYE2DKST.js.map +0 -1
  136. package/dist/chunk-WAS6V24H.js.map +0 -1
  137. package/dist/chunk-YWA77VMP.mjs.map +0 -1
  138. /package/dist/{chunk-DHHBHLVN.mjs.map → chunk-2XGRQBXI.mjs.map} +0 -0
  139. /package/dist/{chunk-K6G7X6PX.js.map → chunk-5SXXO4MV.js.map} +0 -0
  140. /package/dist/{chunk-BFE6TB7Y.mjs.map → chunk-5TOWF6UW.mjs.map} +0 -0
  141. /package/dist/{chunk-JTDFOATG.js.map → chunk-AK7OTIWA.js.map} +0 -0
  142. /package/dist/{chunk-772MKTIO.mjs.map → chunk-AUFUOKJW.mjs.map} +0 -0
  143. /package/dist/{chunk-6TK7544L.js.map → chunk-AVOOINGJ.js.map} +0 -0
  144. /package/dist/{chunk-UEZI2POO.mjs.map → chunk-AXWK4Y23.mjs.map} +0 -0
  145. /package/dist/{chunk-VTM5T7Y4.mjs.map → chunk-B5DBQDB3.mjs.map} +0 -0
  146. /package/dist/{chunk-7FCK4BY3.js.map → chunk-B6CSNLGE.js.map} +0 -0
  147. /package/dist/{chunk-XUPRRLBI.js.map → chunk-BOET676P.js.map} +0 -0
  148. /package/dist/{chunk-2MVOZPBN.js.map → chunk-ELHJSRS2.js.map} +0 -0
  149. /package/dist/{chunk-3FJQHCCQ.mjs.map → chunk-FCT2LIGH.mjs.map} +0 -0
  150. /package/dist/{chunk-V46WVGWN.js.map → chunk-IGY2S5BC.js.map} +0 -0
  151. /package/dist/{chunk-UWRKMJBI.mjs.map → chunk-JLDFMYAH.mjs.map} +0 -0
  152. /package/dist/{chunk-QE2F5AZL.mjs.map → chunk-K5UKU454.mjs.map} +0 -0
  153. /package/dist/{chunk-W7JFFMEZ.mjs.map → chunk-KBCXN3YW.mjs.map} +0 -0
  154. /package/dist/{chunk-DLXLU44Z.js.map → chunk-NLHLVVOO.js.map} +0 -0
  155. /package/dist/{chunk-GLDUXN2T.js.map → chunk-P4DUDLMY.js.map} +0 -0
  156. /package/dist/{chunk-LUKNP4HM.js.map → chunk-P52TG263.js.map} +0 -0
  157. /package/dist/{chunk-QILE6KIE.js.map → chunk-PTR4DAX6.js.map} +0 -0
  158. /package/dist/{chunk-LHDVZNW5.js.map → chunk-Q5WIUNX5.js.map} +0 -0
  159. /package/dist/{chunk-JWTNHCVG.js.map → chunk-T3FNDVE3.js.map} +0 -0
  160. /package/dist/{chunk-26CCETCM.mjs.map → chunk-U5UIDVOO.mjs.map} +0 -0
  161. /package/dist/{chunk-7VMXBDXN.mjs.map → chunk-WB6MUIML.mjs.map} +0 -0
  162. /package/dist/{chunk-IZHWP5VW.mjs.map → chunk-WJCKQLKK.mjs.map} +0 -0
  163. /package/dist/{chunk-LN2BY2QF.mjs.map → chunk-Y46NMA3V.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -7,11 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.1]
11
+
12
+ ### Added
13
+
14
+ - export `defaultState` for `AuthenticationController` and `UserStorageController`. ([#4441](https://github.com/MetaMask/core/pull/4441))
15
+
16
+ ### Changed
17
+
18
+ - `AuthType`, `Env`, `Platform` are changed from const enums to enums ([#4441](https://github.com/MetaMask/core/pull/4441))
19
+
10
20
  ## [0.1.0]
11
21
 
12
22
  ### Added
13
23
 
14
24
  - Initial release
15
25
 
16
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.0...HEAD
26
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.1...HEAD
27
+ [0.1.1]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.0...@metamask/profile-sync-controller@0.1.1
17
28
  [0.1.0]: https://github.com/MetaMask/core/releases/tag/@metamask/profile-sync-controller@0.1.0
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  createEntryPath
3
- } from "./chunk-772MKTIO.mjs";
3
+ } from "./chunk-AUFUOKJW.mjs";
4
4
  import {
5
5
  encryption_default
6
- } from "./chunk-BFE6TB7Y.mjs";
6
+ } from "./chunk-5TOWF6UW.mjs";
7
7
  import {
8
8
  getEnvUrls
9
- } from "./chunk-GLS4QZF6.mjs";
9
+ } from "./chunk-FQ5SDMRE.mjs";
10
10
 
11
11
  // src/controllers/user-storage/services.ts
12
12
  import log from "loglevel";
@@ -67,4 +67,4 @@ export {
67
67
  getUserStorage,
68
68
  upsertUserStorage
69
69
  };
70
- //# sourceMappingURL=chunk-DHHBHLVN.mjs.map
70
+ //# sourceMappingURL=chunk-2XGRQBXI.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  getAccessToken,
4
4
  getNonce,
5
5
  login
6
- } from "./chunk-W7JFFMEZ.mjs";
6
+ } from "./chunk-KBCXN3YW.mjs";
7
7
  import {
8
8
  createSnapPublicKeyRequest,
9
9
  createSnapSignMessageRequest
@@ -13,13 +13,15 @@ import {
13
13
  __privateGet,
14
14
  __privateMethod,
15
15
  __privateSet
16
- } from "./chunk-26CCETCM.mjs";
16
+ } from "./chunk-U5UIDVOO.mjs";
17
17
 
18
18
  // src/controllers/authentication/AuthenticationController.ts
19
19
  import { BaseController } from "@metamask/base-controller";
20
20
  var THIRTY_MIN_MS = 1e3 * 60 * 30;
21
21
  var controllerName = "AuthenticationController";
22
- var defaultState = { isSignedIn: false };
22
+ var defaultState = {
23
+ isSignedIn: false
24
+ };
23
25
  var metadata = {
24
26
  isSignedIn: {
25
27
  persist: true,
@@ -216,6 +218,7 @@ snapSignMessage_fn = function(message) {
216
218
  };
217
219
 
218
220
  export {
221
+ defaultState,
219
222
  AuthenticationController
220
223
  };
221
- //# sourceMappingURL=chunk-PRDECQM6.mjs.map
224
+ //# sourceMappingURL=chunk-32HAX3MW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/authentication/AuthenticationController.ts"],"sourcesContent":["import type {\n RestrictedControllerMessenger,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type { HandleSnapRequest } from '@metamask/snaps-controllers';\n\nimport type { UserStorageControllerDisableProfileSyncing } from '../user-storage/UserStorageController';\nimport {\n createSnapPublicKeyRequest,\n createSnapSignMessageRequest,\n} from './auth-snap-requests';\nimport {\n createLoginRawMessage,\n getAccessToken,\n getNonce,\n login,\n} from './services';\n\nconst THIRTY_MIN_MS = 1000 * 60 * 30;\n\nconst controllerName = 'AuthenticationController';\n\n// State\ntype SessionProfile = {\n identifierId: string;\n profileId: string;\n};\n\ntype SessionData = {\n /** profile - anonymous profile data for the given logged in user */\n profile: SessionProfile;\n /** accessToken - used to make requests authorized endpoints */\n accessToken: string;\n /** expiresIn - string date to determine if new access token is required */\n expiresIn: string;\n};\n\ntype MetaMetricsAuth = {\n getMetaMetricsId: () => string;\n agent: 'extension' | 'mobile';\n};\n\nexport type AuthenticationControllerState = {\n /**\n * Global isSignedIn state.\n * Can be used to determine if \"Profile Syncing\" is enabled.\n */\n isSignedIn: boolean;\n sessionData?: SessionData;\n};\nexport const defaultState: AuthenticationControllerState = {\n isSignedIn: false,\n};\nconst metadata: StateMetadata<AuthenticationControllerState> = {\n isSignedIn: {\n persist: true,\n anonymous: true,\n },\n sessionData: {\n persist: true,\n anonymous: false,\n },\n};\n\n// Messenger Actions\ntype CreateActionsObj<Controller extends keyof AuthenticationController> = {\n [K in Controller]: {\n type: `${typeof controllerName}:${K}`;\n handler: AuthenticationController[K];\n };\n};\ntype ActionsObj = CreateActionsObj<\n | 'performSignIn'\n | 'performSignOut'\n | 'getBearerToken'\n | 'getSessionProfile'\n | 'isSignedIn'\n>;\nexport type Actions = ActionsObj[keyof ActionsObj];\nexport type AuthenticationControllerPerformSignIn = ActionsObj['performSignIn'];\nexport type AuthenticationControllerPerformSignOut =\n ActionsObj['performSignOut'];\nexport type AuthenticationControllerGetBearerToken =\n ActionsObj['getBearerToken'];\nexport type AuthenticationControllerGetSessionProfile =\n ActionsObj['getSessionProfile'];\nexport type AuthenticationControllerIsSignedIn = ActionsObj['isSignedIn'];\n\n// Allowed Actions\nexport type AllowedActions =\n | HandleSnapRequest\n | UserStorageControllerDisableProfileSyncing;\n\n// Messenger\nexport type AuthenticationControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n Actions | AllowedActions,\n never,\n AllowedActions['type'],\n never\n>;\n\n/**\n * Controller that enables authentication for restricted endpoints.\n * Used for Global Profile Syncing and Notifications\n */\nexport default class AuthenticationController extends BaseController<\n typeof controllerName,\n AuthenticationControllerState,\n AuthenticationControllerMessenger\n> {\n #metametrics: MetaMetricsAuth;\n\n constructor({\n messenger,\n state,\n metametrics,\n }: {\n messenger: AuthenticationControllerMessenger;\n state?: AuthenticationControllerState;\n /**\n * Not using the Messaging System as we\n * do not want to tie this strictly to extension\n */\n metametrics: MetaMetricsAuth;\n }) {\n super({\n messenger,\n metadata,\n name: controllerName,\n state: { ...defaultState, ...state },\n });\n\n this.#metametrics = metametrics;\n\n this.#registerMessageHandlers();\n }\n\n /**\n * Constructor helper for registering this controller's messaging system\n * actions.\n */\n #registerMessageHandlers(): void {\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getBearerToken',\n this.getBearerToken.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getSessionProfile',\n this.getSessionProfile.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:isSignedIn',\n this.isSignedIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignIn',\n this.performSignIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignOut',\n this.performSignOut.bind(this),\n );\n }\n\n public async performSignIn(): Promise<string> {\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n public performSignOut(): void {\n this.#assertLoggedIn();\n\n this.update((state) => {\n state.isSignedIn = false;\n state.sessionData = undefined;\n });\n }\n\n public async getBearerToken(): Promise<string> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.accessToken;\n }\n\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n /**\n * Will return a session profile.\n * Throws if a user is not logged in.\n *\n * @returns profile for the session.\n */\n public async getSessionProfile(): Promise<SessionProfile> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.profile;\n }\n\n const { profile } = await this.#performAuthenticationFlow();\n return profile;\n }\n\n public isSignedIn(): boolean {\n return this.state.isSignedIn;\n }\n\n #assertLoggedIn(): void {\n if (!this.state.isSignedIn) {\n throw new Error(\n `${controllerName}: Unable to call method, user is not authenticated`,\n );\n }\n }\n\n async #performAuthenticationFlow(): Promise<{\n profile: SessionProfile;\n accessToken: string;\n }> {\n try {\n // 1. Nonce\n const publicKey = await this.#snapGetPublicKey();\n const nonce = await getNonce(publicKey);\n if (!nonce) {\n throw new Error(`Unable to get nonce`);\n }\n\n // 2. Login\n const rawMessage = createLoginRawMessage(nonce, publicKey);\n const signature = await this.#snapSignMessage(rawMessage);\n const loginResponse = await login(rawMessage, signature, {\n metametricsId: this.#metametrics.getMetaMetricsId(),\n agent: this.#metametrics.agent,\n });\n if (!loginResponse?.token) {\n throw new Error(`Unable to login`);\n }\n\n const profile: SessionProfile = {\n identifierId: loginResponse.profile.identifier_id,\n profileId: loginResponse.profile.profile_id,\n };\n\n // 3. Trade for Access Token\n const accessToken = await getAccessToken(loginResponse.token);\n if (!accessToken) {\n throw new Error(`Unable to get Access Token`);\n }\n\n // Update Internal State\n this.update((state) => {\n state.isSignedIn = true;\n const expiresIn = new Date();\n expiresIn.setTime(expiresIn.getTime() + THIRTY_MIN_MS);\n state.sessionData = {\n profile,\n accessToken,\n expiresIn: expiresIn.toString(),\n };\n });\n\n return {\n profile,\n accessToken,\n };\n } catch (e) {\n console.error('Failed to authenticate', e);\n // Disable Profile Syncing\n await this.messagingSystem.call(\n 'UserStorageController:disableProfileSyncing',\n );\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new Error(\n `${controllerName}: Failed to authenticate - ${errorMessage}`,\n );\n }\n }\n\n #hasValidSession(\n sessionData: SessionData | undefined,\n ): sessionData is SessionData {\n if (!sessionData) {\n return false;\n }\n\n const prevDate = Date.parse(sessionData.expiresIn);\n if (isNaN(prevDate)) {\n return false;\n }\n\n const currentDate = new Date();\n const diffMs = Math.abs(currentDate.getTime() - prevDate);\n\n return THIRTY_MIN_MS > diffMs;\n }\n\n /**\n * Returns the auth snap public key.\n *\n * @returns The snap public key.\n */\n #snapGetPublicKey(): Promise<string> {\n return this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapPublicKeyRequest(),\n ) as Promise<string>;\n }\n\n /**\n * Signs a specific message using an underlying auth snap.\n *\n * @param message - A specific tagged message to sign.\n * @returns A Signature created by the snap.\n */\n #snapSignMessage(message: `metamask:${string}`): Promise<string> {\n return this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapSignMessageRequest(message),\n ) as Promise<string>;\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,21 +1,21 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunk7FCK4BY3js = require('./chunk-7FCK4BY3.js');
3
+ var _chunkB6CSNLGEjs = require('./chunk-B6CSNLGE.js');
4
4
 
5
5
 
6
- var _chunkJTDFOATGjs = require('./chunk-JTDFOATG.js');
6
+ var _chunkAK7OTIWAjs = require('./chunk-AK7OTIWA.js');
7
7
 
8
8
 
9
- var _chunk4OMJ7A6Ajs = require('./chunk-4OMJ7A6A.js');
9
+ var _chunkSMKTWM6Ijs = require('./chunk-SMKTWM6I.js');
10
10
 
11
11
  // src/controllers/user-storage/services.ts
12
12
  var _loglevel = require('loglevel'); var _loglevel2 = _interopRequireDefault(_loglevel);
13
- var ENV_URLS = _chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, "prd" /* PRD */);
13
+ var ENV_URLS = _chunkSMKTWM6Ijs.getEnvUrls.call(void 0, "prd" /* PRD */);
14
14
  var USER_STORAGE_API = ENV_URLS.userStorageApiUrl;
15
15
  var USER_STORAGE_ENDPOINT = `${USER_STORAGE_API}/api/v1/userstorage`;
16
16
  async function getUserStorage(opts) {
17
17
  try {
18
- const path = _chunk7FCK4BY3js.createEntryPath.call(void 0, opts.entryKey, opts.storageKey);
18
+ const path = _chunkB6CSNLGEjs.createEntryPath.call(void 0, opts.entryKey, opts.storageKey);
19
19
  const url = new URL(`${USER_STORAGE_ENDPOINT}${path}`);
20
20
  const userStorageResponse = await fetch(url.toString(), {
21
21
  headers: {
@@ -34,7 +34,7 @@ async function getUserStorage(opts) {
34
34
  if (!encryptedData) {
35
35
  return null;
36
36
  }
37
- const decryptedData = _chunkJTDFOATGjs.encryption_default.decryptString(
37
+ const decryptedData = _chunkAK7OTIWAjs.encryption_default.decryptString(
38
38
  encryptedData,
39
39
  opts.storageKey
40
40
  );
@@ -45,8 +45,8 @@ async function getUserStorage(opts) {
45
45
  }
46
46
  }
47
47
  async function upsertUserStorage(data, opts) {
48
- const encryptedData = _chunkJTDFOATGjs.encryption_default.encryptString(data, opts.storageKey);
49
- const path = _chunk7FCK4BY3js.createEntryPath.call(void 0, opts.entryKey, opts.storageKey);
48
+ const encryptedData = _chunkAK7OTIWAjs.encryption_default.encryptString(data, opts.storageKey);
49
+ const path = _chunkB6CSNLGEjs.createEntryPath.call(void 0, opts.entryKey, opts.storageKey);
50
50
  const url = new URL(`${USER_STORAGE_ENDPOINT}${path}`);
51
51
  const res = await fetch(url.toString(), {
52
52
  method: "PUT",
@@ -67,4 +67,4 @@ async function upsertUserStorage(data, opts) {
67
67
 
68
68
 
69
69
  exports.USER_STORAGE_API = USER_STORAGE_API; exports.USER_STORAGE_ENDPOINT = USER_STORAGE_ENDPOINT; exports.getUserStorage = getUserStorage; exports.upsertUserStorage = upsertUserStorage;
70
- //# sourceMappingURL=chunk-K6G7X6PX.js.map
70
+ //# sourceMappingURL=chunk-5SXXO4MV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  encryption_default
3
- } from "./chunk-QE2F5AZL.mjs";
3
+ } from "./chunk-K5UKU454.mjs";
4
4
 
5
5
  // src/controllers/user-storage/encryption/index.ts
6
6
  var encryption_default2 = encryption_default;
@@ -8,4 +8,4 @@ var encryption_default2 = encryption_default;
8
8
  export {
9
9
  encryption_default2 as encryption_default
10
10
  };
11
- //# sourceMappingURL=chunk-BFE6TB7Y.mjs.map
11
+ //# sourceMappingURL=chunk-5TOWF6UW.mjs.map
@@ -1,24 +1,22 @@
1
1
  import {
2
- AuthenticationController
3
- } from "./chunk-PRDECQM6.mjs";
2
+ AuthenticationController,
3
+ defaultState
4
+ } from "./chunk-32HAX3MW.mjs";
4
5
  import {
5
6
  AUTH_LOGIN_ENDPOINT,
6
7
  AUTH_NONCE_ENDPOINT,
7
8
  OIDC_TOKENS_ENDPOINT
8
- } from "./chunk-W7JFFMEZ.mjs";
9
+ } from "./chunk-KBCXN3YW.mjs";
9
10
  import {
10
- require_nock
11
- } from "./chunk-JMU3OVPK.mjs";
12
- import {
13
- __export,
14
- __toESM
15
- } from "./chunk-26CCETCM.mjs";
11
+ __export
12
+ } from "./chunk-U5UIDVOO.mjs";
16
13
 
17
14
  // src/controllers/authentication/index.ts
18
15
  var authentication_exports = {};
19
16
  __export(authentication_exports, {
20
17
  Controller: () => AuthenticationController,
21
- Mocks: () => fixtures_exports
18
+ Mocks: () => fixtures_exports,
19
+ defaultState: () => defaultState
22
20
  });
23
21
 
24
22
  // src/controllers/authentication/__fixtures__/index.ts
@@ -32,10 +30,7 @@ __export(fixtures_exports, {
32
30
  MOCK_OATH_TOKEN_RESPONSE: () => MOCK_OATH_TOKEN_RESPONSE,
33
31
  getMockAuthAccessTokenResponse: () => getMockAuthAccessTokenResponse,
34
32
  getMockAuthLoginResponse: () => getMockAuthLoginResponse,
35
- getMockAuthNonceResponse: () => getMockAuthNonceResponse,
36
- mockEndpointAccessToken: () => mockEndpointAccessToken,
37
- mockEndpointGetNonce: () => mockEndpointGetNonce,
38
- mockEndpointLogin: () => mockEndpointLogin
33
+ getMockAuthNonceResponse: () => getMockAuthNonceResponse
39
34
  });
40
35
 
41
36
  // src/controllers/authentication/__fixtures__/mockResponses.ts
@@ -84,29 +79,8 @@ var getMockAuthAccessTokenResponse = () => {
84
79
  };
85
80
  };
86
81
 
87
- // src/controllers/authentication/__fixtures__/mockServices.ts
88
- var import_nock = __toESM(require_nock());
89
- var mockEndpointGetNonce = (mockReply) => {
90
- const mockResponse = getMockAuthNonceResponse();
91
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
92
- const mockNonceEndpoint = (0, import_nock.default)(mockResponse.url).get("").query(true).reply(reply.status, reply.body);
93
- return mockNonceEndpoint;
94
- };
95
- var mockEndpointLogin = (mockReply) => {
96
- const mockResponse = getMockAuthLoginResponse();
97
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
98
- const mockLoginEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
99
- return mockLoginEndpoint;
100
- };
101
- var mockEndpointAccessToken = (mockReply) => {
102
- const mockResponse = getMockAuthAccessTokenResponse();
103
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
104
- const mockOidcTokensEndpoint = (0, import_nock.default)(mockResponse.url).post("").reply(reply.status, reply.body);
105
- return mockOidcTokensEndpoint;
106
- };
107
-
108
82
  export {
109
83
  fixtures_exports,
110
84
  authentication_exports
111
85
  };
112
- //# sourceMappingURL=chunk-QHL6SQTC.mjs.map
86
+ //# sourceMappingURL=chunk-AARMY5TW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/authentication/index.ts","../src/controllers/authentication/__fixtures__/index.ts","../src/controllers/authentication/__fixtures__/mockResponses.ts"],"sourcesContent":["import Controller from './AuthenticationController';\n\nexport { Controller };\nexport * from './AuthenticationController';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\n","import type {\n LoginResponse,\n NonceResponse,\n OAuthTokenResponse,\n} from '../services';\nimport {\n AUTH_LOGIN_ENDPOINT,\n AUTH_NONCE_ENDPOINT,\n OIDC_TOKENS_ENDPOINT,\n} from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_NONCE = '4cbfqzoQpcNxVImGv';\nexport const MOCK_NONCE_RESPONSE: NonceResponse = {\n nonce: MOCK_NONCE,\n};\n\nexport const getMockAuthNonceResponse = () => {\n return {\n url: AUTH_NONCE_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_NONCE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\nexport const MOCK_LOGIN_RESPONSE: LoginResponse = {\n token: MOCK_JWT,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().toString(),\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: 'MOCK_IDENTIFIER',\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'MOCK_PROFILE_ID',\n },\n};\n\nexport const getMockAuthLoginResponse = () => {\n return {\n url: AUTH_LOGIN_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_LOGIN_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_ACCESS_TOKEN = `MOCK_ACCESS_TOKEN-${MOCK_JWT}`;\nexport const MOCK_OATH_TOKEN_RESPONSE: OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: MOCK_ACCESS_TOKEN,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: new Date().getTime(),\n};\n\nexport const getMockAuthAccessTokenResponse = () => {\n return {\n url: OIDC_TOKENS_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_OATH_TOKEN_RESPONSE,\n } satisfies MockResponse;\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACiBO,IAAM,aAAa;AACnB,IAAM,sBAAqC;AAAA,EAChD,OAAO;AACT;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,WACX;AACK,IAAM,sBAAqC;AAAA,EAChD,OAAO;AAAA;AAAA,EAEP,aAAY,oBAAI,KAAK,GAAE,SAAS;AAAA,EAChC,SAAS;AAAA;AAAA,IAEP,eAAe;AAAA;AAAA,IAEf,YAAY;AAAA,EACd;AACF;AAEO,IAAM,2BAA2B,MAAM;AAC5C,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,oBAAoB,qBAAqB,QAAQ;AACvD,IAAM,2BAA+C;AAAA;AAAA,EAE1D,cAAc;AAAA;AAAA,EAEd,aAAY,oBAAI,KAAK,GAAE,QAAQ;AACjC;AAEO,IAAM,iCAAiC,MAAM;AAClD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;","names":[]}
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkJWTNHCVGjs = require('./chunk-JWTNHCVG.js');
3
+ var _chunkT3FNDVE3js = require('./chunk-T3FNDVE3.js');
4
4
 
5
5
  // src/controllers/user-storage/encryption/index.ts
6
- var encryption_default2 = _chunkJWTNHCVGjs.encryption_default;
6
+ var encryption_default2 = _chunkT3FNDVE3js.encryption_default;
7
7
 
8
8
 
9
9
 
10
10
  exports.encryption_default = encryption_default2;
11
- //# sourceMappingURL=chunk-JTDFOATG.js.map
11
+ //# sourceMappingURL=chunk-AK7OTIWA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSHA256Hash
3
- } from "./chunk-QE2F5AZL.mjs";
3
+ } from "./chunk-K5UKU454.mjs";
4
4
 
5
5
  // src/controllers/user-storage/schema.ts
6
6
  var USER_STORAGE_ENTRIES = {
@@ -22,4 +22,4 @@ export {
22
22
  USER_STORAGE_ENTRIES,
23
23
  createEntryPath
24
24
  };
25
- //# sourceMappingURL=chunk-772MKTIO.mjs.map
25
+ //# sourceMappingURL=chunk-AUFUOKJW.mjs.map
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkXUPRRLBIjs = require('./chunk-XUPRRLBI.js');
5
+ var _chunkBOET676Pjs = require('./chunk-BOET676P.js');
6
6
 
7
7
 
8
8
  var _chunkRG4II6WHjs = require('./chunk-RG4II6WH.js');
@@ -17,7 +17,7 @@ var _chunkMBTBE4P5js = require('./chunk-MBTBE4P5.js');
17
17
 
18
18
 
19
19
 
20
- var _chunkV46WVGWNjs = require('./chunk-V46WVGWN.js');
20
+ var _chunkIGY2S5BCjs = require('./chunk-IGY2S5BC.js');
21
21
 
22
22
  // src/sdk/authentication-jwt-bearer/flow-srp.ts
23
23
  var defaultEIP6963SigningOptions = {
@@ -44,45 +44,45 @@ var _config, _options, _getAuthSession, getAuthSession_fn, _login, login_fn, _cr
44
44
  var SRPJwtBearerAuth = class {
45
45
  constructor(config, options) {
46
46
  // convert expiresIn from seconds to milliseconds and use 90% of expiresIn
47
- _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _getAuthSession);
48
- _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _login);
49
- _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _createSrpLoginRawMessage);
50
- _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _config, void 0);
51
- _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _options, void 0);
52
- _chunkV46WVGWNjs.__privateSet.call(void 0, this, _config, config);
53
- _chunkV46WVGWNjs.__privateSet.call(void 0, this, _options, {
47
+ _chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _getAuthSession);
48
+ _chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _login);
49
+ _chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _createSrpLoginRawMessage);
50
+ _chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _config, void 0);
51
+ _chunkIGY2S5BCjs.__privateAdd.call(void 0, this, _options, void 0);
52
+ _chunkIGY2S5BCjs.__privateSet.call(void 0, this, _config, config);
53
+ _chunkIGY2S5BCjs.__privateSet.call(void 0, this, _options, {
54
54
  storage: options.storage,
55
55
  signing: options.signing ?? defaultEIP6963SigningOptions
56
56
  });
57
57
  }
58
58
  async getAccessToken() {
59
- const session = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
59
+ const session = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
60
60
  if (session) {
61
61
  return session.token.accessToken;
62
62
  }
63
- const loginResponse = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
63
+ const loginResponse = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
64
64
  return loginResponse.token.accessToken;
65
65
  }
66
66
  async getUserProfile() {
67
- const session = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
67
+ const session = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
68
68
  if (session) {
69
69
  return session.profile;
70
70
  }
71
- const loginResponse = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
71
+ const loginResponse = await _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
72
72
  return loginResponse.profile;
73
73
  }
74
74
  async getIdentifier() {
75
- return await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
75
+ return await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
76
76
  }
77
77
  async signMessage(message) {
78
- return await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.signMessage(message);
78
+ return await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).signing.signMessage(message);
79
79
  }
80
80
  };
81
81
  _config = new WeakMap();
82
82
  _options = new WeakMap();
83
83
  _getAuthSession = new WeakSet();
84
84
  getAuthSession_fn = async function() {
85
- const auth = await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).storage.getLoginResponse();
85
+ const auth = await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).storage.getLoginResponse();
86
86
  if (!auth) {
87
87
  return null;
88
88
  }
@@ -97,26 +97,26 @@ getAuthSession_fn = async function() {
97
97
  _login = new WeakSet();
98
98
  login_fn = async function() {
99
99
  const address = await this.getIdentifier();
100
- const nonceRes = await _chunkXUPRRLBIjs.getNonce.call(void 0, address, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env);
101
- const publicKey = await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
102
- const rawMessage = _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _createSrpLoginRawMessage, createSrpLoginRawMessage_fn).call(this, nonceRes.nonce, publicKey);
100
+ const nonceRes = await _chunkBOET676Pjs.getNonce.call(void 0, address, _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).env);
101
+ const publicKey = await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
102
+ const rawMessage = _chunkIGY2S5BCjs.__privateMethod.call(void 0, this, _createSrpLoginRawMessage, createSrpLoginRawMessage_fn).call(this, nonceRes.nonce, publicKey);
103
103
  const signature = await this.signMessage(rawMessage);
104
- const authResponse = await _chunkXUPRRLBIjs.authenticate.call(void 0,
104
+ const authResponse = await _chunkBOET676Pjs.authenticate.call(void 0,
105
105
  rawMessage,
106
106
  signature,
107
- _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).type,
108
- _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env
107
+ _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).type,
108
+ _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).env
109
109
  );
110
- const tokenResponse = await _chunkXUPRRLBIjs.authorizeOIDC.call(void 0,
110
+ const tokenResponse = await _chunkBOET676Pjs.authorizeOIDC.call(void 0,
111
111
  authResponse.token,
112
- _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env,
113
- _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).platform
112
+ _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).env,
113
+ _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).platform
114
114
  );
115
115
  const result = {
116
116
  profile: authResponse.profile,
117
117
  token: tokenResponse
118
118
  };
119
- await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).storage.setLoginResponse(result);
119
+ await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).storage.setLoginResponse(result);
120
120
  return result;
121
121
  };
122
122
  _createSrpLoginRawMessage = new WeakSet();
@@ -127,4 +127,4 @@ createSrpLoginRawMessage_fn = function(nonce, publicKey) {
127
127
 
128
128
 
129
129
  exports.SRPJwtBearerAuth = SRPJwtBearerAuth;
130
- //# sourceMappingURL=chunk-6TK7544L.js.map
130
+ //# sourceMappingURL=chunk-AVOOINGJ.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  createSHA256Hash,
3
3
  encryption_default
4
- } from "./chunk-VTM5T7Y4.mjs";
4
+ } from "./chunk-B5DBQDB3.mjs";
5
5
  import {
6
6
  getEnvUrls
7
- } from "./chunk-GLS4QZF6.mjs";
7
+ } from "./chunk-FQ5SDMRE.mjs";
8
8
  import {
9
9
  NotFoundError,
10
10
  UserStorageError,
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  __privateAdd,
15
15
  __privateMethod
16
- } from "./chunk-26CCETCM.mjs";
16
+ } from "./chunk-U5UIDVOO.mjs";
17
17
 
18
18
  // src/sdk/user-storage.ts
19
19
  var STORAGE_URL = (env, feature, entry) => `${getEnvUrls(env).userStorageApiUrl}/api/v1/userstorage/${feature}/${entry}`;
@@ -141,4 +141,4 @@ export {
141
141
  STORAGE_URL,
142
142
  UserStorage
143
143
  };
144
- //# sourceMappingURL=chunk-UEZI2POO.mjs.map
144
+ //# sourceMappingURL=chunk-AXWK4Y23.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __privateAdd,
3
3
  __privateGet,
4
4
  __privateMethod
5
- } from "./chunk-26CCETCM.mjs";
5
+ } from "./chunk-U5UIDVOO.mjs";
6
6
 
7
7
  // src/sdk/encryption.ts
8
8
  import { gcm } from "@noble/ciphers/aes";
@@ -137,4 +137,4 @@ export {
137
137
  encryption_default,
138
138
  createSHA256Hash
139
139
  };
140
- //# sourceMappingURL=chunk-VTM5T7Y4.mjs.map
140
+ //# sourceMappingURL=chunk-B5DBQDB3.mjs.map
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkJWTNHCVGjs = require('./chunk-JWTNHCVG.js');
3
+ var _chunkT3FNDVE3js = require('./chunk-T3FNDVE3.js');
4
4
 
5
5
  // src/controllers/user-storage/schema.ts
6
6
  var USER_STORAGE_ENTRIES = {
@@ -14,7 +14,7 @@ function createEntryPath(entryKey, storageKey) {
14
14
  if (!entry) {
15
15
  throw new Error(`user-storage - invalid entry provided: ${entryKey}`);
16
16
  }
17
- const hashedKey = _chunkJWTNHCVGjs.createSHA256Hash.call(void 0, entry.entryName + storageKey);
17
+ const hashedKey = _chunkT3FNDVE3js.createSHA256Hash.call(void 0, entry.entryName + storageKey);
18
18
  return `/${entry.path}/${hashedKey}`;
19
19
  }
20
20
 
@@ -22,4 +22,4 @@ function createEntryPath(entryKey, storageKey) {
22
22
 
23
23
 
24
24
  exports.USER_STORAGE_ENTRIES = USER_STORAGE_ENTRIES; exports.createEntryPath = createEntryPath;
25
- //# sourceMappingURL=chunk-7FCK4BY3.js.map
25
+ //# sourceMappingURL=chunk-B6CSNLGE.js.map
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk4OMJ7A6Ajs = require('./chunk-4OMJ7A6A.js');
4
+ var _chunkSMKTWM6Ijs = require('./chunk-SMKTWM6I.js');
5
5
 
6
6
 
7
7
 
@@ -10,11 +10,11 @@ var _chunk4OMJ7A6Ajs = require('./chunk-4OMJ7A6A.js');
10
10
  var _chunkMBTBE4P5js = require('./chunk-MBTBE4P5.js');
11
11
 
12
12
  // src/sdk/authentication-jwt-bearer/services.ts
13
- var NONCE_URL = (env) => `${_chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/nonce`;
14
- var PAIR_IDENTIFIERS = (env) => `${_chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/identifiers/pair`;
15
- var OIDC_TOKEN_URL = (env) => `${_chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, env).oidcApiUrl}/oauth2/token`;
16
- var SRP_LOGIN_URL = (env) => `${_chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/srp/login`;
17
- var SIWE_LOGIN_URL = (env) => `${_chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/siwe/login`;
13
+ var NONCE_URL = (env) => `${_chunkSMKTWM6Ijs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/nonce`;
14
+ var PAIR_IDENTIFIERS = (env) => `${_chunkSMKTWM6Ijs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/identifiers/pair`;
15
+ var OIDC_TOKEN_URL = (env) => `${_chunkSMKTWM6Ijs.getEnvUrls.call(void 0, env).oidcApiUrl}/oauth2/token`;
16
+ var SRP_LOGIN_URL = (env) => `${_chunkSMKTWM6Ijs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/srp/login`;
17
+ var SIWE_LOGIN_URL = (env) => `${_chunkSMKTWM6Ijs.getEnvUrls.call(void 0, env).authApiUrl}/api/v2/siwe/login`;
18
18
  var getAuthenticationUrl = (authType, env) => {
19
19
  switch (authType) {
20
20
  case "SRP" /* SRP */:
@@ -81,7 +81,7 @@ async function authorizeOIDC(jwtToken, env, platform) {
81
81
  });
82
82
  const urlEncodedBody = new URLSearchParams();
83
83
  urlEncodedBody.append("grant_type", grantType);
84
- urlEncodedBody.append("client_id", _chunk4OMJ7A6Ajs.getOidcClientId.call(void 0, env, platform));
84
+ urlEncodedBody.append("client_id", _chunkSMKTWM6Ijs.getOidcClientId.call(void 0, env, platform));
85
85
  urlEncodedBody.append("assertion", jwtToken);
86
86
  try {
87
87
  const response = await fetch(OIDC_TOKEN_URL(env), {
@@ -154,4 +154,4 @@ async function authenticate(rawMessage, signature, authType, env) {
154
154
 
155
155
 
156
156
  exports.NONCE_URL = NONCE_URL; exports.PAIR_IDENTIFIERS = PAIR_IDENTIFIERS; exports.OIDC_TOKEN_URL = OIDC_TOKEN_URL; exports.SRP_LOGIN_URL = SRP_LOGIN_URL; exports.SIWE_LOGIN_URL = SIWE_LOGIN_URL; exports.pairIdentifiers = pairIdentifiers; exports.getNonce = getNonce; exports.authorizeOIDC = authorizeOIDC; exports.authenticate = authenticate;
157
- //# sourceMappingURL=chunk-XUPRRLBI.js.map
157
+ //# sourceMappingURL=chunk-BOET676P.js.map
@@ -8,4 +8,4 @@ var AuthType = /* @__PURE__ */ ((AuthType2) => {
8
8
  export {
9
9
  AuthType
10
10
  };
11
- //# sourceMappingURL=chunk-YWA77VMP.mjs.map
11
+ //# sourceMappingURL=chunk-CAIIVJAO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/authentication-jwt-bearer/types.ts"],"sourcesContent":["import type { Env, Platform } from '../env';\n\nexport enum AuthType {\n /* sign in using a private key derived from your secret recovery phrase (SRP). \n Uses message signing snap to perform this operation */\n SRP = 'SRP',\n\n /* sign in with Ethereum */\n SiWE = 'SiWE',\n}\n\nexport type AuthConfig = {\n env: Env;\n platform: Platform;\n type: AuthType;\n};\n\nexport type AccessToken = {\n /**\n * The JWT Access Token\n */\n accessToken: string;\n /**\n * Expiration in seconds\n */\n expiresIn: number;\n /**\n * Date in milliseconds\n */\n obtainedAt: number;\n};\n\nexport type UserProfile = {\n /**\n * The \"Identifier\" used to log in with.\n */\n identifierId: string;\n /**\n * The Unique profile for a logged in user. A Profile can be logged in via multiple Identifiers\n */\n profileId: string;\n /**\n * Server MetaMetrics ID. Allows grouping of user events cross platform.\n */\n metaMetricsId: string;\n};\n\nexport type LoginResponse = {\n token: AccessToken;\n profile: UserProfile;\n};\n\nexport type IBaseAuth = {\n getAccessToken: () => Promise<string>;\n getUserProfile: () => Promise<UserProfile>;\n getIdentifier: () => Promise<string>;\n signMessage: (message: string) => Promise<string>;\n};\n\nexport type AuthStorageOptions = {\n getLoginResponse: () => Promise<LoginResponse | null>;\n setLoginResponse: (val: LoginResponse) => Promise<void>;\n};\n\nexport type AuthSigningOptions = {\n signMessage: (message: string) => Promise<string>;\n getIdentifier: () => Promise<string>;\n};\n\nexport type ErrorMessage = {\n message: string;\n error: string;\n};\n\nexport type Pair = {\n identifier: string;\n encryptedStorageKey: string;\n identifierType: 'SIWE' | 'SRP';\n signMessage: (message: string) => Promise<string>;\n};\n"],"mappings":";AAEO,IAAK,WAAL,kBAAKA,cAAL;AAGL,EAAAA,UAAA,SAAM;AAGN,EAAAA,UAAA,UAAO;AANG,SAAAA;AAAA,GAAA;","names":["AuthType"]}
@@ -1,16 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk4OMJ7A6Ajs = require('./chunk-4OMJ7A6A.js');
4
+ var _chunkSMKTWM6Ijs = require('./chunk-SMKTWM6I.js');
5
5
 
6
6
  // src/controllers/authentication/services.ts
7
- var ENV_URLS = _chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, "prd" /* PRD */);
7
+ var ENV_URLS = _chunkSMKTWM6Ijs.getEnvUrls.call(void 0, "prd" /* PRD */);
8
8
  var AUTH_ENDPOINT = ENV_URLS.authApiUrl;
9
9
  var AUTH_NONCE_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/nonce`;
10
10
  var AUTH_LOGIN_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/srp/login`;
11
11
  var OIDC_ENDPOINT = ENV_URLS.oidcApiUrl || "";
12
12
  var OIDC_TOKENS_ENDPOINT = `${OIDC_ENDPOINT}/oauth2/token`;
13
- var OIDC_CLIENT_ID = _chunk4OMJ7A6Ajs.getOidcClientId.call(void 0, "prd" /* PRD */, "extension" /* EXTENSION */);
13
+ var OIDC_CLIENT_ID = _chunkSMKTWM6Ijs.getOidcClientId.call(void 0, "prd" /* PRD */, "extension" /* EXTENSION */);
14
14
  var OIDC_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer";
15
15
  async function getNonce(publicKey) {
16
16
  const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);
@@ -95,4 +95,4 @@ function createLoginRawMessage(nonce, publicKey) {
95
95
 
96
96
 
97
97
  exports.AUTH_NONCE_ENDPOINT = AUTH_NONCE_ENDPOINT; exports.AUTH_LOGIN_ENDPOINT = AUTH_LOGIN_ENDPOINT; exports.OIDC_TOKENS_ENDPOINT = OIDC_TOKENS_ENDPOINT; exports.getNonce = getNonce; exports.login = login; exports.getAccessToken = getAccessToken; exports.createLoginRawMessage = createLoginRawMessage;
98
- //# sourceMappingURL=chunk-2MVOZPBN.js.map
98
+ //# sourceMappingURL=chunk-ELHJSRS2.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SIWEJwtBearerAuth
3
- } from "./chunk-UWRKMJBI.mjs";
3
+ } from "./chunk-JLDFMYAH.mjs";
4
4
  import {
5
5
  SRPJwtBearerAuth
6
- } from "./chunk-LN2BY2QF.mjs";
6
+ } from "./chunk-Y46NMA3V.mjs";
7
7
  import {
8
8
  getNonce,
9
9
  pairIdentifiers
10
- } from "./chunk-7VMXBDXN.mjs";
10
+ } from "./chunk-WB6MUIML.mjs";
11
11
  import {
12
12
  PairError,
13
13
  UnsupportedAuthTypeError
@@ -17,7 +17,7 @@ import {
17
17
  __privateGet,
18
18
  __privateMethod,
19
19
  __privateSet
20
- } from "./chunk-26CCETCM.mjs";
20
+ } from "./chunk-U5UIDVOO.mjs";
21
21
 
22
22
  // src/sdk/authentication.ts
23
23
  var _type, _env, _sdk, _assertSIWE, assertSIWE_fn;
@@ -103,4 +103,4 @@ assertSIWE_fn = function(type, sdk) {
103
103
  export {
104
104
  JwtBearerAuth
105
105
  };
106
- //# sourceMappingURL=chunk-3FJQHCCQ.mjs.map
106
+ //# sourceMappingURL=chunk-FCT2LIGH.mjs.map
@@ -74,4 +74,4 @@ export {
74
74
  getEnvUrls,
75
75
  getOidcClientId
76
76
  };
77
- //# sourceMappingURL=chunk-GLS4QZF6.mjs.map
77
+ //# sourceMappingURL=chunk-FQ5SDMRE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/env.ts"],"sourcesContent":["export enum Env {\n DEV = 'dev',\n UAT = 'uat',\n PRD = 'prd',\n}\n\nexport enum Platform {\n MOBILE = 'mobile',\n EXTENSION = 'extension',\n PORTFOLIO = 'portfolio',\n INFURA = 'infura',\n}\n\ntype EnvUrlsEntry = {\n authApiUrl: string;\n oidcApiUrl: string;\n userStorageApiUrl: string;\n};\n\nconst ENV_URLS: Record<Env, EnvUrlsEntry> = {\n dev: {\n authApiUrl: 'https://authentication.dev-api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.dev-api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.dev-api.cx.metamask.io',\n },\n uat: {\n authApiUrl: 'https://authentication.uat-api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.uat-api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.uat-api.cx.metamask.io',\n },\n prd: {\n authApiUrl: 'https://authentication.api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.api.cx.metamask.io',\n },\n};\n\n/**\n * Validates and returns correct environment endpoints\n *\n * @param env - environment field\n * @returns the correct environment url\n * @throws on invalid environment passed\n */\nexport function getEnvUrls(env: Env): EnvUrlsEntry {\n if (!ENV_URLS[env]) {\n throw new Error('invalid environment configuration');\n }\n return ENV_URLS[env];\n}\n\n/**\n * Returns the valid OIDC Client ID (used during authorization)\n *\n * @param env - environment field\n * @param platform - platform field\n * @returns the OIDC client id for the environment\n */\nexport function getOidcClientId(env: Env, platform: Platform): string {\n const clientIds = {\n [Env.DEV]: {\n [Platform.PORTFOLIO]: 'c7ca94a0-5d52-4635-9502-1a50a9c410cc',\n [Platform.MOBILE]: 'e83c7cc9-267d-4fb4-8fec-f0e3bbe5ae8e',\n [Platform.EXTENSION]: 'f1a963d7-50dc-4cb5-8d81-f1f3654f0df3',\n [Platform.INFURA]: 'bd887006-0d55-481a-a395-5ff9a0dc52c9',\n },\n [Env.UAT]: {\n [Platform.PORTFOLIO]: '8f2dd4ac-db07-4819-9ba5-1ee0ec1b56d1',\n [Platform.MOBILE]: 'c3cfdcd2-51d6-4fae-ad2c-ff238c8fef53',\n [Platform.EXTENSION]: 'a9de167c-c9a6-43d8-af39-d301fd44c485',\n [Platform.INFURA]: '01929890-7002-4c97-9913-8f6c09a6d674',\n },\n [Env.PRD]: {\n [Platform.PORTFOLIO]: '35e1cd62-49c5-4be8-8b6e-a5212f2d2cfb',\n [Platform.MOBILE]: '75fa62a3-9ca0-4b91-9fe5-76bec86b0257',\n [Platform.EXTENSION]: '1132f10a-b4e5-4390-a5f2-d9c6022db564',\n [Platform.INFURA]: '', // unset\n },\n };\n\n if (!clientIds[env]) {\n throw new Error(`invalid env ${env}: cannot determine oidc client id`);\n }\n\n if (!clientIds[env][platform]) {\n throw new Error(\n `invalid env ${env} and platform ${platform} combination: cannot determine oidc client id`,\n );\n }\n\n return clientIds[env][platform];\n}\n"],"mappings":";AAAO,IAAK,MAAL,kBAAKA,SAAL;AACL,EAAAA,KAAA,SAAM;AACN,EAAAA,KAAA,SAAM;AACN,EAAAA,KAAA,SAAM;AAHI,SAAAA;AAAA,GAAA;AAML,IAAK,WAAL,kBAAKC,cAAL;AACL,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,YAAS;AAJC,SAAAA;AAAA,GAAA;AAaZ,IAAM,WAAsC;AAAA,EAC1C,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AACF;AASO,SAAS,WAAW,KAAwB;AACjD,MAAI,CAAC,SAAS,GAAG,GAAG;AAClB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AACA,SAAO,SAAS,GAAG;AACrB;AASO,SAAS,gBAAgB,KAAU,UAA4B;AACpE,QAAM,YAAY;AAAA,IAChB,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,IACrB;AAAA,IACA,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,IACrB;AAAA,IACA,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA;AAAA,IACrB;AAAA,EACF;AAEA,MAAI,CAAC,UAAU,GAAG,GAAG;AACnB,UAAM,IAAI,MAAM,eAAe,GAAG,mCAAmC;AAAA,EACvE;AAEA,MAAI,CAAC,UAAU,GAAG,EAAE,QAAQ,GAAG;AAC7B,UAAM,IAAI;AAAA,MACR,eAAe,GAAG,iBAAiB,QAAQ;AAAA,IAC7C;AAAA,EACF;AAEA,SAAO,UAAU,GAAG,EAAE,QAAQ;AAChC;","names":["Env","Platform"]}