@getpara/core-sdk 2.12.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/cjs/ParaCore.js +793 -2003
  2. package/dist/cjs/constants.js +4 -1
  3. package/dist/cjs/services/AuthService.js +787 -0
  4. package/dist/cjs/services/BaseAuthFlowService.js +78 -0
  5. package/dist/cjs/services/ExternalWalletService.js +386 -0
  6. package/dist/cjs/services/LoginFlowService.js +163 -0
  7. package/dist/cjs/services/PollingService.js +448 -0
  8. package/dist/cjs/services/PortalUrlService.js +379 -0
  9. package/dist/cjs/services/PregenWalletService.js +442 -0
  10. package/dist/cjs/services/SessionManagementService.js +280 -0
  11. package/dist/cjs/services/SignupFlowService.js +185 -0
  12. package/dist/cjs/services/VerificationFlowService.js +242 -0
  13. package/dist/cjs/services/WalletService.js +577 -0
  14. package/dist/cjs/services/types/AuthServiceTypes.js +15 -0
  15. package/dist/cjs/services/types/BaseAuthFlowServiceTypes.js +15 -0
  16. package/dist/cjs/services/types/ExternalWalletServiceTypes.js +15 -0
  17. package/dist/cjs/services/types/LoginFlowServiceTypes.js +15 -0
  18. package/dist/cjs/services/types/PollingServiceTypes.js +15 -0
  19. package/dist/cjs/services/types/PortalUrlServiceTypes.js +15 -0
  20. package/dist/cjs/services/types/PregenWalletServiceTypes.js +15 -0
  21. package/dist/cjs/services/types/SessionManagementServiceTypes.js +15 -0
  22. package/dist/cjs/services/types/SignupFlowServiceTypes.js +15 -0
  23. package/dist/cjs/services/types/VerificationFlowServiceTypes.js +15 -0
  24. package/dist/cjs/services/types/WalletServiceTypes.js +15 -0
  25. package/dist/cjs/services/types/index.js +15 -0
  26. package/dist/cjs/state/CoreStateManager.js +297 -0
  27. package/dist/cjs/state/actors/authenticateWithEmailOrPhone.js +50 -0
  28. package/dist/cjs/state/actors/authenticateWithExternalWallet.js +50 -0
  29. package/dist/cjs/state/actors/authenticateWithFarcaster.js +50 -0
  30. package/dist/cjs/state/actors/authenticateWithFarcasterLegacy.js +50 -0
  31. package/dist/cjs/state/actors/authenticateWithTelegram.js +50 -0
  32. package/dist/cjs/state/actors/authenticateWithTelegramLegacy.js +50 -0
  33. package/dist/cjs/state/actors/checkUserState.js +53 -0
  34. package/dist/cjs/state/actors/claimWallets.js +56 -0
  35. package/dist/cjs/state/actors/connectExternalConnectors.js +54 -0
  36. package/dist/cjs/state/actors/connectExternalWallet.js +50 -0
  37. package/dist/cjs/state/actors/createGuestWallets.js +50 -0
  38. package/dist/cjs/state/actors/createWallets.js +73 -0
  39. package/dist/cjs/state/actors/polling.js +91 -0
  40. package/dist/cjs/state/actors/processAuthentication.js +50 -0
  41. package/dist/cjs/state/actors/setupAfterLogin.js +52 -0
  42. package/dist/cjs/state/actors/setupPara.js +50 -0
  43. package/dist/cjs/state/actors/signExternalWalletVerification.js +79 -0
  44. package/dist/cjs/state/actors/switchExternalWallet.js +50 -0
  45. package/dist/cjs/state/actors/verifyExternalWallet.js +50 -0
  46. package/dist/cjs/state/actors/verifyNewAccount.js +50 -0
  47. package/dist/cjs/state/actors/waitForExternalWalletProviders.js +54 -0
  48. package/dist/cjs/state/machines/authStateMachine.helpers.js +137 -0
  49. package/dist/cjs/state/machines/authStateMachine.js +1084 -0
  50. package/dist/cjs/state/machines/coreStateMachine.js +383 -0
  51. package/dist/cjs/state/machines/walletStateMachine.js +437 -0
  52. package/dist/cjs/state/types/auth.js +15 -0
  53. package/dist/cjs/state/types/core.js +15 -0
  54. package/dist/cjs/state/types/wallet.js +15 -0
  55. package/dist/cjs/types/{auth.js → accountLinking.js} +3 -3
  56. package/dist/cjs/types/authState.js +15 -0
  57. package/dist/cjs/types/coreApi.js +3 -1
  58. package/dist/cjs/types/index.js +2 -2
  59. package/dist/cjs/types/serviceInterfaces.js +15 -0
  60. package/dist/cjs/types/util.js +15 -0
  61. package/dist/cjs/utils/formatting.js +6 -0
  62. package/dist/cjs/utils/retryBackoff.js +30 -0
  63. package/dist/cjs/utils/stateErrorHelpers.js +60 -0
  64. package/dist/cjs/utils/stateListener.js +129 -0
  65. package/dist/esm/ParaCore.js +796 -2031
  66. package/dist/esm/constants.js +3 -1
  67. package/dist/esm/services/AuthService.js +717 -0
  68. package/dist/esm/services/BaseAuthFlowService.js +25 -0
  69. package/dist/esm/services/ExternalWalletService.js +327 -0
  70. package/dist/esm/services/LoginFlowService.js +97 -0
  71. package/dist/esm/services/PollingService.js +389 -0
  72. package/dist/esm/services/PortalUrlService.js +320 -0
  73. package/dist/esm/services/PregenWalletService.js +393 -0
  74. package/dist/esm/services/SessionManagementService.js +236 -0
  75. package/dist/esm/services/SignupFlowService.js +119 -0
  76. package/dist/esm/services/VerificationFlowService.js +178 -0
  77. package/dist/esm/services/WalletService.js +514 -0
  78. package/dist/esm/services/types/AuthServiceTypes.js +0 -0
  79. package/dist/esm/services/types/BaseAuthFlowServiceTypes.js +0 -0
  80. package/dist/esm/services/types/ExternalWalletServiceTypes.js +0 -0
  81. package/dist/esm/services/types/LoginFlowServiceTypes.js +0 -0
  82. package/dist/esm/services/types/PollingServiceTypes.js +0 -0
  83. package/dist/esm/services/types/PortalUrlServiceTypes.js +0 -0
  84. package/dist/esm/services/types/PregenWalletServiceTypes.js +0 -0
  85. package/dist/esm/services/types/SessionManagementServiceTypes.js +0 -0
  86. package/dist/esm/services/types/SignupFlowServiceTypes.js +0 -0
  87. package/dist/esm/services/types/VerificationFlowServiceTypes.js +0 -0
  88. package/dist/esm/services/types/WalletServiceTypes.js +0 -0
  89. package/dist/esm/services/types/index.js +0 -0
  90. package/dist/esm/state/CoreStateManager.js +261 -0
  91. package/dist/esm/state/actors/authenticateWithEmailOrPhone.js +10 -0
  92. package/dist/esm/state/actors/authenticateWithExternalWallet.js +10 -0
  93. package/dist/esm/state/actors/authenticateWithFarcaster.js +10 -0
  94. package/dist/esm/state/actors/authenticateWithFarcasterLegacy.js +10 -0
  95. package/dist/esm/state/actors/authenticateWithTelegram.js +10 -0
  96. package/dist/esm/state/actors/authenticateWithTelegramLegacy.js +10 -0
  97. package/dist/esm/state/actors/checkUserState.js +13 -0
  98. package/dist/esm/state/actors/claimWallets.js +16 -0
  99. package/dist/esm/state/actors/connectExternalConnectors.js +14 -0
  100. package/dist/esm/state/actors/connectExternalWallet.js +10 -0
  101. package/dist/esm/state/actors/createGuestWallets.js +10 -0
  102. package/dist/esm/state/actors/createWallets.js +20 -0
  103. package/dist/esm/state/actors/polling.js +55 -0
  104. package/dist/esm/state/actors/processAuthentication.js +10 -0
  105. package/dist/esm/state/actors/setupAfterLogin.js +12 -0
  106. package/dist/esm/state/actors/setupPara.js +10 -0
  107. package/dist/esm/state/actors/signExternalWalletVerification.js +15 -0
  108. package/dist/esm/state/actors/switchExternalWallet.js +10 -0
  109. package/dist/esm/state/actors/verifyExternalWallet.js +10 -0
  110. package/dist/esm/state/actors/verifyNewAccount.js +10 -0
  111. package/dist/esm/state/actors/waitForExternalWalletProviders.js +14 -0
  112. package/dist/esm/state/machines/authStateMachine.helpers.js +92 -0
  113. package/dist/esm/state/machines/authStateMachine.js +1039 -0
  114. package/dist/esm/state/machines/coreStateMachine.js +343 -0
  115. package/dist/esm/state/machines/walletStateMachine.js +382 -0
  116. package/dist/esm/state/types/auth.js +0 -0
  117. package/dist/esm/state/types/core.js +0 -0
  118. package/dist/esm/state/types/wallet.js +0 -0
  119. package/dist/esm/types/authState.js +0 -0
  120. package/dist/esm/types/coreApi.js +3 -1
  121. package/dist/esm/types/index.js +1 -1
  122. package/dist/esm/types/serviceInterfaces.js +0 -0
  123. package/dist/esm/types/util.js +0 -0
  124. package/dist/esm/utils/formatting.js +6 -0
  125. package/dist/esm/utils/retryBackoff.js +7 -0
  126. package/dist/esm/utils/stateErrorHelpers.js +37 -0
  127. package/dist/esm/utils/stateListener.js +106 -0
  128. package/dist/types/ParaCore.d.ts +190 -119
  129. package/dist/types/PlatformUtils.d.ts +23 -0
  130. package/dist/types/constants.d.ts +1 -0
  131. package/dist/types/index.d.ts +4 -2
  132. package/dist/types/services/AuthService.d.ts +72 -0
  133. package/dist/types/services/BaseAuthFlowService.d.ts +28 -0
  134. package/dist/types/services/ExternalWalletService.d.ts +44 -0
  135. package/dist/types/services/LoginFlowService.d.ts +9 -0
  136. package/dist/types/services/PollingService.d.ts +35 -0
  137. package/dist/types/services/PortalUrlService.d.ts +26 -0
  138. package/dist/types/services/PregenWalletService.d.ts +38 -0
  139. package/dist/types/services/SessionManagementService.d.ts +28 -0
  140. package/dist/types/services/SignupFlowService.d.ts +10 -0
  141. package/dist/types/services/VerificationFlowService.d.ts +17 -0
  142. package/dist/types/services/WalletService.d.ts +54 -0
  143. package/dist/types/services/types/AuthServiceTypes.d.ts +147 -0
  144. package/dist/types/services/types/BaseAuthFlowServiceTypes.d.ts +4 -0
  145. package/dist/types/services/types/ExternalWalletServiceTypes.d.ts +67 -0
  146. package/dist/types/services/types/LoginFlowServiceTypes.d.ts +19 -0
  147. package/dist/types/services/types/PollingServiceTypes.d.ts +82 -0
  148. package/dist/types/services/types/PortalUrlServiceTypes.d.ts +46 -0
  149. package/dist/types/services/types/PregenWalletServiceTypes.d.ts +73 -0
  150. package/dist/types/services/types/SessionManagementServiceTypes.d.ts +27 -0
  151. package/dist/types/services/types/SignupFlowServiceTypes.d.ts +18 -0
  152. package/dist/types/services/types/VerificationFlowServiceTypes.d.ts +90 -0
  153. package/dist/types/services/types/WalletServiceTypes.d.ts +109 -0
  154. package/dist/types/services/types/index.d.ts +11 -0
  155. package/dist/types/state/CoreStateManager.d.ts +36 -0
  156. package/dist/types/state/actors/authenticateWithEmailOrPhone.d.ts +8 -0
  157. package/dist/types/state/actors/authenticateWithExternalWallet.d.ts +8 -0
  158. package/dist/types/state/actors/authenticateWithFarcaster.d.ts +3 -0
  159. package/dist/types/state/actors/authenticateWithFarcasterLegacy.d.ts +3 -0
  160. package/dist/types/state/actors/authenticateWithTelegram.d.ts +3 -0
  161. package/dist/types/state/actors/authenticateWithTelegramLegacy.d.ts +8 -0
  162. package/dist/types/state/actors/checkUserState.d.ts +6 -0
  163. package/dist/types/state/actors/claimWallets.d.ts +8 -0
  164. package/dist/types/state/actors/connectExternalConnectors.d.ts +4 -0
  165. package/dist/types/state/actors/connectExternalWallet.d.ts +3 -0
  166. package/dist/types/state/actors/createGuestWallets.d.ts +3 -0
  167. package/dist/types/state/actors/createWallets.d.ts +10 -0
  168. package/dist/types/state/actors/polling.d.ts +3 -0
  169. package/dist/types/state/actors/processAuthentication.d.ts +10 -0
  170. package/dist/types/state/actors/setupAfterLogin.d.ts +5 -0
  171. package/dist/types/state/actors/setupPara.d.ts +2 -0
  172. package/dist/types/state/actors/signExternalWalletVerification.d.ts +7 -0
  173. package/dist/types/state/actors/switchExternalWallet.d.ts +3 -0
  174. package/dist/types/state/actors/verifyExternalWallet.d.ts +8 -0
  175. package/dist/types/state/actors/verifyNewAccount.d.ts +8 -0
  176. package/dist/types/state/actors/waitForExternalWalletProviders.d.ts +2 -0
  177. package/dist/types/state/machines/authStateMachine.d.ts +2570 -0
  178. package/dist/types/state/machines/authStateMachine.helpers.d.ts +57 -0
  179. package/dist/types/state/machines/coreStateMachine.d.ts +22033 -0
  180. package/dist/types/state/machines/walletStateMachine.d.ts +1049 -0
  181. package/dist/types/state/types/auth.d.ts +113 -0
  182. package/dist/types/state/types/core.d.ts +114 -0
  183. package/dist/types/state/types/wallet.d.ts +76 -0
  184. package/dist/types/types/authState.d.ts +66 -0
  185. package/dist/types/types/config.d.ts +5 -0
  186. package/dist/types/types/coreApi.d.ts +148 -298
  187. package/dist/types/types/index.d.ts +3 -1
  188. package/dist/types/types/methods.d.ts +1 -191
  189. package/dist/types/types/serviceInterfaces.d.ts +125 -0
  190. package/dist/types/types/util.d.ts +43 -0
  191. package/dist/types/types/wallet.d.ts +3 -1
  192. package/dist/types/utils/retryBackoff.d.ts +2 -0
  193. package/dist/types/utils/stateErrorHelpers.d.ts +2 -0
  194. package/dist/types/utils/stateListener.d.ts +47 -0
  195. package/package.json +5 -4
  196. /package/dist/esm/types/{auth.js → accountLinking.js} +0 -0
  197. /package/dist/types/types/{auth.d.ts → accountLinking.d.ts} +0 -0
