@metamask/profile-sync-controller 0.1.0 → 0.1.2
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 +24 -1
- package/dist/{chunk-DHHBHLVN.mjs → chunk-2XGRQBXI.mjs} +4 -4
- package/dist/{chunk-2MVOZPBN.js → chunk-5C53GKTU.js} +14 -6
- package/dist/chunk-5C53GKTU.js.map +1 -0
- package/dist/{chunk-K6G7X6PX.js → chunk-5SXXO4MV.js} +9 -9
- package/dist/{chunk-BFE6TB7Y.mjs → chunk-5TOWF6UW.mjs} +2 -2
- package/dist/{chunk-W7JFFMEZ.mjs → chunk-7SW3CC66.mjs} +13 -5
- package/dist/chunk-7SW3CC66.mjs.map +1 -0
- package/dist/{chunk-JTDFOATG.js → chunk-AK7OTIWA.js} +3 -3
- package/dist/{chunk-772MKTIO.mjs → chunk-AUFUOKJW.mjs} +2 -2
- package/dist/{chunk-6TK7544L.js → chunk-AVOOINGJ.js} +27 -27
- package/dist/{chunk-UEZI2POO.mjs → chunk-AXWK4Y23.mjs} +4 -4
- package/dist/{chunk-VTM5T7Y4.mjs → chunk-B5DBQDB3.mjs} +2 -2
- package/dist/{chunk-7FCK4BY3.js → chunk-B6CSNLGE.js} +3 -3
- package/dist/{chunk-XUPRRLBI.js → chunk-BOET676P.js} +8 -8
- package/dist/{chunk-YWA77VMP.mjs → chunk-CAIIVJAO.mjs} +1 -1
- package/dist/chunk-CAIIVJAO.mjs.map +1 -0
- package/dist/{chunk-3FJQHCCQ.mjs → chunk-FCT2LIGH.mjs} +5 -5
- package/dist/{chunk-GLS4QZF6.mjs → chunk-FQ5SDMRE.mjs} +1 -1
- package/dist/chunk-FQ5SDMRE.mjs.map +1 -0
- package/dist/{chunk-BVM4HBM4.js → chunk-FRVMGTOY.js} +13 -39
- package/dist/chunk-FRVMGTOY.js.map +1 -0
- package/dist/{chunk-WAS6V24H.js → chunk-GWBBZZVV.js} +39 -30
- package/dist/chunk-GWBBZZVV.js.map +1 -0
- package/dist/chunk-H4TDS65R.js +81 -0
- package/dist/chunk-H4TDS65R.js.map +1 -0
- package/dist/chunk-IGY2S5BC.js +36 -0
- package/dist/{chunk-UWRKMJBI.mjs → chunk-JLDFMYAH.mjs} +3 -3
- package/dist/{chunk-QE2F5AZL.mjs → chunk-K5UKU454.mjs} +2 -2
- package/dist/{chunk-QHL6SQTC.mjs → chunk-KKB3U6KO.mjs} +10 -36
- package/dist/chunk-KKB3U6KO.mjs.map +1 -0
- package/dist/{chunk-JAGWB4JI.mjs → chunk-LSVRA3X2.mjs} +13 -34
- package/dist/chunk-LSVRA3X2.mjs.map +1 -0
- package/dist/{chunk-DLXLU44Z.js → chunk-NLHLVVOO.js} +21 -21
- package/dist/{chunk-GLDUXN2T.js → chunk-P4DUDLMY.js} +24 -24
- package/dist/{chunk-LUKNP4HM.js → chunk-P52TG263.js} +19 -19
- package/dist/{chunk-T77FC4PB.js → chunk-PBRUOBEQ.js} +1 -1
- package/dist/chunk-PBRUOBEQ.js.map +1 -0
- package/dist/chunk-PTR4DAX6.js +79 -0
- package/dist/{chunk-LHDVZNW5.js → chunk-Q5WIUNX5.js} +37 -37
- package/dist/{chunk-PRDECQM6.mjs → chunk-QU3RCIV3.mjs} +15 -6
- package/dist/chunk-QU3RCIV3.mjs.map +1 -0
- package/dist/{chunk-4OMJ7A6A.js → chunk-SMKTWM6I.js} +1 -1
- package/dist/chunk-SMKTWM6I.js.map +1 -0
- package/dist/{chunk-JWTNHCVG.js → chunk-T3FNDVE3.js} +13 -13
- package/dist/{chunk-PNZGAAT4.mjs → chunk-TGFMKARH.mjs} +5 -4
- package/dist/chunk-TGFMKARH.mjs.map +1 -0
- package/dist/chunk-U5UIDVOO.mjs +36 -0
- package/dist/{chunk-7VMXBDXN.mjs → chunk-WB6MUIML.mjs} +2 -2
- package/dist/{chunk-IZHWP5VW.mjs → chunk-WJCKQLKK.mjs} +9 -9
- package/dist/{chunk-LN2BY2QF.mjs → chunk-Y46NMA3V.mjs} +3 -3
- package/dist/{chunk-ARWL2LBB.js → chunk-YASNOFBV.js} +38 -37
- package/dist/chunk-YASNOFBV.js.map +1 -0
- package/dist/controllers/authentication/AuthenticationController.js +15 -13
- package/dist/controllers/authentication/AuthenticationController.mjs +16 -14
- package/dist/controllers/authentication/auth-snap-requests.js +1 -1
- package/dist/controllers/authentication/auth-snap-requests.mjs +1 -1
- package/dist/controllers/authentication/index.js +16 -15
- package/dist/controllers/authentication/index.mjs +17 -16
- package/dist/controllers/authentication/services.js +12 -12
- package/dist/controllers/authentication/services.mjs +11 -11
- package/dist/controllers/index.js +20 -21
- package/dist/controllers/index.mjs +19 -20
- package/dist/controllers/user-storage/UserStorageController.js +18 -16
- package/dist/controllers/user-storage/UserStorageController.mjs +19 -17
- package/dist/controllers/user-storage/encryption/cache.js +1 -1
- package/dist/controllers/user-storage/encryption/cache.mjs +1 -1
- package/dist/controllers/user-storage/encryption/encryption.js +3 -3
- package/dist/controllers/user-storage/encryption/encryption.mjs +2 -2
- package/dist/controllers/user-storage/encryption/index.js +4 -4
- package/dist/controllers/user-storage/encryption/index.mjs +3 -3
- package/dist/controllers/user-storage/encryption/utils.js +1 -1
- package/dist/controllers/user-storage/encryption/utils.mjs +1 -1
- package/dist/controllers/user-storage/index.js +19 -18
- package/dist/controllers/user-storage/index.mjs +20 -19
- package/dist/controllers/user-storage/schema.js +5 -5
- package/dist/controllers/user-storage/schema.mjs +4 -4
- package/dist/controllers/user-storage/services.js +15 -15
- package/dist/controllers/user-storage/services.mjs +14 -14
- package/dist/index.js +20 -21
- package/dist/index.mjs +19 -20
- package/dist/sdk/authentication-jwt-bearer/flow-siwe.js +6 -6
- package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +5 -5
- package/dist/sdk/authentication-jwt-bearer/flow-srp.js +6 -6
- package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +5 -5
- package/dist/sdk/authentication-jwt-bearer/services.js +5 -5
- package/dist/sdk/authentication-jwt-bearer/services.mjs +4 -4
- package/dist/sdk/authentication-jwt-bearer/types.js +3 -3
- package/dist/sdk/authentication-jwt-bearer/types.mjs +2 -2
- package/dist/sdk/authentication.js +8 -8
- package/dist/sdk/authentication.mjs +7 -7
- package/dist/sdk/encryption.js +3 -3
- package/dist/sdk/encryption.mjs +2 -2
- package/dist/sdk/env.js +3 -3
- package/dist/sdk/env.mjs +2 -2
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/errors.mjs +1 -1
- package/dist/sdk/index.js +11 -11
- package/dist/sdk/index.mjs +10 -10
- package/dist/sdk/user-storage.js +5 -5
- package/dist/sdk/user-storage.mjs +4 -4
- package/dist/sdk/utils/eip-6963-metamask-provider.js +1 -1
- package/dist/sdk/utils/eip-6963-metamask-provider.mjs +1 -1
- package/dist/sdk/utils/messaging-signing-snap-requests.js +1 -1
- package/dist/sdk/utils/messaging-signing-snap-requests.mjs +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/controllers/authentication/AuthenticationController.d.ts +2 -1
- package/dist/types/controllers/authentication/AuthenticationController.d.ts.map +1 -1
- package/dist/types/controllers/authentication/__fixtures__/index.d.ts +0 -1
- package/dist/types/controllers/authentication/__fixtures__/index.d.ts.map +1 -1
- package/dist/types/controllers/authentication/services.d.ts +2 -1
- package/dist/types/controllers/authentication/services.d.ts.map +1 -1
- package/dist/types/controllers/user-storage/UserStorageController.d.ts +1 -0
- package/dist/types/controllers/user-storage/UserStorageController.d.ts.map +1 -1
- package/dist/types/controllers/user-storage/__fixtures__/index.d.ts +0 -1
- package/dist/types/controllers/user-storage/__fixtures__/index.d.ts.map +1 -1
- package/dist/types/sdk/authentication-jwt-bearer/types.d.ts +1 -1
- package/dist/types/sdk/authentication-jwt-bearer/types.d.ts.map +1 -1
- package/dist/types/sdk/env.d.ts +2 -2
- package/dist/types/sdk/env.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-26CCETCM.mjs +0 -70
- package/dist/chunk-2MVOZPBN.js.map +0 -1
- package/dist/chunk-4OMJ7A6A.js.map +0 -1
- package/dist/chunk-ARWL2LBB.js.map +0 -1
- package/dist/chunk-BVM4HBM4.js.map +0 -1
- package/dist/chunk-GJJT2CAL.js +0 -3342
- package/dist/chunk-GJJT2CAL.js.map +0 -1
- package/dist/chunk-GLS4QZF6.mjs.map +0 -1
- package/dist/chunk-JAGWB4JI.mjs.map +0 -1
- package/dist/chunk-JMU3OVPK.mjs +0 -3342
- package/dist/chunk-JMU3OVPK.mjs.map +0 -1
- package/dist/chunk-PNZGAAT4.mjs.map +0 -1
- package/dist/chunk-PRDECQM6.mjs.map +0 -1
- package/dist/chunk-QHL6SQTC.mjs.map +0 -1
- package/dist/chunk-QILE6KIE.js +0 -79
- package/dist/chunk-T77FC4PB.js.map +0 -1
- package/dist/chunk-V46WVGWN.js +0 -70
- package/dist/chunk-VYE2DKST.js +0 -102
- package/dist/chunk-VYE2DKST.js.map +0 -1
- package/dist/chunk-W7JFFMEZ.mjs.map +0 -1
- package/dist/chunk-WAS6V24H.js.map +0 -1
- package/dist/chunk-YWA77VMP.mjs.map +0 -1
- /package/dist/{chunk-DHHBHLVN.mjs.map → chunk-2XGRQBXI.mjs.map} +0 -0
- /package/dist/{chunk-K6G7X6PX.js.map → chunk-5SXXO4MV.js.map} +0 -0
- /package/dist/{chunk-BFE6TB7Y.mjs.map → chunk-5TOWF6UW.mjs.map} +0 -0
- /package/dist/{chunk-JTDFOATG.js.map → chunk-AK7OTIWA.js.map} +0 -0
- /package/dist/{chunk-772MKTIO.mjs.map → chunk-AUFUOKJW.mjs.map} +0 -0
- /package/dist/{chunk-6TK7544L.js.map → chunk-AVOOINGJ.js.map} +0 -0
- /package/dist/{chunk-UEZI2POO.mjs.map → chunk-AXWK4Y23.mjs.map} +0 -0
- /package/dist/{chunk-VTM5T7Y4.mjs.map → chunk-B5DBQDB3.mjs.map} +0 -0
- /package/dist/{chunk-7FCK4BY3.js.map → chunk-B6CSNLGE.js.map} +0 -0
- /package/dist/{chunk-XUPRRLBI.js.map → chunk-BOET676P.js.map} +0 -0
- /package/dist/{chunk-3FJQHCCQ.mjs.map → chunk-FCT2LIGH.mjs.map} +0 -0
- /package/dist/{chunk-V46WVGWN.js.map → chunk-IGY2S5BC.js.map} +0 -0
- /package/dist/{chunk-UWRKMJBI.mjs.map → chunk-JLDFMYAH.mjs.map} +0 -0
- /package/dist/{chunk-QE2F5AZL.mjs.map → chunk-K5UKU454.mjs.map} +0 -0
- /package/dist/{chunk-DLXLU44Z.js.map → chunk-NLHLVVOO.js.map} +0 -0
- /package/dist/{chunk-GLDUXN2T.js.map → chunk-P4DUDLMY.js.map} +0 -0
- /package/dist/{chunk-LUKNP4HM.js.map → chunk-P52TG263.js.map} +0 -0
- /package/dist/{chunk-QILE6KIE.js.map → chunk-PTR4DAX6.js.map} +0 -0
- /package/dist/{chunk-LHDVZNW5.js.map → chunk-Q5WIUNX5.js.map} +0 -0
- /package/dist/{chunk-JWTNHCVG.js.map → chunk-T3FNDVE3.js.map} +0 -0
- /package/dist/{chunk-26CCETCM.mjs.map → chunk-U5UIDVOO.mjs.map} +0 -0
- /package/dist/{chunk-7VMXBDXN.mjs.map → chunk-WB6MUIML.mjs.map} +0 -0
- /package/dist/{chunk-IZHWP5VW.mjs.map → chunk-WJCKQLKK.mjs.map} +0 -0
- /package/dist/{chunk-LN2BY2QF.mjs.map → chunk-Y46NMA3V.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,11 +7,34 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.2]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- added platform field when logging in to receive correct OIDC access token ([#4480](https://github.com/MetaMask/core/pull/4480))
|
|
15
|
+
- added metametrics validation in constructor ([#4480](https://github.com/MetaMask/core/pull/4480))
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- updated the `getMetaMetricsId` interface to support async calls to metametrics ID ([#4477](https://github.com/MetaMask/core/pull/4477))
|
|
20
|
+
|
|
21
|
+
## [0.1.1]
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- export `defaultState` for `AuthenticationController` and `UserStorageController`. ([#4441](https://github.com/MetaMask/core/pull/4441))
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- `AuthType`, `Env`, `Platform` are changed from const enums to enums ([#4441](https://github.com/MetaMask/core/pull/4441))
|
|
30
|
+
|
|
10
31
|
## [0.1.0]
|
|
11
32
|
|
|
12
33
|
### Added
|
|
13
34
|
|
|
14
35
|
- Initial release
|
|
15
36
|
|
|
16
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.
|
|
37
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.2...HEAD
|
|
38
|
+
[0.1.2]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.1...@metamask/profile-sync-controller@0.1.2
|
|
39
|
+
[0.1.1]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.0...@metamask/profile-sync-controller@0.1.1
|
|
17
40
|
[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-
|
|
3
|
+
} from "./chunk-AUFUOKJW.mjs";
|
|
4
4
|
import {
|
|
5
5
|
encryption_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5TOWF6UW.mjs";
|
|
7
7
|
import {
|
|
8
8
|
getEnvUrls
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
70
|
+
//# sourceMappingURL=chunk-2XGRQBXI.mjs.map
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkSMKTWM6Ijs = require('./chunk-SMKTWM6I.js');
|
|
5
5
|
|
|
6
6
|
// src/controllers/authentication/services.ts
|
|
7
|
-
var ENV_URLS =
|
|
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 =
|
|
13
|
+
var OIDC_CLIENT_ID = (platform) => {
|
|
14
|
+
if (platform === "extension") {
|
|
15
|
+
return _chunkSMKTWM6Ijs.getOidcClientId.call(void 0, "prd" /* PRD */, "extension" /* EXTENSION */);
|
|
16
|
+
}
|
|
17
|
+
if (platform === "mobile") {
|
|
18
|
+
return _chunkSMKTWM6Ijs.getOidcClientId.call(void 0, "prd" /* PRD */, "mobile" /* MOBILE */);
|
|
19
|
+
}
|
|
20
|
+
throw new Error(`Unsupported platform - ${platform}`);
|
|
21
|
+
};
|
|
14
22
|
var OIDC_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer";
|
|
15
23
|
async function getNonce(publicKey) {
|
|
16
24
|
const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);
|
|
@@ -55,13 +63,13 @@ async function login(rawMessage, signature, clientMetaMetrics) {
|
|
|
55
63
|
return null;
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
|
-
async function getAccessToken(jwtToken) {
|
|
66
|
+
async function getAccessToken(jwtToken, platform) {
|
|
59
67
|
const headers = new Headers({
|
|
60
68
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
61
69
|
});
|
|
62
70
|
const urlEncodedBody = new URLSearchParams();
|
|
63
71
|
urlEncodedBody.append("grant_type", OIDC_GRANT_TYPE);
|
|
64
|
-
urlEncodedBody.append("client_id", OIDC_CLIENT_ID);
|
|
72
|
+
urlEncodedBody.append("client_id", OIDC_CLIENT_ID(platform));
|
|
65
73
|
urlEncodedBody.append("assertion", jwtToken);
|
|
66
74
|
try {
|
|
67
75
|
const response = await fetch(OIDC_TOKENS_ENDPOINT, {
|
|
@@ -95,4 +103,4 @@ function createLoginRawMessage(nonce, publicKey) {
|
|
|
95
103
|
|
|
96
104
|
|
|
97
105
|
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-
|
|
106
|
+
//# sourceMappingURL=chunk-5C53GKTU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/authentication/services.ts"],"names":[],"mappings":";;;;;;AAEA,IAAM,WAAW,0BAAkB;AAEnC,IAAM,gBAAwB,SAAS;AAChC,IAAM,sBAAsB,GAAG,aAAa;AAC5C,IAAM,sBAAsB,GAAG,aAAa;AAEnD,IAAM,gBAAwB,SAAS,cAAc;AAC9C,IAAM,uBAAuB,GAAG,aAAa;AACpD,IAAM,iBAAiB,CAAC,aAAqC;AAC3D,MAAI,aAAa,aAAa;AAC5B,WAAO,4DAA2C;AAAA,EACpD;AACA,MAAI,aAAa,UAAU;AACzB,WAAO,sDAAwC;AAAA,EACjD;AAEA,QAAM,IAAI,MAAM,0BAA0B,QAAkB,EAAE;AAChE;AACA,IAAM,kBAAkB;AAYxB,eAAsB,SAAS,WAA2C;AACxE,QAAM,WAAW,IAAI,IAAI,mBAAmB;AAC5C,WAAS,aAAa,IAAI,cAAc,SAAS;AAEjD,MAAI;AACF,UAAM,gBAAgB,MAAM,MAAM,SAAS,SAAS,CAAC;AACrD,QAAI,CAAC,cAAc,IAAI;AACrB,aAAO;AAAA,IACT;AAEA,UAAM,YAA2B,MAAM,cAAc,KAAK;AAC1D,WAAO,WAAW,SAAS;AAAA,EAC7B,SAAS,GAAG;AACV,YAAQ,MAAM,2DAA2D,CAAC;AAC1E,WAAO;AAAA,EACT;AACF;AAqCA,eAAsB,MACpB,YACA,WACA,mBAC+B;AAC/B,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,qBAAqB;AAAA,MAChD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA;AAAA,QAEA,aAAa;AAAA,QACb,aAAa;AAAA;AAAA,UAEX,gBAAgB,kBAAkB;AAAA,UAClC,OAAO,kBAAkB;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,gBAA+B,MAAM,SAAS,KAAK;AACzD,WAAO,iBAAiB;AAAA,EAC1B,SAAS,GAAG;AACV,YAAQ,MAAM,uDAAuD,CAAC;AACtE,WAAO;AAAA,EACT;AACF;AAoBA,eAAsB,eACpB,UACA,UACwB;AACxB,QAAM,UAAU,IAAI,QAAQ;AAAA,IAC1B,gBAAgB;AAAA,EAClB,CAAC;AAED,QAAM,iBAAiB,IAAI,gBAAgB;AAC3C,iBAAe,OAAO,cAAc,eAAe;AACnD,iBAAe,OAAO,aAAa,eAAe,QAAQ,CAAC;AAC3D,iBAAe,OAAO,aAAa,QAAQ;AAE3C,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,sBAAsB;AAAA,MACjD,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,eAAe,SAAS;AAAA,IAChC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,sBAA0C,MAAM,SAAS,KAAK;AACpE,WAAO,qBAAqB,gBAAgB;AAAA,EAC9C,SAAS,GAAG;AACV,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AASO,SAAS,sBACd,OACA,WACgC;AAChC,SAAO,YAAY,KAAK,IAAI,SAAS;AACvC","sourcesContent":["import { Env, Platform, getEnvUrls, getOidcClientId } from '../../sdk';\n\nconst ENV_URLS = getEnvUrls(Env.PRD);\n\nconst AUTH_ENDPOINT: string = ENV_URLS.authApiUrl;\nexport const AUTH_NONCE_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/nonce`;\nexport const AUTH_LOGIN_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/srp/login`;\n\nconst OIDC_ENDPOINT: string = ENV_URLS.oidcApiUrl || '';\nexport const OIDC_TOKENS_ENDPOINT = `${OIDC_ENDPOINT}/oauth2/token`;\nconst OIDC_CLIENT_ID = (platform: 'mobile' | 'extension') => {\n if (platform === 'extension') {\n return getOidcClientId(Env.PRD, Platform.EXTENSION);\n }\n if (platform === 'mobile') {\n return getOidcClientId(Env.PRD, Platform.MOBILE);\n }\n\n throw new Error(`Unsupported platform - ${platform as string}`);\n};\nconst OIDC_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:jwt-bearer';\n\nexport type NonceResponse = {\n nonce: string;\n};\n\n/**\n * Auth Service - Get Nonce. Used for the initial JWTBearer flow\n *\n * @param publicKey - public key to associate a nonce with\n * @returns the nonce or null if failed\n */\nexport async function getNonce(publicKey: string): Promise<string | null> {\n const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);\n nonceUrl.searchParams.set('identifier', publicKey);\n\n try {\n const nonceResponse = await fetch(nonceUrl.toString());\n if (!nonceResponse.ok) {\n return null;\n }\n\n const nonceJson: NonceResponse = await nonceResponse.json();\n return nonceJson?.nonce ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to get nonce', e);\n return null;\n }\n}\n\n/**\n * The Login API Server Response Shape\n */\nexport type LoginResponse = {\n token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: string;\n /**\n * Contains anonymous information about the logged in profile.\n *\n * @property identifier_id - a deterministic unique identifier on the method used to sign in\n * @property profile_id - a unique id for a given profile\n * @property metametrics_id - an anonymous server id\n */\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: string;\n };\n};\n\ntype ClientMetaMetrics = {\n metametricsId: string;\n agent: 'extension' | 'mobile';\n};\n\n/**\n * Auth Service - Login. Will perform login with a given signature and will return a single use JWT Token.\n *\n * @param rawMessage - the original message before signing\n * @param signature - the signed message\n * @param clientMetaMetrics - optional client metametrics id (to associate on backend)\n * @returns The Login Response\n */\nexport async function login(\n rawMessage: string,\n signature: string,\n clientMetaMetrics: ClientMetaMetrics,\n): Promise<LoginResponse | null> {\n try {\n const response = await fetch(AUTH_LOGIN_ENDPOINT, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n signature,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n raw_message: rawMessage,\n metametrics: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: clientMetaMetrics.metametricsId,\n agent: clientMetaMetrics.agent,\n },\n }),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const loginResponse: LoginResponse = await response.json();\n return loginResponse ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to login', e);\n return null;\n }\n}\n\n/**\n * The Auth API Token Response Shape\n */\nexport type OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: number;\n};\n\n/**\n * OIDC Service - Access Token. Trades the Auth Token for an access token (to be used for other authenticated endpoints)\n * NOTE - the access token is short lived, which means it is best practice to validate session before calling authenticated endpoints\n *\n * @param jwtToken - the JWT Auth Token, received from `/login`\n * @param platform - the OIDC platform to retrieve access token\n * @returns JWT Access token to store and use on authorized endpoints.\n */\nexport async function getAccessToken(\n jwtToken: string,\n platform: ClientMetaMetrics['agent'],\n): Promise<string | null> {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded',\n });\n\n const urlEncodedBody = new URLSearchParams();\n urlEncodedBody.append('grant_type', OIDC_GRANT_TYPE);\n urlEncodedBody.append('client_id', OIDC_CLIENT_ID(platform));\n urlEncodedBody.append('assertion', jwtToken);\n\n try {\n const response = await fetch(OIDC_TOKENS_ENDPOINT, {\n method: 'POST',\n headers,\n body: urlEncodedBody.toString(),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const accessTokenResponse: OAuthTokenResponse = await response.json();\n return accessTokenResponse?.access_token ?? null;\n } catch (e) {\n console.error(\n 'authentication-controller/services: unable to get access token',\n e,\n );\n return null;\n }\n}\n\n/**\n * Utility to create the raw login message for the JWT bearer flow (via SRP)\n *\n * @param nonce - nonce received from `/nonce` endpoint\n * @param publicKey - public key used to retrieve nonce and for message signing\n * @returns Raw Message which will be used for signing & logging in.\n */\nexport function createLoginRawMessage(\n nonce: string,\n publicKey: string,\n): `metamask:${string}:${string}` {\n return `metamask:${nonce}:${publicKey}` as const;\n}\n"]}
|
|
@@ -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
|
|
3
|
+
var _chunkB6CSNLGEjs = require('./chunk-B6CSNLGE.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkAK7OTIWAjs = require('./chunk-AK7OTIWA.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
49
|
-
const path =
|
|
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-
|
|
70
|
+
//# sourceMappingURL=chunk-5SXXO4MV.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
encryption_default
|
|
3
|
-
} from "./chunk-
|
|
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-
|
|
11
|
+
//# sourceMappingURL=chunk-5TOWF6UW.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getEnvUrls,
|
|
3
3
|
getOidcClientId
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FQ5SDMRE.mjs";
|
|
5
5
|
|
|
6
6
|
// src/controllers/authentication/services.ts
|
|
7
7
|
var ENV_URLS = getEnvUrls("prd" /* PRD */);
|
|
@@ -10,7 +10,15 @@ 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 =
|
|
13
|
+
var OIDC_CLIENT_ID = (platform) => {
|
|
14
|
+
if (platform === "extension") {
|
|
15
|
+
return getOidcClientId("prd" /* PRD */, "extension" /* EXTENSION */);
|
|
16
|
+
}
|
|
17
|
+
if (platform === "mobile") {
|
|
18
|
+
return getOidcClientId("prd" /* PRD */, "mobile" /* MOBILE */);
|
|
19
|
+
}
|
|
20
|
+
throw new Error(`Unsupported platform - ${platform}`);
|
|
21
|
+
};
|
|
14
22
|
var OIDC_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer";
|
|
15
23
|
async function getNonce(publicKey) {
|
|
16
24
|
const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);
|
|
@@ -55,13 +63,13 @@ async function login(rawMessage, signature, clientMetaMetrics) {
|
|
|
55
63
|
return null;
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
|
-
async function getAccessToken(jwtToken) {
|
|
66
|
+
async function getAccessToken(jwtToken, platform) {
|
|
59
67
|
const headers = new Headers({
|
|
60
68
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
61
69
|
});
|
|
62
70
|
const urlEncodedBody = new URLSearchParams();
|
|
63
71
|
urlEncodedBody.append("grant_type", OIDC_GRANT_TYPE);
|
|
64
|
-
urlEncodedBody.append("client_id", OIDC_CLIENT_ID);
|
|
72
|
+
urlEncodedBody.append("client_id", OIDC_CLIENT_ID(platform));
|
|
65
73
|
urlEncodedBody.append("assertion", jwtToken);
|
|
66
74
|
try {
|
|
67
75
|
const response = await fetch(OIDC_TOKENS_ENDPOINT, {
|
|
@@ -95,4 +103,4 @@ export {
|
|
|
95
103
|
getAccessToken,
|
|
96
104
|
createLoginRawMessage
|
|
97
105
|
};
|
|
98
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-7SW3CC66.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/controllers/authentication/services.ts"],"sourcesContent":["import { Env, Platform, getEnvUrls, getOidcClientId } from '../../sdk';\n\nconst ENV_URLS = getEnvUrls(Env.PRD);\n\nconst AUTH_ENDPOINT: string = ENV_URLS.authApiUrl;\nexport const AUTH_NONCE_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/nonce`;\nexport const AUTH_LOGIN_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/srp/login`;\n\nconst OIDC_ENDPOINT: string = ENV_URLS.oidcApiUrl || '';\nexport const OIDC_TOKENS_ENDPOINT = `${OIDC_ENDPOINT}/oauth2/token`;\nconst OIDC_CLIENT_ID = (platform: 'mobile' | 'extension') => {\n if (platform === 'extension') {\n return getOidcClientId(Env.PRD, Platform.EXTENSION);\n }\n if (platform === 'mobile') {\n return getOidcClientId(Env.PRD, Platform.MOBILE);\n }\n\n throw new Error(`Unsupported platform - ${platform as string}`);\n};\nconst OIDC_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:jwt-bearer';\n\nexport type NonceResponse = {\n nonce: string;\n};\n\n/**\n * Auth Service - Get Nonce. Used for the initial JWTBearer flow\n *\n * @param publicKey - public key to associate a nonce with\n * @returns the nonce or null if failed\n */\nexport async function getNonce(publicKey: string): Promise<string | null> {\n const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);\n nonceUrl.searchParams.set('identifier', publicKey);\n\n try {\n const nonceResponse = await fetch(nonceUrl.toString());\n if (!nonceResponse.ok) {\n return null;\n }\n\n const nonceJson: NonceResponse = await nonceResponse.json();\n return nonceJson?.nonce ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to get nonce', e);\n return null;\n }\n}\n\n/**\n * The Login API Server Response Shape\n */\nexport type LoginResponse = {\n token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: string;\n /**\n * Contains anonymous information about the logged in profile.\n *\n * @property identifier_id - a deterministic unique identifier on the method used to sign in\n * @property profile_id - a unique id for a given profile\n * @property metametrics_id - an anonymous server id\n */\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: string;\n };\n};\n\ntype ClientMetaMetrics = {\n metametricsId: string;\n agent: 'extension' | 'mobile';\n};\n\n/**\n * Auth Service - Login. Will perform login with a given signature and will return a single use JWT Token.\n *\n * @param rawMessage - the original message before signing\n * @param signature - the signed message\n * @param clientMetaMetrics - optional client metametrics id (to associate on backend)\n * @returns The Login Response\n */\nexport async function login(\n rawMessage: string,\n signature: string,\n clientMetaMetrics: ClientMetaMetrics,\n): Promise<LoginResponse | null> {\n try {\n const response = await fetch(AUTH_LOGIN_ENDPOINT, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n signature,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n raw_message: rawMessage,\n metametrics: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: clientMetaMetrics.metametricsId,\n agent: clientMetaMetrics.agent,\n },\n }),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const loginResponse: LoginResponse = await response.json();\n return loginResponse ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to login', e);\n return null;\n }\n}\n\n/**\n * The Auth API Token Response Shape\n */\nexport type OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: number;\n};\n\n/**\n * OIDC Service - Access Token. Trades the Auth Token for an access token (to be used for other authenticated endpoints)\n * NOTE - the access token is short lived, which means it is best practice to validate session before calling authenticated endpoints\n *\n * @param jwtToken - the JWT Auth Token, received from `/login`\n * @param platform - the OIDC platform to retrieve access token\n * @returns JWT Access token to store and use on authorized endpoints.\n */\nexport async function getAccessToken(\n jwtToken: string,\n platform: ClientMetaMetrics['agent'],\n): Promise<string | null> {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded',\n });\n\n const urlEncodedBody = new URLSearchParams();\n urlEncodedBody.append('grant_type', OIDC_GRANT_TYPE);\n urlEncodedBody.append('client_id', OIDC_CLIENT_ID(platform));\n urlEncodedBody.append('assertion', jwtToken);\n\n try {\n const response = await fetch(OIDC_TOKENS_ENDPOINT, {\n method: 'POST',\n headers,\n body: urlEncodedBody.toString(),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const accessTokenResponse: OAuthTokenResponse = await response.json();\n return accessTokenResponse?.access_token ?? null;\n } catch (e) {\n console.error(\n 'authentication-controller/services: unable to get access token',\n e,\n );\n return null;\n }\n}\n\n/**\n * Utility to create the raw login message for the JWT bearer flow (via SRP)\n *\n * @param nonce - nonce received from `/nonce` endpoint\n * @param publicKey - public key used to retrieve nonce and for message signing\n * @returns Raw Message which will be used for signing & logging in.\n */\nexport function createLoginRawMessage(\n nonce: string,\n publicKey: string,\n): `metamask:${string}:${string}` {\n return `metamask:${nonce}:${publicKey}` as const;\n}\n"],"mappings":";;;;;;AAEA,IAAM,WAAW,0BAAkB;AAEnC,IAAM,gBAAwB,SAAS;AAChC,IAAM,sBAAsB,GAAG,aAAa;AAC5C,IAAM,sBAAsB,GAAG,aAAa;AAEnD,IAAM,gBAAwB,SAAS,cAAc;AAC9C,IAAM,uBAAuB,GAAG,aAAa;AACpD,IAAM,iBAAiB,CAAC,aAAqC;AAC3D,MAAI,aAAa,aAAa;AAC5B,WAAO,4DAA2C;AAAA,EACpD;AACA,MAAI,aAAa,UAAU;AACzB,WAAO,sDAAwC;AAAA,EACjD;AAEA,QAAM,IAAI,MAAM,0BAA0B,QAAkB,EAAE;AAChE;AACA,IAAM,kBAAkB;AAYxB,eAAsB,SAAS,WAA2C;AACxE,QAAM,WAAW,IAAI,IAAI,mBAAmB;AAC5C,WAAS,aAAa,IAAI,cAAc,SAAS;AAEjD,MAAI;AACF,UAAM,gBAAgB,MAAM,MAAM,SAAS,SAAS,CAAC;AACrD,QAAI,CAAC,cAAc,IAAI;AACrB,aAAO;AAAA,IACT;AAEA,UAAM,YAA2B,MAAM,cAAc,KAAK;AAC1D,WAAO,WAAW,SAAS;AAAA,EAC7B,SAAS,GAAG;AACV,YAAQ,MAAM,2DAA2D,CAAC;AAC1E,WAAO;AAAA,EACT;AACF;AAqCA,eAAsB,MACpB,YACA,WACA,mBAC+B;AAC/B,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,qBAAqB;AAAA,MAChD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA;AAAA,QAEA,aAAa;AAAA,QACb,aAAa;AAAA;AAAA,UAEX,gBAAgB,kBAAkB;AAAA,UAClC,OAAO,kBAAkB;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,gBAA+B,MAAM,SAAS,KAAK;AACzD,WAAO,iBAAiB;AAAA,EAC1B,SAAS,GAAG;AACV,YAAQ,MAAM,uDAAuD,CAAC;AACtE,WAAO;AAAA,EACT;AACF;AAoBA,eAAsB,eACpB,UACA,UACwB;AACxB,QAAM,UAAU,IAAI,QAAQ;AAAA,IAC1B,gBAAgB;AAAA,EAClB,CAAC;AAED,QAAM,iBAAiB,IAAI,gBAAgB;AAC3C,iBAAe,OAAO,cAAc,eAAe;AACnD,iBAAe,OAAO,aAAa,eAAe,QAAQ,CAAC;AAC3D,iBAAe,OAAO,aAAa,QAAQ;AAE3C,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,sBAAsB;AAAA,MACjD,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,eAAe,SAAS;AAAA,IAChC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,sBAA0C,MAAM,SAAS,KAAK;AACpE,WAAO,qBAAqB,gBAAgB;AAAA,EAC9C,SAAS,GAAG;AACV,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AASO,SAAS,sBACd,OACA,WACgC;AAChC,SAAO,YAAY,KAAK,IAAI,SAAS;AACvC;","names":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkT3FNDVE3js = require('./chunk-T3FNDVE3.js');
|
|
4
4
|
|
|
5
5
|
// src/controllers/user-storage/encryption/index.ts
|
|
6
|
-
var encryption_default2 =
|
|
6
|
+
var encryption_default2 = _chunkT3FNDVE3js.encryption_default;
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
exports.encryption_default = encryption_default2;
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-AK7OTIWA.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSHA256Hash
|
|
3
|
-
} from "./chunk-
|
|
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-
|
|
25
|
+
//# sourceMappingURL=chunk-AUFUOKJW.mjs.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
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
|
|
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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
75
|
+
return await _chunkIGY2S5BCjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
|
|
76
76
|
}
|
|
77
77
|
async signMessage(message) {
|
|
78
|
-
return await
|
|
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
|
|
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
|
|
101
|
-
const publicKey = await
|
|
102
|
-
const rawMessage =
|
|
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
|
|
104
|
+
const authResponse = await _chunkBOET676Pjs.authenticate.call(void 0,
|
|
105
105
|
rawMessage,
|
|
106
106
|
signature,
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
_chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).type,
|
|
108
|
+
_chunkIGY2S5BCjs.__privateGet.call(void 0, this, _config).env
|
|
109
109
|
);
|
|
110
|
-
const tokenResponse = await
|
|
110
|
+
const tokenResponse = await _chunkBOET676Pjs.authorizeOIDC.call(void 0,
|
|
111
111
|
authResponse.token,
|
|
112
|
-
|
|
113
|
-
|
|
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
|
|
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-
|
|
130
|
+
//# sourceMappingURL=chunk-AVOOINGJ.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createSHA256Hash,
|
|
3
3
|
encryption_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-B5DBQDB3.mjs";
|
|
5
5
|
import {
|
|
6
6
|
getEnvUrls
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
144
|
+
//# sourceMappingURL=chunk-AXWK4Y23.mjs.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
__privateAdd,
|
|
3
3
|
__privateGet,
|
|
4
4
|
__privateMethod
|
|
5
|
-
} from "./chunk-
|
|
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-
|
|
140
|
+
//# sourceMappingURL=chunk-B5DBQDB3.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
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 =
|
|
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-
|
|
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
|
|
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) => `${
|
|
14
|
-
var PAIR_IDENTIFIERS = (env) => `${
|
|
15
|
-
var OIDC_TOKEN_URL = (env) => `${
|
|
16
|
-
var SRP_LOGIN_URL = (env) => `${
|
|
17
|
-
var SIWE_LOGIN_URL = (env) => `${
|
|
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",
|
|
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-
|
|
157
|
+
//# sourceMappingURL=chunk-BOET676P.js.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,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SIWEJwtBearerAuth
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JLDFMYAH.mjs";
|
|
4
4
|
import {
|
|
5
5
|
SRPJwtBearerAuth
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Y46NMA3V.mjs";
|
|
7
7
|
import {
|
|
8
8
|
getNonce,
|
|
9
9
|
pairIdentifiers
|
|
10
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
106
|
+
//# sourceMappingURL=chunk-FCT2LIGH.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"]}
|