@getpara/core-sdk 2.11.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 +809 -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 +812 -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,379 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __typeError = (msg) => {
10
+ throw TypeError(msg);
11
+ };
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __export = (target, all) => {
26
+ for (var name in all)
27
+ __defProp(target, name, { get: all[name], enumerable: true });
28
+ };
29
+ var __copyProps = (to, from, except, desc) => {
30
+ if (from && typeof from === "object" || typeof from === "function") {
31
+ for (let key of __getOwnPropNames(from))
32
+ if (!__hasOwnProp.call(to, key) && key !== except)
33
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
+ }
35
+ return to;
36
+ };
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
39
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
40
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
41
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
42
+ var __async = (__this, __arguments, generator) => {
43
+ return new Promise((resolve, reject) => {
44
+ var fulfilled = (value) => {
45
+ try {
46
+ step(generator.next(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var rejected = (value) => {
52
+ try {
53
+ step(generator.throw(value));
54
+ } catch (e) {
55
+ reject(e);
56
+ }
57
+ };
58
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
59
+ step((generator = generator.apply(__this, __arguments)).next());
60
+ });
61
+ };
62
+ var PortalUrlService_exports = {};
63
+ __export(PortalUrlService_exports, {
64
+ PortalUrlService: () => PortalUrlService
65
+ });
66
+ module.exports = __toCommonJS(PortalUrlService_exports);
67
+ var import_user_management_client = require("@getpara/user-management-client");
68
+ var import_url = require("../utils/url.js");
69
+ var import_utils = require("../cryptography/utils.js");
70
+ var import_phone = require("../utils/phone.js");
71
+ var import_userManagementClient = require("../external/userManagementClient.js");
72
+ var _authService, _pregenWalletService, _sessionManagementService, _walletService, _paraCoreInterface;
73
+ class PortalUrlService {
74
+ constructor(paraCore) {
75
+ __privateAdd(this, _authService);
76
+ __privateAdd(this, _pregenWalletService);
77
+ __privateAdd(this, _sessionManagementService);
78
+ __privateAdd(this, _walletService);
79
+ __privateAdd(this, _paraCoreInterface);
80
+ this.init = ({
81
+ authService,
82
+ pregenWalletService,
83
+ walletService,
84
+ sessionManagementService
85
+ }) => {
86
+ __privateSet(this, _authService, authService);
87
+ __privateSet(this, _pregenWalletService, pregenWalletService);
88
+ __privateSet(this, _walletService, walletService);
89
+ __privateSet(this, _sessionManagementService, sessionManagementService);
90
+ };
91
+ this.getPartnerURL = () => __async(this, null, function* () {
92
+ try {
93
+ const { portalUrl } = yield __privateGet(this, _paraCoreInterface).assertPartner();
94
+ return portalUrl;
95
+ } catch (e) {
96
+ if (__privateGet(this, _paraCoreInterface).isPartnerOptional) {
97
+ return void 0;
98
+ }
99
+ throw e;
100
+ }
101
+ });
102
+ /**
103
+ * URL of the portal, which can be associated with a partner id
104
+ * @param partnerId: string - id of the partner to get the portal URL for
105
+ * @returns - portal URL
106
+ */
107
+ this.getPortalURL = (isLegacy) => __async(this, null, function* () {
108
+ return __privateGet(this, _paraCoreInterface).ctx.portalUrlOverride || (yield this.getPartnerURL()) || (0, import_url.getPortalBaseURL)(__privateGet(this, _paraCoreInterface).ctx, false, false, isLegacy);
109
+ });
110
+ this.constructPortalUrl = (_0, ..._1) => __async(this, [_0, ..._1], function* (type, opts = {}) {
111
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
112
+ const [
113
+ isCreate,
114
+ isLogin,
115
+ isOnRamp,
116
+ isOAuth,
117
+ isOAuthCallback,
118
+ isTelegramLogin,
119
+ isFarcasterLogin,
120
+ isAddNewCredential,
121
+ isSwitchWallets,
122
+ isExportPrivateKey,
123
+ isTxReview
124
+ ] = [
125
+ ["createAuth", "createPassword", "createPIN"].includes(type),
126
+ ["loginAuth", "loginPassword", "loginPIN", "loginOTP", "switchWallets", "loginExternalWallet"].includes(type),
127
+ type === "onRamp",
128
+ type === "oAuth",
129
+ type === "oAuthCallback",
130
+ ["telegramLogin", "telegramLoginVerify"].includes(type),
131
+ type === "loginFarcaster",
132
+ type === "addNewCredential",
133
+ type === "switchWallets",
134
+ type === "exportPrivateKey",
135
+ type === "txReview"
136
+ ];
137
+ if (isOAuth && !opts.oAuthMethod) {
138
+ throw new Error("oAuthMethod is required for oAuth portal URLs");
139
+ }
140
+ if (isCreate || isLogin) {
141
+ __privateGet(this, _authService).assertIsAuthSet();
142
+ }
143
+ let sessionId = opts.sessionId;
144
+ if ((isLogin || isOnRamp || isTelegramLogin || isFarcasterLogin || isExportPrivateKey || isTxReview) && !sessionId) {
145
+ let session = yield __privateGet(this, _sessionManagementService).touchSession(false);
146
+ if (!session.sessionId) {
147
+ session = yield __privateGet(this, _sessionManagementService).touchSession(true);
148
+ }
149
+ sessionId = session.sessionId;
150
+ }
151
+ if (!__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair) {
152
+ yield __privateGet(this, _paraCoreInterface).setLoginEncryptionKeyPair();
153
+ }
154
+ const shouldUseLegacyPortalUrl = opts.useLegacyUrl || !!opts.addNewCredentialPasskeyId || type === "loginAuth";
155
+ const base = type === "onRamp" || isTelegramLogin ? __privateGet(this, _paraCoreInterface).ctx.portalUrlOverride || (0, import_url.getPortalBaseURL)(__privateGet(this, _paraCoreInterface).ctx, isTelegramLogin, false, shouldUseLegacyPortalUrl) : yield this.getPortalURL(shouldUseLegacyPortalUrl);
156
+ let path;
157
+ switch (type) {
158
+ case "createPassword": {
159
+ path = `/web/users/${__privateGet(this, _authService).userId}/passwords/${opts.pathId}`;
160
+ break;
161
+ }
162
+ case "createPIN": {
163
+ path = `/web/users/${__privateGet(this, _authService).userId}/pin/${opts.pathId}`;
164
+ break;
165
+ }
166
+ case "createAuth": {
167
+ path = `/web/users/${__privateGet(this, _authService).userId}/biometrics/${opts.pathId}`;
168
+ break;
169
+ }
170
+ case "loginPassword": {
171
+ path = "/web/passwords/login";
172
+ break;
173
+ }
174
+ case "loginAuth": {
175
+ path = "/web/biometrics/login";
176
+ break;
177
+ }
178
+ case "loginPIN": {
179
+ path = "/web/pin/login";
180
+ break;
181
+ }
182
+ case "txReview": {
183
+ path = `/web/users/${__privateGet(this, _authService).userId}/transaction-review/${opts.pathId}`;
184
+ break;
185
+ }
186
+ case "onRamp": {
187
+ path = `/web/users/${__privateGet(this, _authService).userId}/on-ramp-transaction/v2/${opts.pathId}`;
188
+ break;
189
+ }
190
+ case "telegramLoginVerify": {
191
+ path = `/auth/telegram/verify`;
192
+ break;
193
+ }
194
+ case "telegramLogin": {
195
+ path = `/auth/telegram`;
196
+ break;
197
+ }
198
+ case "oAuth": {
199
+ path = `/auth/${opts.oAuthMethod.toLowerCase()}`;
200
+ break;
201
+ }
202
+ case "oAuthCallback": {
203
+ path = `/auth/${opts.oAuthMethod.toLowerCase()}/callback`;
204
+ break;
205
+ }
206
+ case "loginOTP": {
207
+ path = "/auth/otp";
208
+ break;
209
+ }
210
+ case "loginFarcaster": {
211
+ path = "/auth/farcaster";
212
+ break;
213
+ }
214
+ case "switchWallets": {
215
+ path = `/auth/wallets`;
216
+ break;
217
+ }
218
+ case "addNewCredential": {
219
+ path = "/auth/add-new-credential";
220
+ break;
221
+ }
222
+ case "exportPrivateKey": {
223
+ path = `/web/users/${__privateGet(this, _authService).userId}/private-key/${opts.pathId}`;
224
+ break;
225
+ }
226
+ case "loginExternalWallet": {
227
+ path = "/auth/external-wallet";
228
+ break;
229
+ }
230
+ case "connectExternalWallet": {
231
+ path = "/auth/connect-external-wallet";
232
+ break;
233
+ }
234
+ default: {
235
+ throw new Error(`invalid URL type ${type}`);
236
+ }
237
+ }
238
+ let partner = void 0;
239
+ try {
240
+ partner = yield __privateGet(this, _paraCoreInterface).assertPartner();
241
+ } catch (e) {
242
+ if (__privateGet(this, _paraCoreInterface).isPartnerOptional) {
243
+ partner = void 0;
244
+ } else {
245
+ throw e;
246
+ }
247
+ }
248
+ const thisDevice = (_a = opts.thisDevice) != null ? _a : {
249
+ encryptionKey: (0, import_utils.getPublicKeyHex)(__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair),
250
+ sessionId
251
+ };
252
+ const params = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({
253
+ apiKey: __privateGet(this, _paraCoreInterface).ctx.apiKey,
254
+ origin: typeof window !== "undefined" ? window.location.origin : void 0,
255
+ partnerId: partner == null ? void 0 : partner.id
256
+ }, typeof window !== "undefined" && ((_b = window.location) == null ? void 0 : _b.origin) ? { origin: window.location.origin } : {}), {
257
+ 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),
258
+ portalBorderRadius: ((_e = opts.portalTheme) == null ? void 0 : _e.borderRadius) || ((_f = __privateGet(this, _paraCoreInterface).portalTheme) == null ? void 0 : _f.borderRadius),
259
+ 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),
260
+ 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),
261
+ 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),
262
+ 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,
263
+ portalPrimaryButtonColor: __privateGet(this, _paraCoreInterface).portalPrimaryButtonColor,
264
+ portalTextColor: __privateGet(this, _paraCoreInterface).portalTextColor,
265
+ portalPrimaryButtonTextColor: __privateGet(this, _paraCoreInterface).portalPrimaryButtonTextColor,
266
+ isForNewDevice: opts.isForNewDevice ? opts.isForNewDevice.toString() : void 0
267
+ }), __privateGet(this, _authService).authInfo && (isCreate || isLogin || isAddNewCredential || isOAuthCallback || isSwitchWallets || isExportPrivateKey || isTxReview) ? __spreadProps(__spreadValues({
268
+ authInfo: JSON.stringify(__privateGet(this, _authService).authInfo)
269
+ }, (0, import_user_management_client.isPhone)(__privateGet(this, _authService).authInfo.auth) ? (0, import_phone.splitPhoneNumber)(__privateGet(this, _authService).authInfo.auth.phone) : __privateGet(this, _authService).authInfo.auth), {
270
+ pfpUrl: __privateGet(this, _authService).authInfo.pfpUrl,
271
+ displayName: __privateGet(this, _authService).authInfo.displayName,
272
+ userId: __privateGet(this, _authService).userId
273
+ }) : {}), isOnRamp ? { email: __privateGet(this, _authService).email } : {}), isLogin || isOAuth || isOAuthCallback || isTelegramLogin || isFarcasterLogin || isAddNewCredential ? __spreadProps(__spreadValues({
274
+ sessionId: thisDevice.sessionId,
275
+ encryptionKey: thisDevice.encryptionKey
276
+ }, opts.newDevice ? {
277
+ newDeviceSessionLookupId: opts.newDevice.sessionId,
278
+ newDeviceEncryptionKey: opts.newDevice.encryptionKey
279
+ } : {}), {
280
+ pregenIds: JSON.stringify(__privateGet(this, _pregenWalletService).pregenIds)
281
+ }) : {}), isOAuth || isOAuthCallback || isFarcasterLogin ? {
282
+ appScheme: opts.appScheme
283
+ } : {}), 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() }), {
284
+ addNewCredentialPasskeyId: opts.addNewCredentialPasskeyId,
285
+ addNewCredentialPasswordId: opts.addNewCredentialPasswordId
286
+ }) : {}), isLogin && {
287
+ // Prior versions won't have this param which will skip the upgrade prompt
288
+ isBasicLoginUpgradeVersion: "true"
289
+ }), isExportPrivateKey || isTxReview ? {
290
+ sessionId: thisDevice.sessionId
291
+ } : {});
292
+ const url = (0, import_url.constructUrl)({ base, path, params });
293
+ if (opts.shorten) {
294
+ return yield (0, import_url.shortenUrl)(__privateGet(this, _paraCoreInterface).ctx, url, shouldUseLegacyPortalUrl);
295
+ }
296
+ return url;
297
+ });
298
+ this.getLoginUrl = (_0) => __async(this, [_0], function* ({ authMethod = "PASSKEY", shorten = false, portalTheme, sessionId }) {
299
+ if (!sessionId) {
300
+ sessionId = (yield __privateGet(this, _sessionManagementService).touchSession()).sessionLookupId;
301
+ }
302
+ __privateGet(this, _authService).assertIsAuthSet();
303
+ let urlType;
304
+ switch (authMethod) {
305
+ case "PASSKEY":
306
+ urlType = "loginAuth";
307
+ break;
308
+ case "PASSWORD":
309
+ urlType = "loginPassword";
310
+ break;
311
+ case "PIN":
312
+ urlType = "loginPIN";
313
+ break;
314
+ case "BASIC_LOGIN":
315
+ urlType = __privateGet(this, _authService).authInfo.authType === "externalWallet" ? "loginExternalWallet" : "loginOTP";
316
+ break;
317
+ default:
318
+ throw new Error(`invalid authentication method: '${authMethod}'`);
319
+ }
320
+ return this.constructPortalUrl(urlType, {
321
+ sessionId,
322
+ shorten,
323
+ portalTheme
324
+ });
325
+ });
326
+ this.getOAuthUrl = (_0) => __async(this, [_0], function* ({
327
+ method,
328
+ appScheme,
329
+ accountLinkInProgress,
330
+ sessionLookupId: _sessionLookupId,
331
+ encryptionKey,
332
+ portalCallbackParams
333
+ }) {
334
+ const sessionLookupId = _sessionLookupId != null ? _sessionLookupId : yield __privateGet(this, _authService).prepareLogin();
335
+ if (!accountLinkInProgress && !__privateGet(this, _paraCoreInterface).isPortal()) {
336
+ return yield this.constructPortalUrl("oAuth", { sessionId: sessionLookupId, oAuthMethod: method, appScheme });
337
+ }
338
+ const [portalSessionLookupId, callback] = yield Promise.all([
339
+ __privateGet(this, _paraCoreInterface).isPortal() ? __privateGet(this, _sessionManagementService).touchSession(true).then((s) => s.sessionLookupId) : Promise.resolve(void 0),
340
+ !accountLinkInProgress ? this.constructPortalUrl("oAuthCallback", __spreadValues({
341
+ sessionId: sessionLookupId,
342
+ oAuthMethod: method,
343
+ appScheme,
344
+ thisDevice: {
345
+ sessionId: sessionLookupId,
346
+ encryptionKey
347
+ }
348
+ }, __privateGet(this, _paraCoreInterface).isPortal() && {
349
+ params: portalCallbackParams,
350
+ // Build callback for legacy portal if needed
351
+ useLegacyUrl: typeof window !== "undefined" ? window.location.host.includes("usecapsule") : false
352
+ })) : Promise.resolve(false)
353
+ ]);
354
+ return (0, import_url.constructUrl)({
355
+ base: (0, import_userManagementClient.getBaseOAuthUrl)(__privateGet(this, _paraCoreInterface).ctx.env),
356
+ path: `/auth/${method.toLowerCase()}`,
357
+ params: __spreadValues(__spreadValues({
358
+ apiKey: __privateGet(this, _paraCoreInterface).ctx.apiKey,
359
+ origin: typeof window !== "undefined" ? window.location.origin : void 0,
360
+ sessionLookupId,
361
+ portalSessionLookupId,
362
+ appScheme
363
+ }, accountLinkInProgress ? {
364
+ linkedAccountId: __privateGet(this, _paraCoreInterface).accountLinkInProgress.id
365
+ } : {}), callback && { callback })
366
+ });
367
+ });
368
+ __privateSet(this, _paraCoreInterface, paraCore.getPortalUrlServiceInterface());
369
+ }
370
+ }
371
+ _authService = new WeakMap();
372
+ _pregenWalletService = new WeakMap();
373
+ _sessionManagementService = new WeakMap();
374
+ _walletService = new WeakMap();
375
+ _paraCoreInterface = new WeakMap();
376
+ // Annotate the CommonJS export names for ESM import in node:
377
+ 0 && (module.exports = {
378
+ PortalUrlService
379
+ });