@@ -0,0 +1,320 @@
1
+ import {
2
+ __async,
3
+ __privateAdd,
4
+ __privateGet,
5
+ __privateSet,
6
+ __spreadProps,
7
+ __spreadValues
8
+ } from "../chunk-7B52C2XE.js";
9
+ var _authService, _pregenWalletService, _sessionManagementService, _walletService, _paraCoreInterface;
10
+ import { isPhone } from "@getpara/user-management-client";
11
+ import { constructUrl, getPortalBaseURL, shortenUrl } from "../utils/url.js";
12
+ import { getPublicKeyHex } from "../cryptography/utils.js";
13
+ import { splitPhoneNumber } from "../utils/phone.js";
14
+ import { getBaseOAuthUrl } from "../external/userManagementClient.js";
15
+ class PortalUrlService {
16
+ constructor(paraCore) {
17
+ __privateAdd(this, _authService);
18
+ __privateAdd(this, _pregenWalletService);
19
+ __privateAdd(this, _sessionManagementService);
20
+ __privateAdd(this, _walletService);
21
+ __privateAdd(this, _paraCoreInterface);
22
+ this.init = ({
23
+ authService,
24
+ pregenWalletService,
25
+ walletService,
26
+ sessionManagementService
27
+ }) => {
28
+ __privateSet(this, _authService, authService);
29
+ __privateSet(this, _pregenWalletService, pregenWalletService);
30
+ __privateSet(this, _walletService, walletService);
31
+ __privateSet(this, _sessionManagementService, sessionManagementService);
32
+ };
33
+ this.getPartnerURL = () => __async(this, null, function* () {
34
+ try {
35
+ const { portalUrl } = yield __privateGet(this, _paraCoreInterface).assertPartner();
36
+ return portalUrl;
37
+ } catch (e) {
38
+ if (__privateGet(this, _paraCoreInterface).isPartnerOptional) {
39
+ return void 0;
40
+ }
41
+ throw e;
42
+ }
43
+ });
44
+ /**
45
+ * URL of the portal, which can be associated with a partner id
46
+ * @param partnerId: string - id of the partner to get the portal URL for
47
+ * @returns - portal URL
48
+ */
49
+ this.getPortalURL = (isLegacy) => __async(this, null, function* () {
50
+ return __privateGet(this, _paraCoreInterface).ctx.portalUrlOverride || (yield this.getPartnerURL()) || getPortalBaseURL(__privateGet(this, _paraCoreInterface).ctx, false, false, isLegacy);
51
+ });
52
+ this.constructPortalUrl = (_0, ..._1) => __async(this, [_0, ..._1], function* (type, opts = {}) {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
54
+ const [
55
+ isCreate,
56
+ isLogin,
57
+ isOnRamp,
58
+ isOAuth,
59
+ isOAuthCallback,
60
+ isTelegramLogin,
61
+ isFarcasterLogin,
62
+ isAddNewCredential,
63
+ isSwitchWallets,
64
+ isExportPrivateKey,
65
+ isTxReview
66
+ ] = [
67
+ ["createAuth", "createPassword", "createPIN"].includes(type),
68
+ ["loginAuth", "loginPassword", "loginPIN", "loginOTP", "switchWallets", "loginExternalWallet"].includes(type),
69
+ type === "onRamp",
70
+ type === "oAuth",
71
+ type === "oAuthCallback",
72
+ ["telegramLogin", "telegramLoginVerify"].includes(type),
73
+ type === "loginFarcaster",
74
+ type === "addNewCredential",
75
+ type === "switchWallets",
76
+ type === "exportPrivateKey",
77
+ type === "txReview"
78
+ ];
79
+ if (isOAuth && !opts.oAuthMethod) {
80
+ throw new Error("oAuthMethod is required for oAuth portal URLs");
81
+ }
82
+ if (isCreate || isLogin) {
83
+ __privateGet(this, _authService).assertIsAuthSet();
84
+ }
85
+ let sessionId = opts.sessionId;
86
+ if ((isLogin || isOnRamp || isTelegramLogin || isFarcasterLogin || isExportPrivateKey || isTxReview) && !sessionId) {
87
+ let session = yield __privateGet(this, _sessionManagementService).touchSession(false);
88
+ if (!session.sessionId) {
89
+ session = yield __privateGet(this, _sessionManagementService).touchSession(true);
90
+ }
91
+ sessionId = session.sessionId;
92
+ }
93
+ if (!__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair) {
94
+ yield __privateGet(this, _paraCoreInterface).setLoginEncryptionKeyPair();
95
+ }
96
+ const shouldUseLegacyPortalUrl = opts.useLegacyUrl || !!opts.addNewCredentialPasskeyId || type === "loginAuth";
97
+ const base = type === "onRamp" || isTelegramLogin ? __privateGet(this, _paraCoreInterface).ctx.portalUrlOverride || getPortalBaseURL(__privateGet(this, _paraCoreInterface).ctx, isTelegramLogin, false, shouldUseLegacyPortalUrl) : yield this.getPortalURL(shouldUseLegacyPortalUrl);
98
+ let path;
99
+ switch (type) {
100
+ case "createPassword": {
101
+ path = `/web/users/${__privateGet(this, _authService).userId}/passwords/${opts.pathId}`;
102
+ break;
103
+ }
104
+ case "createPIN": {
105
+ path = `/web/users/${__privateGet(this, _authService).userId}/pin/${opts.pathId}`;
106
+ break;
107
+ }
108
+ case "createAuth": {
109
+ path = `/web/users/${__privateGet(this, _authService).userId}/biometrics/${opts.pathId}`;
110
+ break;
111
+ }
112
+ case "loginPassword": {
113
+ path = "/web/passwords/login";
114
+ break;
115
+ }
116
+ case "loginAuth": {
117
+ path = "/web/biometrics/login";
118
+ break;
119
+ }
120
+ case "loginPIN": {
121
+ path = "/web/pin/login";
122
+ break;
123
+ }
124
+ case "txReview": {
125
+ path = `/web/users/${__privateGet(this, _authService).userId}/transaction-review/${opts.pathId}`;
126
+ break;
127
+ }
128
+ case "onRamp": {
129
+ path = `/web/users/${__privateGet(this, _authService).userId}/on-ramp-transaction/v2/${opts.pathId}`;
130
+ break;
131
+ }
132
+ case "telegramLoginVerify": {
133
+ path = `/auth/telegram/verify`;
134
+ break;
135
+ }
136
+ case "telegramLogin": {
137
+ path = `/auth/telegram`;
138
+ break;
139
+ }
140
+ case "oAuth": {
141
+ path = `/auth/${opts.oAuthMethod.toLowerCase()}`;
142
+ break;
143
+ }
144
+ case "oAuthCallback": {
145
+ path = `/auth/${opts.oAuthMethod.toLowerCase()}/callback`;
146
+ break;
147
+ }
148
+ case "loginOTP": {
149
+ path = "/auth/otp";
150
+ break;
151
+ }
152
+ case "loginFarcaster": {
153
+ path = "/auth/farcaster";
154
+ break;
155
+ }
156
+ case "switchWallets": {
157
+ path = `/auth/wallets`;
158
+ break;
159
+ }
160
+ case "addNewCredential": {
161
+ path = "/auth/add-new-credential";
162
+ break;
163
+ }
164
+ case "exportPrivateKey": {
165
+ path = `/web/users/${__privateGet(this, _authService).userId}/private-key/${opts.pathId}`;
166
+ break;
167
+ }
168
+ case "loginExternalWallet": {
169
+ path = "/auth/external-wallet";
170
+ break;
171
+ }
172
+ case "connectExternalWallet": {
173
+ path = "/auth/connect-external-wallet";
174
+ break;
175
+ }
176
+ default: {
177
+ throw new Error(`invalid URL type ${type}`);
178
+ }
179
+ }
180
+ let partner = void 0;
181
+ try {
182
+ partner = yield __privateGet(this, _paraCoreInterface).assertPartner();
183
+ } catch (e) {
184
+ if (__privateGet(this, _paraCoreInterface).isPartnerOptional) {
185
+ partner = void 0;
186
+ } else {
187
+ throw e;
188
+ }
189
+ }
190
+ const thisDevice = (_a = opts.thisDevice) != null ? _a : {
191
+ encryptionKey: getPublicKeyHex(__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair),
192
+ sessionId
193
+ };
194
+ const params = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
195
+ apiKey: __privateGet(this, _paraCoreInterface).ctx.apiKey,
196
+ origin: typeof window !== "undefined" ? window.location.origin : void 0,
197
+ partnerId: partner == null ? void 0 : partner.id
198
+ }, typeof window !== "undefined" && ((_b = window.location) == null ? void 0 : _b.origin) ? { origin: window.location.origin } : {}), {
199
+ portalFont: ((_c = opts.portalTheme) == null ? void 0 : _c.font) || ((_d = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _d.font) || (partner == null ? void 0 : partner.font),
200
+ portalBorderRadius: ((_e = opts.portalTheme) == null ? void 0 : _e.borderRadius) || ((_f = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _f.borderRadius),
201
+ portalThemeMode: ((_g = opts.portalTheme) == null ? void 0 : _g.mode) || ((_h = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _h.mode) || (partner == null ? void 0 : partner.themeMode),
202
+ portalAccentColor: ((_i = opts.portalTheme) == null ? void 0 : _i.accentColor) || ((_j = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _j.accentColor) || (partner == null ? void 0 : partner.accentColor),
203
+ portalForegroundColor: ((_k = opts.portalTheme) == null ? void 0 : _k.foregroundColor) || ((_l = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _l.foregroundColor) || (partner == null ? void 0 : partner.foregroundColor),
204
+ portalBackgroundColor: ((_m = opts.portalTheme) == null ? void 0 : _m.backgroundColor) || ((_n = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _n.backgroundColor) || (partner == null ? void 0 : partner.backgroundColor) || __privateGet(this, _paraCoreInterface).portalBackgroundColor,
205
+ portalPrimaryButtonColor: __privateGet(this, _paraCoreInterface).portalPrimaryButtonColor,
206
+ portalTextColor: __privateGet(this, _paraCoreInterface).portalTextColor,
207
+ portalPrimaryButtonTextColor: __privateGet(this, _paraCoreInterface).portalPrimaryButtonTextColor,
208
+ isForNewDevice: opts.isForNewDevice ? opts.isForNewDevice.toString() : void 0
209
+ }), __privateGet(this, _authService).authInfo && (isCreate || isLogin || isAddNewCredential || isOAuthCallback || isSwitchWallets || isExportPrivateKey || isTxReview) ? __spreadProps(__spreadValues({
210
+ authInfo: JSON.stringify(__privateGet(this, _authService).authInfo)
211
+ }, isPhone(__privateGet(this, _authService).authInfo.auth) ? splitPhoneNumber(__privateGet(this, _authService).authInfo.auth.phone) : __privateGet(this, _authService).authInfo.auth), {
212
+ pfpUrl: __privateGet(this, _authService).authInfo.pfpUrl,
213
+ displayName: __privateGet(this, _authService).authInfo.displayName,
214
+ userId: __privateGet(this, _authService).userId
215
+ }) : {}), isOnRamp ? { email: __privateGet(this, _authService).email } : {}), isLogin || isOAuth || isOAuthCallback || isTelegramLogin || isFarcasterLogin || isAddNewCredential ? __spreadProps(__spreadValues({
216
+ sessionId: thisDevice.sessionId,
217
+ encryptionKey: thisDevice.encryptionKey
218
+ }, opts.newDevice ? {
219
+ newDeviceSessionLookupId: opts.newDevice.sessionId,
220
+ newDeviceEncryptionKey: opts.newDevice.encryptionKey
221
+ } : {}), {
222
+ pregenIds: JSON.stringify(__privateGet(this, _pregenWalletService).pregenIds)
223
+ }) : {}), isOAuth || isOAuthCallback || isFarcasterLogin ? {
224
+ appScheme: opts.appScheme
225
+ } : {}), isTelegramLogin ? { isEmbed: "true" } : {}), isSwitchWallets ? __spreadValues(__spreadValues({}, __privateGet(this, _walletService).currentWalletIds ? { currentWalletIds: JSON.stringify(__privateGet(this, _walletService).currentWalletIds) } : {}), __privateGet(this, _authService).userId ? { userId: __privateGet(this, _authService).userId } : {}) : {}), opts.params || {}), isAddNewCredential ? __spreadProps(__spreadValues({}, opts.addNewCredentialType && { addNewCredentialType: opts.addNewCredentialType.toString() }), {
226
+ addNewCredentialPasskeyId: opts.addNewCredentialPasskeyId,
227
+ addNewCredentialPasswordId: opts.addNewCredentialPasswordId
228
+ }) : {}), isLogin && {
229
+ // Prior versions won't have this param which will skip the upgrade prompt
230
+ isBasicLoginUpgradeVersion: "true"
231
+ }), isExportPrivateKey || isTxReview ? {
232
+ sessionId: thisDevice.sessionId
233
+ } : {});
234
+ const url = constructUrl({ base, path, params });
235
+ if (opts.shorten) {
236
+ return yield shortenUrl(__privateGet(this, _paraCoreInterface).ctx, url, shouldUseLegacyPortalUrl);
237
+ }
238
+ return url;
239
+ });
240
+ this.getLoginUrl = (_0) => __async(this, [_0], function* ({ authMethod = "PASSKEY", shorten = false, portalTheme, sessionId }) {
241
+ if (!sessionId) {
242
+ sessionId = (yield __privateGet(this, _sessionManagementService).touchSession()).sessionLookupId;
243
+ }
244
+ __privateGet(this, _authService).assertIsAuthSet();
245
+ let urlType;
246
+ switch (authMethod) {
247
+ case "PASSKEY":
248
+ urlType = "loginAuth";
249
+ break;
250
+ case "PASSWORD":
251
+ urlType = "loginPassword";
252
+ break;
253
+ case "PIN":
254
+ urlType = "loginPIN";
255
+ break;
256
+ case "BASIC_LOGIN":
257
+ urlType = __privateGet(this, _authService).authInfo.authType === "externalWallet" ? "loginExternalWallet" : "loginOTP";
258
+ break;
259
+ default:
260
+ throw new Error(`invalid authentication method: '${authMethod}'`);
261
+ }
262
+ return this.constructPortalUrl(urlType, {
263
+ sessionId,
264
+ shorten,
265
+ portalTheme
266
+ });
267
+ });
268
+ this.getOAuthUrl = (_0) => __async(this, [_0], function* ({
269
+ method,
270
+ appScheme,
271
+ accountLinkInProgress,
272
+ sessionLookupId: _sessionLookupId,
273
+ encryptionKey,
274
+ portalCallbackParams
275
+ }) {
276
+ const sessionLookupId = _sessionLookupId != null ? _sessionLookupId : yield __privateGet(this, _authService).prepareLogin();
277
+ if (!accountLinkInProgress && !__privateGet(this, _paraCoreInterface).isPortal()) {
278
+ return yield this.constructPortalUrl("oAuth", { sessionId: sessionLookupId, oAuthMethod: method, appScheme });
279
+ }
280
+ const [portalSessionLookupId, callback] = yield Promise.all([
281
+ __privateGet(this, _paraCoreInterface).isPortal() ? __privateGet(this, _sessionManagementService).touchSession(true).then((s) => s.sessionLookupId) : Promise.resolve(void 0),
282
+ !accountLinkInProgress ? this.constructPortalUrl("oAuthCallback", __spreadValues({
283
+ sessionId: sessionLookupId,
284
+ oAuthMethod: method,
285
+ appScheme,
286
+ thisDevice: {
287
+ sessionId: sessionLookupId,
288
+ encryptionKey
289
+ }
290
+ }, __privateGet(this, _paraCoreInterface).isPortal() && {
291
+ params: portalCallbackParams,
292
+ // Build callback for legacy portal if needed
293
+ useLegacyUrl: typeof window !== "undefined" ? window.location.host.includes("usecapsule") : false
294
+ })) : Promise.resolve(false)
295
+ ]);
296
+ return constructUrl({
297
+ base: getBaseOAuthUrl(__privateGet(this, _paraCoreInterface).ctx.env),
298
+ path: `/auth/${method.toLowerCase()}`,
299
+ params: __spreadValues(__spreadValues({
300
+ apiKey: __privateGet(this, _paraCoreInterface).ctx.apiKey,
301
+ origin: typeof window !== "undefined" ? window.location.origin : void 0,
302
+ sessionLookupId,
303
+ portalSessionLookupId,
304
+ appScheme
305
+ }, accountLinkInProgress ? {
306
+ linkedAccountId: __privateGet(this, _paraCoreInterface).accountLinkInProgress.id
307
+ } : {}), callback && { callback })
308
+ });
309
+ });
310
+ __privateSet(this, _paraCoreInterface, paraCore.getPortalUrlServiceInterface());
311
+ }
312
+ }
313
+ _authService = new WeakMap();
314
+ _pregenWalletService = new WeakMap();
315
+ _sessionManagementService = new WeakMap();
316
+ _walletService = new WeakMap();
317
+ _paraCoreInterface = new WeakMap();
318
+ export {
319
+ PortalUrlService
320
+ };