@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,787 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __typeError = (msg) => {
12
+ throw TypeError(msg);
13
+ };
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ var __objRest = (source, exclude) => {
28
+ var target = {};
29
+ for (var prop in source)
30
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
31
+ target[prop] = source[prop];
32
+ if (source != null && __getOwnPropSymbols)
33
+ for (var prop of __getOwnPropSymbols(source)) {
34
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
35
+ target[prop] = source[prop];
36
+ }
37
+ return target;
38
+ };
39
+ var __export = (target, all) => {
40
+ for (var name in all)
41
+ __defProp(target, name, { get: all[name], enumerable: true });
42
+ };
43
+ var __copyProps = (to, from, except, desc) => {
44
+ if (from && typeof from === "object" || typeof from === "function") {
45
+ for (let key of __getOwnPropNames(from))
46
+ if (!__hasOwnProp.call(to, key) && key !== except)
47
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
48
+ }
49
+ return to;
50
+ };
51
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
52
+ // If the importer is in node compatibility mode or this is not an ESM
53
+ // file that has been converted to a CommonJS file using a Babel-
54
+ // compatible transform (i.e. "__esModule" has not been set), then set
55
+ // "default" to the CommonJS "module.exports" for node compatibility.
56
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
57
+ mod
58
+ ));
59
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
60
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
61
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
62
+ 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);
63
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
64
+ var __async = (__this, __arguments, generator) => {
65
+ return new Promise((resolve, reject) => {
66
+ var fulfilled = (value) => {
67
+ try {
68
+ step(generator.next(value));
69
+ } catch (e) {
70
+ reject(e);
71
+ }
72
+ };
73
+ var rejected = (value) => {
74
+ try {
75
+ step(generator.throw(value));
76
+ } catch (e) {
77
+ reject(e);
78
+ }
79
+ };
80
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
81
+ step((generator = generator.apply(__this, __arguments)).next());
82
+ });
83
+ };
84
+ var AuthService_exports = {};
85
+ __export(AuthService_exports, {
86
+ AuthService: () => AuthService
87
+ });
88
+ module.exports = __toCommonJS(AuthService_exports);
89
+ var import_user_management_client = require("@getpara/user-management-client");
90
+ var constants = __toESM(require("../constants.js"));
91
+ var import_LoginFlowService = require("./LoginFlowService.js");
92
+ var import_VerificationFlowService = require("./VerificationFlowService.js");
93
+ var import_SignupFlowService = require("./SignupFlowService.js");
94
+ var import_stateListener = require("../utils/stateListener.js");
95
+ var _stateManager, _loginFlowService, _signupFlowService, _verificationFlowService, _externalWalletService, _pregenWalletService, _sessionManagementService, _portalUrlService, _paraCoreInterface, _authInfo, _isEnclaveUser;
96
+ class AuthService {
97
+ constructor(paraCore) {
98
+ __privateAdd(this, _stateManager);
99
+ __privateAdd(this, _loginFlowService);
100
+ __privateAdd(this, _signupFlowService);
101
+ __privateAdd(this, _verificationFlowService);
102
+ __privateAdd(this, _externalWalletService);
103
+ __privateAdd(this, _pregenWalletService);
104
+ __privateAdd(this, _sessionManagementService);
105
+ __privateAdd(this, _portalUrlService);
106
+ __privateAdd(this, _paraCoreInterface);
107
+ __privateAdd(this, _authInfo);
108
+ __privateAdd(this, _isEnclaveUser, false);
109
+ this.init = ({
110
+ stateManager,
111
+ portalUrlService,
112
+ externalWalletService,
113
+ sessionManagementService,
114
+ pregenWalletService,
115
+ walletService
116
+ }) => {
117
+ __privateSet(this, _stateManager, stateManager);
118
+ __privateSet(this, _externalWalletService, externalWalletService);
119
+ __privateSet(this, _portalUrlService, portalUrlService);
120
+ __privateSet(this, _sessionManagementService, sessionManagementService);
121
+ __privateSet(this, _pregenWalletService, pregenWalletService);
122
+ __privateSet(this, _loginFlowService, new import_LoginFlowService.LoginFlowService(__privateGet(this, _paraCoreInterface), stateManager, {
123
+ portalUrlService,
124
+ walletService,
125
+ sessionManagementService,
126
+ externalWalletService,
127
+ authService: this
128
+ }));
129
+ __privateSet(this, _signupFlowService, new import_SignupFlowService.SignupFlowService(__privateGet(this, _paraCoreInterface), stateManager, {
130
+ portalUrlService,
131
+ walletService,
132
+ sessionManagementService,
133
+ externalWalletService,
134
+ authService: this
135
+ }));
136
+ __privateSet(this, _verificationFlowService, new import_VerificationFlowService.VerificationFlowService(__privateGet(this, _paraCoreInterface), stateManager, {
137
+ portalUrlService,
138
+ walletService,
139
+ sessionManagementService,
140
+ externalWalletService,
141
+ authService: this
142
+ }));
143
+ };
144
+ this.prepareLogin = () => __async(this, null, function* () {
145
+ yield __privateGet(this, _paraCoreInterface).logout({ skipStateReset: true });
146
+ const { sessionLookupId } = yield __privateGet(this, _sessionManagementService).touchSession(true);
147
+ if (!__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair) {
148
+ yield __privateGet(this, _paraCoreInterface).setLoginEncryptionKeyPair();
149
+ }
150
+ return sessionLookupId;
151
+ });
152
+ this.setAuth = (_0, ..._1) => __async(this, [_0, ..._1], function* (auth, { extras = {}, userId } = {}) {
153
+ const authInfo = __spreadValues(__spreadValues({}, (0, import_user_management_client.extractAuthInfo)(auth, { isRequired: true })), extras || {});
154
+ yield this.setAuthInfo(authInfo);
155
+ if (!!userId) {
156
+ yield this.setUserId(userId);
157
+ }
158
+ return this.authInfo;
159
+ });
160
+ this.setAuthInfo = (authInfo) => __async(this, null, function* () {
161
+ this.authInfo = authInfo;
162
+ yield __privateGet(this, _paraCoreInterface).localStorageSetItem(constants.LOCAL_STORAGE_AUTH_INFO, JSON.stringify(authInfo));
163
+ yield __privateGet(this, _paraCoreInterface).localStorageRemoveItem(constants.LOCAL_STORAGE_EMAIL);
164
+ yield __privateGet(this, _paraCoreInterface).localStorageRemoveItem(constants.LOCAL_STORAGE_PHONE);
165
+ yield __privateGet(this, _paraCoreInterface).localStorageRemoveItem(constants.LOCAL_STORAGE_COUNTRY_CODE);
166
+ yield __privateGet(this, _paraCoreInterface).localStorageRemoveItem(constants.LOCAL_STORAGE_FARCASTER_USERNAME);
167
+ yield __privateGet(this, _paraCoreInterface).localStorageRemoveItem(constants.LOCAL_STORAGE_TELEGRAM_USER_ID);
168
+ });
169
+ this.setUserId = (userId) => __async(this, null, function* () {
170
+ this.userId = userId;
171
+ yield __privateGet(this, _paraCoreInterface).localStorageSetItem(constants.LOCAL_STORAGE_USER_ID, userId);
172
+ });
173
+ this.assertIsAuthSet = (allowed) => {
174
+ if (!this.authInfo) {
175
+ throw new Error("auth is not set");
176
+ }
177
+ if (allowed && !allowed.includes(this.authInfo.authType)) {
178
+ throw new Error(`invalid auth type, expected ${allowed.join(", ")}`);
179
+ }
180
+ return this.authInfo;
181
+ };
182
+ this.assertUserId = ({ allowGuestMode = false } = {}) => {
183
+ if (!this.userId || !allowGuestMode && __privateGet(this, _pregenWalletService).isGuestMode) {
184
+ throw new Error("no userId is set");
185
+ }
186
+ return this.userId;
187
+ };
188
+ this.prepareAuthState = (_0, ..._1) => __async(this, [_0, ..._1], function* (serverAuthState, opts = {}) {
189
+ var _a, _b, _c;
190
+ if (!opts.sessionLookupId && serverAuthState.stage === "login" && (!serverAuthState.externalWallet || !(((_a = serverAuthState.externalWallet) == null ? void 0 : _a.withFullParaAuth) && ((_b = serverAuthState.loginAuthMethods) == null ? void 0 : _b.includes(import_user_management_client.AuthMethod.PIN))))) {
191
+ opts.sessionLookupId = yield this.prepareLogin();
192
+ }
193
+ const { auth, externalWallet, userId, displayName, pfpUrl, username } = serverAuthState;
194
+ const authInfo = __spreadValues(__spreadValues({}, (0, import_user_management_client.extractAuthInfo)(auth, { isRequired: true })), Object.fromEntries(
195
+ Object.entries({
196
+ displayName,
197
+ pfpUrl,
198
+ username,
199
+ externalWallet
200
+ }).filter(([_, v]) => !!v)
201
+ ));
202
+ yield this.setAuthInfo(authInfo);
203
+ this.assertIsAuthSet();
204
+ if (!!externalWallet) {
205
+ yield __privateGet(this, _externalWalletService).setExternalWallet({ externalWallet: [externalWallet] });
206
+ }
207
+ if (!!userId) {
208
+ yield this.setUserId(userId);
209
+ }
210
+ switch (serverAuthState.stage) {
211
+ case "login":
212
+ if (externalWallet && !(externalWallet == null ? void 0 : externalWallet.withFullParaAuth)) {
213
+ return serverAuthState;
214
+ }
215
+ return yield __privateGet(this, _loginFlowService).prepareState(serverAuthState, opts);
216
+ case "signup":
217
+ if (externalWallet && !(externalWallet == null ? void 0 : externalWallet.withFullParaAuth)) {
218
+ return serverAuthState;
219
+ }
220
+ return yield __privateGet(this, _signupFlowService).prepareState(serverAuthState, opts);
221
+ case "verify":
222
+ return yield __privateGet(this, _verificationFlowService).prepareState(serverAuthState, __spreadProps(__spreadValues({}, opts), {
223
+ sessionLookupId: opts.sessionLookupId
224
+ }));
225
+ case "done":
226
+ if ((_c = serverAuthState.externalWallet) == null ? void 0 : _c.isConnectionOnly) {
227
+ return serverAuthState;
228
+ }
229
+ let isSLOPossible = serverAuthState.authMethods.includes(import_user_management_client.AuthMethod.BASIC_LOGIN);
230
+ this.isEnclaveUser = isSLOPossible;
231
+ yield __privateGet(this, _paraCoreInterface).localStorageSetItem(
232
+ constants.LOCAL_STORAGE_IS_ENCLAVE_USER,
233
+ JSON.stringify(isSLOPossible)
234
+ );
235
+ return serverAuthState;
236
+ }
237
+ });
238
+ this.prepareLoginState = (_0, _1) => __async(this, [_0, _1], function* (loginState, { useShortUrls: shorten = false, portalTheme, sessionLookupId }) {
239
+ return yield __privateGet(this, _loginFlowService).prepareState(loginState, {
240
+ useShortUrls: shorten,
241
+ portalTheme,
242
+ sessionLookupId
243
+ });
244
+ });
245
+ this.performSignUpOrLogIn = (params) => __async(this, null, function* () {
246
+ const _a = params, { auth } = _a, urlOptions = __objRest(_a, ["auth"]);
247
+ try {
248
+ const serverAuthState = yield __privateGet(this, _paraCoreInterface).ctx.client.signUpOrLogIn(__spreadValues(__spreadValues({}, auth), __privateGet(this, _paraCoreInterface).getVerificationEmailProps()));
249
+ return { authState: serverAuthState, opts: urlOptions };
250
+ } catch (error) {
251
+ if (error.message.includes("max beta users reached")) {
252
+ __privateGet(this, _paraCoreInterface).displayModalError(
253
+ `50 user limit reached. [Go to Production.](https://docs.getpara.com/v2/general/checklist#go-live-checklist)`
254
+ );
255
+ }
256
+ throw error;
257
+ }
258
+ });
259
+ this.signUpOrLogIn = (params) => __async(this, null, function* () {
260
+ __privateGet(this, _stateManager).send({ type: "AUTHENTICATE_EMAIL_PHONE", data: __spreadProps(__spreadValues({}, params), { isLegacy: true }) });
261
+ return yield (0, import_stateListener.waitForAuthStateChange)({
262
+ stateManager: __privateGet(this, _stateManager),
263
+ resolvePhases: [
264
+ { phase: "awaiting_session_start", onPhase: (state) => state.authStateResult },
265
+ {
266
+ phase: "awaiting_account_verification",
267
+ onPhase: (state) => state.authStateResult
268
+ }
269
+ ]
270
+ });
271
+ });
272
+ this.authenticateWithEmailOrPhone = (params) => __async(this, null, function* () {
273
+ __privateGet(this, _stateManager).send({ type: "AUTHENTICATE_EMAIL_PHONE", data: __spreadProps(__spreadValues({}, params), { isLegacy: false }) });
274
+ const authState = yield (0, import_stateListener.waitForAuthStateChange)({
275
+ stateManager: __privateGet(this, _stateManager),
276
+ resolvePhases: [
277
+ // awaiting_session_start will be hit for non-SLO logins & all SLO logins/sign ups
278
+ { phase: "awaiting_session_start", onPhase: (state) => state.authStateResult },
279
+ // awaiting_account_verification will be hit for non-SLO sign ups
280
+ {
281
+ phase: "awaiting_account_verification",
282
+ onPhase: (state) => state.authStateResult
283
+ }
284
+ ],
285
+ rejectPhases: [
286
+ {
287
+ phase: "unauthenticated",
288
+ onPhase: () => new Error("Authentication canceled")
289
+ }
290
+ ]
291
+ });
292
+ if (authState.stage === "verify") {
293
+ const isSLO = !!authState.loginUrl;
294
+ if (!isSLO) {
295
+ yield (0, import_stateListener.waitForAuthStateChange)({
296
+ stateManager: __privateGet(this, _stateManager),
297
+ resolvePhases: [{ phase: "awaiting_session_start", onPhase: (state) => state.authStateResult }],
298
+ // Only reject if we get to an error phase, account verification can be retried while an error is present and we don't want to cancel the flow in that case
299
+ rejectInErrorPhaseOnly: true,
300
+ rejectPhases: [
301
+ {
302
+ phase: "unauthenticated",
303
+ onPhase: () => new Error("Authentication canceled")
304
+ }
305
+ ]
306
+ });
307
+ }
308
+ }
309
+ __privateGet(this, _stateManager).send({
310
+ type: "WAIT_FOR_SESSION",
311
+ data: __spreadProps(__spreadValues({}, params.sessionPollingCallbacks), { autoCreateWallets: true })
312
+ });
313
+ const resp = yield (0, import_stateListener.waitForAuthStateChange)({
314
+ stateManager: __privateGet(this, _stateManager),
315
+ resolvePhases: [
316
+ {
317
+ phase: "authenticated",
318
+ onPhase: (state) => {
319
+ const createdWallets = state.newWalletsResult;
320
+ if (createdWallets) {
321
+ return {
322
+ hasCreatedWallets: true,
323
+ recoverySecret: state.newWalletsResult.recoverySecret
324
+ };
325
+ }
326
+ return {
327
+ hasCreatedWallets: false,
328
+ recoverySecret: void 0
329
+ };
330
+ }
331
+ }
332
+ ],
333
+ rejectPhases: [
334
+ {
335
+ phase: "unauthenticated",
336
+ onPhase: () => new Error("Session waiting canceled")
337
+ }
338
+ ],
339
+ waitForCoreAuthenticated: true
340
+ });
341
+ return __spreadValues({ authInfo: this.authInfo }, resp);
342
+ });
343
+ this.performVerifyNewAccount = (params) => __async(this, null, function* () {
344
+ return yield __privateGet(this, _verificationFlowService).performVerifyNewAccount(params);
345
+ });
346
+ this.verifyNewAccount = (params) => __async(this, null, function* () {
347
+ return yield __privateGet(this, _verificationFlowService).verifyNewAccount(params);
348
+ });
349
+ this.waitForLogin = (params) => __async(this, null, function* () {
350
+ return yield __privateGet(this, _loginFlowService).waitForLogin(params);
351
+ });
352
+ this.waitForSignup = (params) => __async(this, null, function* () {
353
+ return yield __privateGet(this, _signupFlowService).waitForSignup(params);
354
+ });
355
+ this.waitForWalletCreation = (params) => __async(this, null, function* () {
356
+ return yield __privateGet(this, _signupFlowService).waitForWalletCreation(params);
357
+ });
358
+ this.performVerifyExternalWallet = (params) => __async(this, null, function* () {
359
+ return yield __privateGet(this, _verificationFlowService).performVerifyExternalWallet(params);
360
+ });
361
+ this.verifyExternalWallet = (params) => __async(this, null, function* () {
362
+ return yield __privateGet(this, _verificationFlowService).verifyExternalWallet(params);
363
+ });
364
+ this.retryVerifyExternalWallet = () => __async(this, null, function* () {
365
+ return yield __privateGet(this, _verificationFlowService).retryVerifyExternalWallet();
366
+ });
367
+ this.performLoginExternalWallet = (params) => __async(this, null, function* () {
368
+ const _a = params, { externalWallet, chainId, uri } = _a, urlOptions = __objRest(_a, ["externalWallet", "chainId", "uri"]);
369
+ const externalWallets = Array.isArray(params.externalWallet) ? params.externalWallet : [params.externalWallet];
370
+ try {
371
+ yield __privateGet(this, _paraCoreInterface).ctx.client.trackExternalWalletConnections({
372
+ wallets: externalWallets.map((wallet) => ({
373
+ address: wallet.address,
374
+ type: wallet.type,
375
+ provider: wallet.provider
376
+ }))
377
+ });
378
+ } catch (err) {
379
+ console.error("Error tracking external wallet connections:", err);
380
+ }
381
+ if (__privateGet(this, _paraCoreInterface).externalWalletConnectionOnly || externalWallets.every((wallet) => wallet.isConnectionOnly)) {
382
+ yield __privateGet(this, _externalWalletService).addExternalWallets({
383
+ externalWallets: externalWallets.map((wallet) => __spreadProps(__spreadValues({}, wallet), {
384
+ withFullParaAuth: false
385
+ }))
386
+ });
387
+ const connectionOnlyWallet = __spreadProps(__spreadValues({}, externalWallets[0]), { withFullParaAuth: false, isConnectionOnly: true });
388
+ return Promise.resolve({
389
+ authState: {
390
+ stage: "done",
391
+ userId: constants.EXTERNAL_WALLET_CONNECTION_ONLY_USER_ID,
392
+ externalWallet: connectionOnlyWallet,
393
+ auth: {
394
+ externalWalletAddress: externalWallets[0].address
395
+ },
396
+ authMethods: [],
397
+ // Returning true as a placeholder, since we don't process this through Para we can't determine this here
398
+ isNewUser: true
399
+ },
400
+ opts: urlOptions
401
+ });
402
+ }
403
+ if (Array.isArray(externalWallet)) {
404
+ throw new Error(
405
+ "Cannot authenticate multiple external wallets at once. To connect multiple wallets at once, use CONNECTION_ONLY mode."
406
+ );
407
+ }
408
+ __privateGet(this, _paraCoreInterface).requireApiKey();
409
+ const serverAuthState = yield __privateGet(this, _paraCoreInterface).ctx.client.loginExternalWallet({ externalWallet, chainId, uri });
410
+ if (!externalWallet.withFullParaAuth && externalWallet.withVerification) {
411
+ yield __privateGet(this, _sessionManagementService).touchSession(true);
412
+ }
413
+ if (externalWallet.withFullParaAuth) {
414
+ yield __privateGet(this, _paraCoreInterface).ctx.client.sessionAddPortalVerification();
415
+ }
416
+ return { authState: serverAuthState, opts: urlOptions };
417
+ });
418
+ this.loginExternalWallet = (params) => __async(this, null, function* () {
419
+ __privateGet(this, _stateManager).send({ type: "AUTHENTICATE_EXTERNAL_WALLET", data: params });
420
+ return yield (0, import_stateListener.waitForAuthStateChange)({
421
+ stateManager: __privateGet(this, _stateManager),
422
+ resolvePhases: [
423
+ { phase: "awaiting_session_start", onPhase: (state) => state.authStateResult },
424
+ {
425
+ phase: "awaiting_wallet_signature",
426
+ onPhase: (state) => state.authStateResult
427
+ },
428
+ {
429
+ phase: "awaiting_account_verification",
430
+ onPhase: (state) => state.authStateResult
431
+ },
432
+ {
433
+ phase: "awaiting_wallet_verification",
434
+ onPhase: (state) => state.authStateResult
435
+ },
436
+ {
437
+ phase: "authenticated",
438
+ onPhase: (state) => state.authStateResult
439
+ }
440
+ ]
441
+ });
442
+ });
443
+ this.connectExternalWallet = (params) => __async(this, null, function* () {
444
+ __privateGet(this, _stateManager).send({ type: "CONNECT_EXTERNAL_WALLET", data: params });
445
+ return yield (0, import_stateListener.waitForAuthStateChange)({
446
+ stateManager: __privateGet(this, _stateManager),
447
+ resolvePhases: [
448
+ { phase: "awaiting_session_start", onPhase: (state) => state.authStateResult },
449
+ {
450
+ phase: "awaiting_wallet_signature",
451
+ onPhase: (state) => state.authStateResult
452
+ },
453
+ { phase: "authenticated", onPhase: (state) => state.authStateResult }
454
+ ]
455
+ });
456
+ });
457
+ this.signExternalWalletVerification = (params) => __async(this, null, function* () {
458
+ __privateGet(this, _stateManager).send({ type: "SIGN_EXTERNAL_WALLET_VERIFICATION", data: params });
459
+ return yield (0, import_stateListener.waitForAuthStateChange)({
460
+ stateManager: __privateGet(this, _stateManager),
461
+ resolvePhases: [
462
+ {
463
+ phase: "awaiting_wallet_verification",
464
+ onPhase: () => __privateGet(this, _stateManager).getSnapshot().externalWalletSignVerification
465
+ }
466
+ ]
467
+ });
468
+ });
469
+ this.verifyOAuthProcess = (params) => __async(this, null, function* () {
470
+ __privateGet(this, _stateManager).send({
471
+ type: "AUTHENTICATE_OAUTH",
472
+ data: __spreadProps(__spreadValues({}, params), {
473
+ onCancel: params.onCancel,
474
+ onPoll: params.onPoll,
475
+ isCanceled: params.isCanceled,
476
+ isLegacy: true
477
+ })
478
+ });
479
+ return yield (0, import_stateListener.waitForAuthStateChange)({
480
+ stateManager: __privateGet(this, _stateManager),
481
+ resolvePhases: [
482
+ { phase: "awaiting_session_start", onPhase: (state) => state.authStateResult }
483
+ ]
484
+ });
485
+ });
486
+ this.authenticateWithOAuth = (params) => __async(this, null, function* () {
487
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
488
+ switch (params.method) {
489
+ case "TELEGRAM": {
490
+ __privateGet(this, _stateManager).send({
491
+ type: "AUTHENTICATE_TELEGRAM",
492
+ data: __spreadProps(__spreadValues({}, params), {
493
+ method: params.method,
494
+ isCanceled: (_a = params.oAuthPollingCallbacks) == null ? void 0 : _a.isCanceled,
495
+ onOAuthPopup: (_b = params.redirectCallbacks) == null ? void 0 : _b.onOAuthPopup,
496
+ onOAuthUrl: (_c = params.redirectCallbacks) == null ? void 0 : _c.onOAuthUrl
497
+ })
498
+ });
499
+ break;
500
+ }
501
+ case "FARCASTER": {
502
+ __privateGet(this, _stateManager).send({
503
+ type: "AUTHENTICATE_FARCASTER",
504
+ data: __spreadProps(__spreadValues({}, params), {
505
+ method: params.method,
506
+ isCanceled: (_d = params.oAuthPollingCallbacks) == null ? void 0 : _d.isCanceled,
507
+ onOAuthPopup: (_e = params.redirectCallbacks) == null ? void 0 : _e.onOAuthPopup,
508
+ onOAuthUrl: (_f = params.redirectCallbacks) == null ? void 0 : _f.onOAuthUrl
509
+ })
510
+ });
511
+ break;
512
+ }
513
+ default: {
514
+ __privateGet(this, _stateManager).send({
515
+ type: "AUTHENTICATE_OAUTH",
516
+ data: __spreadProps(__spreadValues({}, params), {
517
+ method: params.method,
518
+ onCancel: (_g = params.oAuthPollingCallbacks) == null ? void 0 : _g.onCancel,
519
+ onPoll: (_h = params.oAuthPollingCallbacks) == null ? void 0 : _h.onPoll,
520
+ isCanceled: (_i = params.oAuthPollingCallbacks) == null ? void 0 : _i.isCanceled,
521
+ isLegacy: false,
522
+ onOAuthPopup: (_j = params.redirectCallbacks) == null ? void 0 : _j.onOAuthPopup,
523
+ onOAuthUrl: (_k = params.redirectCallbacks) == null ? void 0 : _k.onOAuthUrl
524
+ })
525
+ });
526
+ break;
527
+ }
528
+ }
529
+ yield (0, import_stateListener.waitForAuthStateChange)({
530
+ stateManager: __privateGet(this, _stateManager),
531
+ resolvePhases: [
532
+ // awaiting_session_start will be hit for non-SLO logins & all SLO logins/sign ups
533
+ { phase: "awaiting_session_start", onPhase: () => void 0 }
534
+ ],
535
+ rejectPhases: [
536
+ {
537
+ phase: "unauthenticated",
538
+ onPhase: () => new Error("OAuth canceled")
539
+ }
540
+ ]
541
+ });
542
+ __privateGet(this, _stateManager).send({
543
+ type: "WAIT_FOR_SESSION",
544
+ data: __spreadProps(__spreadValues({}, params.sessionPollingCallbacks), { autoCreateWallets: true })
545
+ });
546
+ const resp = yield (0, import_stateListener.waitForAuthStateChange)({
547
+ stateManager: __privateGet(this, _stateManager),
548
+ resolvePhases: [
549
+ {
550
+ phase: "authenticated",
551
+ onPhase: (state) => {
552
+ const createdWallets = state.newWalletsResult;
553
+ if (createdWallets) {
554
+ return {
555
+ hasCreatedWallets: true,
556
+ recoverySecret: state.newWalletsResult.recoverySecret
557
+ };
558
+ }
559
+ return {
560
+ hasCreatedWallets: false,
561
+ recoverySecret: void 0
562
+ };
563
+ }
564
+ }
565
+ ],
566
+ rejectPhases: [
567
+ {
568
+ phase: "unauthenticated",
569
+ onPhase: () => new Error("Session waiting canceled")
570
+ }
571
+ ],
572
+ waitForCoreAuthenticated: true
573
+ });
574
+ return __spreadValues({ authInfo: this.authInfo }, resp);
575
+ });
576
+ this.performVerifyTelegram = (params) => __async(this, null, function* () {
577
+ return yield __privateGet(this, _verificationFlowService).performVerifyTelegram(params);
578
+ });
579
+ this.verifyTelegram = (params) => __async(this, null, function* () {
580
+ return yield __privateGet(this, _verificationFlowService).verifyTelegram(params);
581
+ });
582
+ this.performVerifyFarcaster = (params) => __async(this, null, function* () {
583
+ return yield __privateGet(this, _verificationFlowService).performVerifyFarcaster(params);
584
+ });
585
+ this.verifyFarcaster = (params) => __async(this, null, function* () {
586
+ return yield __privateGet(this, _verificationFlowService).verifyFarcaster(params);
587
+ });
588
+ this.supportedUserAuthMethods = () => __async(this, null, function* () {
589
+ this.assertIsAuthSet();
590
+ const { supportedAuthMethods, hasPasswordWithoutPIN } = yield __privateGet(this, _paraCoreInterface).ctx.client.getSupportedAuthMethodsV2(this.authInfo.auth);
591
+ const authMethods = /* @__PURE__ */ new Set();
592
+ for (const type of supportedAuthMethods) {
593
+ switch (type) {
594
+ case "PASSWORD":
595
+ if (hasPasswordWithoutPIN) {
596
+ authMethods.add(import_user_management_client.AuthMethod.PASSWORD);
597
+ }
598
+ break;
599
+ case "PASSKEY":
600
+ authMethods.add(import_user_management_client.AuthMethod.PASSKEY);
601
+ break;
602
+ case "PIN":
603
+ authMethods.add(import_user_management_client.AuthMethod.PIN);
604
+ break;
605
+ case "BASIC_LOGIN":
606
+ authMethods.add(import_user_management_client.AuthMethod.BASIC_LOGIN);
607
+ break;
608
+ }
609
+ }
610
+ return authMethods;
611
+ });
612
+ this.getNewCredentialAndUrl = (..._0) => __async(this, [..._0], function* ({
613
+ authMethod: optsAuthMethod,
614
+ isForNewDevice = false,
615
+ portalTheme,
616
+ shorten = false
617
+ } = {}) {
618
+ const userAuthMethods = yield this.supportedUserAuthMethods();
619
+ const isEnclaveUser = userAuthMethods.has(import_user_management_client.AuthMethod.BASIC_LOGIN);
620
+ const isAddingBasicLogin = optsAuthMethod === "BASIC_LOGIN";
621
+ if (isEnclaveUser && isAddingBasicLogin) {
622
+ throw new Error("That user is already using basic login");
623
+ }
624
+ if (isEnclaveUser || isAddingBasicLogin) {
625
+ isForNewDevice = true;
626
+ }
627
+ const authMethods = optsAuthMethod ? [optsAuthMethod] : isForNewDevice ? ["PASSKEY", "PIN", "PASSWORD"] : ["PASSKEY"];
628
+ this.assertIsAuthSet();
629
+ let passkeyId, passwordId, urlType, credentialId;
630
+ if (!isAddingBasicLogin) {
631
+ const canAddPasswordOrPIN = !userAuthMethods.has(import_user_management_client.AuthMethod.PASSWORD) && !userAuthMethods.has(import_user_management_client.AuthMethod.PIN);
632
+ if (authMethods.includes("PASSKEY") && (yield __privateGet(this, _paraCoreInterface).isPasskeySupported())) {
633
+ ({
634
+ data: { id: passkeyId }
635
+ } = yield __privateGet(this, _paraCoreInterface).ctx.client.addSessionPublicKey(this.userId, {
636
+ status: import_user_management_client.AuthMethodStatus.PENDING,
637
+ type: import_user_management_client.PublicKeyType.WEB
638
+ }));
639
+ urlType = "createAuth";
640
+ }
641
+ if (authMethods.includes("PASSWORD")) {
642
+ if (!canAddPasswordOrPIN) {
643
+ if (optsAuthMethod === "PASSWORD") throw new Error("A user cannot have more than one password or PIN.");
644
+ } else {
645
+ ({
646
+ data: { id: passwordId }
647
+ } = yield __privateGet(this, _paraCoreInterface).ctx.client.addSessionPasswordPublicKey(this.userId, {
648
+ status: import_user_management_client.AuthMethodStatus.PENDING
649
+ }));
650
+ urlType = "createPassword";
651
+ }
652
+ }
653
+ if (authMethods.includes("PIN")) {
654
+ if (!canAddPasswordOrPIN) {
655
+ if (optsAuthMethod === "PIN") throw new Error("A user cannot have more than one password or PIN.");
656
+ } else {
657
+ ({
658
+ data: { id: passwordId }
659
+ } = yield __privateGet(this, _paraCoreInterface).ctx.client.addSessionPasswordPublicKey(this.userId, {
660
+ status: import_user_management_client.AuthMethodStatus.PENDING
661
+ }));
662
+ urlType = "createPIN";
663
+ }
664
+ }
665
+ credentialId = passkeyId != null ? passkeyId : passwordId;
666
+ if (__privateGet(this, _paraCoreInterface).isNativePasskey && authMethods.includes("PASSKEY")) {
667
+ return { credentialId };
668
+ }
669
+ }
670
+ const { sessionId } = yield __privateGet(this, _sessionManagementService).touchSession();
671
+ const url = (isForNewDevice || urlType) && (yield __privateGet(this, _portalUrlService).constructPortalUrl(isForNewDevice ? "addNewCredential" : urlType, {
672
+ isForNewDevice,
673
+ pathId: credentialId,
674
+ portalTheme,
675
+ shorten,
676
+ sessionId: isForNewDevice ? sessionId : void 0,
677
+ addNewCredentialType: optsAuthMethod,
678
+ addNewCredentialPasskeyId: passkeyId,
679
+ addNewCredentialPasswordId: passwordId
680
+ }));
681
+ return __spreadValues({ credentialId }, url ? { url } : {});
682
+ });
683
+ this.addCredential = (_0) => __async(this, [_0], function* ({ authMethod }) {
684
+ if (authMethod === "PASSKEY" && !(yield __privateGet(this, _paraCoreInterface).isPasskeySupported())) {
685
+ throw new Error("Passkeys are not supported.");
686
+ }
687
+ const { url } = yield this.getNewCredentialAndUrl({ isForNewDevice: true, authMethod });
688
+ return url;
689
+ });
690
+ this.resendVerificationCode = (_0) => __async(this, [_0], function* ({ type: reason = "SIGNUP" }) {
691
+ let type, linkedAccountId;
692
+ switch (reason) {
693
+ case "SIGNUP":
694
+ case "LOGIN":
695
+ {
696
+ const authInfo = this.assertIsAuthSet(["email", "phone"]);
697
+ type = authInfo.authType.toUpperCase();
698
+ }
699
+ break;
700
+ case "LINK_ACCOUNT":
701
+ {
702
+ const accountLinkInProgress = __privateGet(this, _paraCoreInterface).assertIsLinkingAccount(["EMAIL", "PHONE"]);
703
+ linkedAccountId = accountLinkInProgress.id;
704
+ type = accountLinkInProgress.type;
705
+ }
706
+ break;
707
+ }
708
+ const userId = this.assertUserId({ allowGuestMode: true });
709
+ if (type !== "EMAIL" && type !== "PHONE") {
710
+ throw new Error("invalid auth type for verification code");
711
+ }
712
+ yield __privateGet(this, _paraCoreInterface).ctx.client.resendVerificationCode(__spreadValues({
713
+ userId,
714
+ type,
715
+ linkedAccountId
716
+ }, __privateGet(this, _paraCoreInterface).getVerificationEmailProps()));
717
+ });
718
+ __privateSet(this, _paraCoreInterface, paraCore.getAuthServiceInterface());
719
+ }
720
+ get isEnclaveUser() {
721
+ return __privateGet(this, _isEnclaveUser);
722
+ }
723
+ set isEnclaveUser(value) {
724
+ __privateSet(this, _isEnclaveUser, value);
725
+ }
726
+ get email() {
727
+ var _a;
728
+ return (0, import_user_management_client.isEmail)((_a = this.authInfo) == null ? void 0 : _a.auth) ? this.authInfo.auth.email : void 0;
729
+ }
730
+ get phone() {
731
+ var _a;
732
+ return (0, import_user_management_client.isPhone)((_a = this.authInfo) == null ? void 0 : _a.auth) ? this.authInfo.auth.phone : void 0;
733
+ }
734
+ get farcasterUsername() {
735
+ var _a;
736
+ return (0, import_user_management_client.isFarcaster)((_a = this.authInfo) == null ? void 0 : _a.auth) ? this.authInfo.auth.farcasterUsername : void 0;
737
+ }
738
+ get telegramUserId() {
739
+ var _a;
740
+ return (0, import_user_management_client.isTelegram)((_a = this.authInfo) == null ? void 0 : _a.auth) ? this.authInfo.auth.telegramUserId : void 0;
741
+ }
742
+ get isEmail() {
743
+ var _a;
744
+ return (0, import_user_management_client.isEmail)((_a = this.authInfo) == null ? void 0 : _a.auth);
745
+ }
746
+ get isPhone() {
747
+ var _a;
748
+ return (0, import_user_management_client.isPhone)((_a = this.authInfo) == null ? void 0 : _a.auth);
749
+ }
750
+ get isFarcaster() {
751
+ var _a;
752
+ return (0, import_user_management_client.isFarcaster)((_a = this.authInfo) == null ? void 0 : _a.auth);
753
+ }
754
+ get isTelegram() {
755
+ var _a;
756
+ return (0, import_user_management_client.isTelegram)((_a = this.authInfo) == null ? void 0 : _a.auth);
757
+ }
758
+ get isExternalWalletAuth() {
759
+ var _a, _b, _c;
760
+ return (0, import_user_management_client.isExternalWallet)((_a = this.authInfo) == null ? void 0 : _a.auth) && !!((_c = (_b = this.authInfo) == null ? void 0 : _b.externalWallet) == null ? void 0 : _c.withFullParaAuth);
761
+ }
762
+ get isExternalWalletWithVerification() {
763
+ var _a, _b, _c;
764
+ return (0, import_user_management_client.isExternalWallet)((_a = this.authInfo) == null ? void 0 : _a.auth) && !!((_c = (_b = this.authInfo) == null ? void 0 : _b.externalWallet) == null ? void 0 : _c.withVerification);
765
+ }
766
+ get authInfo() {
767
+ return __privateGet(this, _authInfo);
768
+ }
769
+ set authInfo(authInfo) {
770
+ __privateSet(this, _authInfo, authInfo);
771
+ }
772
+ }
773
+ _stateManager = new WeakMap();
774
+ _loginFlowService = new WeakMap();
775
+ _signupFlowService = new WeakMap();
776
+ _verificationFlowService = new WeakMap();
777
+ _externalWalletService = new WeakMap();
778
+ _pregenWalletService = new WeakMap();
779
+ _sessionManagementService = new WeakMap();
780
+ _portalUrlService = new WeakMap();
781
+ _paraCoreInterface = new WeakMap();
782
+ _authInfo = new WeakMap();
783
+ _isEnclaveUser = new WeakMap();
784
+ // Annotate the CommonJS export names for ESM import in node:
785
+ 0 && (module.exports = {
786
+ AuthService
787
+ });