@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.
- package/dist/cjs/ParaCore.js +793 -2003
- package/dist/cjs/constants.js +4 -1
- package/dist/cjs/services/AuthService.js +787 -0
- package/dist/cjs/services/BaseAuthFlowService.js +78 -0
- package/dist/cjs/services/ExternalWalletService.js +386 -0
- package/dist/cjs/services/LoginFlowService.js +163 -0
- package/dist/cjs/services/PollingService.js +448 -0
- package/dist/cjs/services/PortalUrlService.js +379 -0
- package/dist/cjs/services/PregenWalletService.js +442 -0
- package/dist/cjs/services/SessionManagementService.js +280 -0
- package/dist/cjs/services/SignupFlowService.js +185 -0
- package/dist/cjs/services/VerificationFlowService.js +242 -0
- package/dist/cjs/services/WalletService.js +577 -0
- package/dist/cjs/services/types/AuthServiceTypes.js +15 -0
- package/dist/cjs/services/types/BaseAuthFlowServiceTypes.js +15 -0
- package/dist/cjs/services/types/ExternalWalletServiceTypes.js +15 -0
- package/dist/cjs/services/types/LoginFlowServiceTypes.js +15 -0
- package/dist/cjs/services/types/PollingServiceTypes.js +15 -0
- package/dist/cjs/services/types/PortalUrlServiceTypes.js +15 -0
- package/dist/cjs/services/types/PregenWalletServiceTypes.js +15 -0
- package/dist/cjs/services/types/SessionManagementServiceTypes.js +15 -0
- package/dist/cjs/services/types/SignupFlowServiceTypes.js +15 -0
- package/dist/cjs/services/types/VerificationFlowServiceTypes.js +15 -0
- package/dist/cjs/services/types/WalletServiceTypes.js +15 -0
- package/dist/cjs/services/types/index.js +15 -0
- package/dist/cjs/state/CoreStateManager.js +297 -0
- package/dist/cjs/state/actors/authenticateWithEmailOrPhone.js +50 -0
- package/dist/cjs/state/actors/authenticateWithExternalWallet.js +50 -0
- package/dist/cjs/state/actors/authenticateWithFarcaster.js +50 -0
- package/dist/cjs/state/actors/authenticateWithFarcasterLegacy.js +50 -0
- package/dist/cjs/state/actors/authenticateWithTelegram.js +50 -0
- package/dist/cjs/state/actors/authenticateWithTelegramLegacy.js +50 -0
- package/dist/cjs/state/actors/checkUserState.js +53 -0
- package/dist/cjs/state/actors/claimWallets.js +56 -0
- package/dist/cjs/state/actors/connectExternalConnectors.js +54 -0
- package/dist/cjs/state/actors/connectExternalWallet.js +50 -0
- package/dist/cjs/state/actors/createGuestWallets.js +50 -0
- package/dist/cjs/state/actors/createWallets.js +73 -0
- package/dist/cjs/state/actors/polling.js +91 -0
- package/dist/cjs/state/actors/processAuthentication.js +50 -0
- package/dist/cjs/state/actors/setupAfterLogin.js +52 -0
- package/dist/cjs/state/actors/setupPara.js +50 -0
- package/dist/cjs/state/actors/signExternalWalletVerification.js +79 -0
- package/dist/cjs/state/actors/switchExternalWallet.js +50 -0
- package/dist/cjs/state/actors/verifyExternalWallet.js +50 -0
- package/dist/cjs/state/actors/verifyNewAccount.js +50 -0
- package/dist/cjs/state/actors/waitForExternalWalletProviders.js +54 -0
- package/dist/cjs/state/machines/authStateMachine.helpers.js +137 -0
- package/dist/cjs/state/machines/authStateMachine.js +1084 -0
- package/dist/cjs/state/machines/coreStateMachine.js +383 -0
- package/dist/cjs/state/machines/walletStateMachine.js +437 -0
- package/dist/cjs/state/types/auth.js +15 -0
- package/dist/cjs/state/types/core.js +15 -0
- package/dist/cjs/state/types/wallet.js +15 -0
- package/dist/cjs/types/{auth.js → accountLinking.js} +3 -3
- package/dist/cjs/types/authState.js +15 -0
- package/dist/cjs/types/coreApi.js +3 -1
- package/dist/cjs/types/index.js +2 -2
- package/dist/cjs/types/serviceInterfaces.js +15 -0
- package/dist/cjs/types/util.js +15 -0
- package/dist/cjs/utils/formatting.js +6 -0
- package/dist/cjs/utils/retryBackoff.js +30 -0
- package/dist/cjs/utils/stateErrorHelpers.js +60 -0
- package/dist/cjs/utils/stateListener.js +129 -0
- package/dist/esm/ParaCore.js +796 -2031
- package/dist/esm/constants.js +3 -1
- package/dist/esm/services/AuthService.js +717 -0
- package/dist/esm/services/BaseAuthFlowService.js +25 -0
- package/dist/esm/services/ExternalWalletService.js +327 -0
- package/dist/esm/services/LoginFlowService.js +97 -0
- package/dist/esm/services/PollingService.js +389 -0
- package/dist/esm/services/PortalUrlService.js +320 -0
- package/dist/esm/services/PregenWalletService.js +393 -0
- package/dist/esm/services/SessionManagementService.js +236 -0
- package/dist/esm/services/SignupFlowService.js +119 -0
- package/dist/esm/services/VerificationFlowService.js +178 -0
- package/dist/esm/services/WalletService.js +514 -0
- package/dist/esm/services/types/AuthServiceTypes.js +0 -0
- package/dist/esm/services/types/BaseAuthFlowServiceTypes.js +0 -0
- package/dist/esm/services/types/ExternalWalletServiceTypes.js +0 -0
- package/dist/esm/services/types/LoginFlowServiceTypes.js +0 -0
- package/dist/esm/services/types/PollingServiceTypes.js +0 -0
- package/dist/esm/services/types/PortalUrlServiceTypes.js +0 -0
- package/dist/esm/services/types/PregenWalletServiceTypes.js +0 -0
- package/dist/esm/services/types/SessionManagementServiceTypes.js +0 -0
- package/dist/esm/services/types/SignupFlowServiceTypes.js +0 -0
- package/dist/esm/services/types/VerificationFlowServiceTypes.js +0 -0
- package/dist/esm/services/types/WalletServiceTypes.js +0 -0
- package/dist/esm/services/types/index.js +0 -0
- package/dist/esm/state/CoreStateManager.js +261 -0
- package/dist/esm/state/actors/authenticateWithEmailOrPhone.js +10 -0
- package/dist/esm/state/actors/authenticateWithExternalWallet.js +10 -0
- package/dist/esm/state/actors/authenticateWithFarcaster.js +10 -0
- package/dist/esm/state/actors/authenticateWithFarcasterLegacy.js +10 -0
- package/dist/esm/state/actors/authenticateWithTelegram.js +10 -0
- package/dist/esm/state/actors/authenticateWithTelegramLegacy.js +10 -0
- package/dist/esm/state/actors/checkUserState.js +13 -0
- package/dist/esm/state/actors/claimWallets.js +16 -0
- package/dist/esm/state/actors/connectExternalConnectors.js +14 -0
- package/dist/esm/state/actors/connectExternalWallet.js +10 -0
- package/dist/esm/state/actors/createGuestWallets.js +10 -0
- package/dist/esm/state/actors/createWallets.js +20 -0
- package/dist/esm/state/actors/polling.js +55 -0
- package/dist/esm/state/actors/processAuthentication.js +10 -0
- package/dist/esm/state/actors/setupAfterLogin.js +12 -0
- package/dist/esm/state/actors/setupPara.js +10 -0
- package/dist/esm/state/actors/signExternalWalletVerification.js +15 -0
- package/dist/esm/state/actors/switchExternalWallet.js +10 -0
- package/dist/esm/state/actors/verifyExternalWallet.js +10 -0
- package/dist/esm/state/actors/verifyNewAccount.js +10 -0
- package/dist/esm/state/actors/waitForExternalWalletProviders.js +14 -0
- package/dist/esm/state/machines/authStateMachine.helpers.js +92 -0
- package/dist/esm/state/machines/authStateMachine.js +1039 -0
- package/dist/esm/state/machines/coreStateMachine.js +343 -0
- package/dist/esm/state/machines/walletStateMachine.js +382 -0
- package/dist/esm/state/types/auth.js +0 -0
- package/dist/esm/state/types/core.js +0 -0
- package/dist/esm/state/types/wallet.js +0 -0
- package/dist/esm/types/authState.js +0 -0
- package/dist/esm/types/coreApi.js +3 -1
- package/dist/esm/types/index.js +1 -1
- package/dist/esm/types/serviceInterfaces.js +0 -0
- package/dist/esm/types/util.js +0 -0
- package/dist/esm/utils/formatting.js +6 -0
- package/dist/esm/utils/retryBackoff.js +7 -0
- package/dist/esm/utils/stateErrorHelpers.js +37 -0
- package/dist/esm/utils/stateListener.js +106 -0
- package/dist/types/ParaCore.d.ts +190 -119
- package/dist/types/PlatformUtils.d.ts +23 -0
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/index.d.ts +4 -2
- package/dist/types/services/AuthService.d.ts +72 -0
- package/dist/types/services/BaseAuthFlowService.d.ts +28 -0
- package/dist/types/services/ExternalWalletService.d.ts +44 -0
- package/dist/types/services/LoginFlowService.d.ts +9 -0
- package/dist/types/services/PollingService.d.ts +35 -0
- package/dist/types/services/PortalUrlService.d.ts +26 -0
- package/dist/types/services/PregenWalletService.d.ts +38 -0
- package/dist/types/services/SessionManagementService.d.ts +28 -0
- package/dist/types/services/SignupFlowService.d.ts +10 -0
- package/dist/types/services/VerificationFlowService.d.ts +17 -0
- package/dist/types/services/WalletService.d.ts +54 -0
- package/dist/types/services/types/AuthServiceTypes.d.ts +147 -0
- package/dist/types/services/types/BaseAuthFlowServiceTypes.d.ts +4 -0
- package/dist/types/services/types/ExternalWalletServiceTypes.d.ts +67 -0
- package/dist/types/services/types/LoginFlowServiceTypes.d.ts +19 -0
- package/dist/types/services/types/PollingServiceTypes.d.ts +82 -0
- package/dist/types/services/types/PortalUrlServiceTypes.d.ts +46 -0
- package/dist/types/services/types/PregenWalletServiceTypes.d.ts +73 -0
- package/dist/types/services/types/SessionManagementServiceTypes.d.ts +27 -0
- package/dist/types/services/types/SignupFlowServiceTypes.d.ts +18 -0
- package/dist/types/services/types/VerificationFlowServiceTypes.d.ts +90 -0
- package/dist/types/services/types/WalletServiceTypes.d.ts +109 -0
- package/dist/types/services/types/index.d.ts +11 -0
- package/dist/types/state/CoreStateManager.d.ts +36 -0
- package/dist/types/state/actors/authenticateWithEmailOrPhone.d.ts +8 -0
- package/dist/types/state/actors/authenticateWithExternalWallet.d.ts +8 -0
- package/dist/types/state/actors/authenticateWithFarcaster.d.ts +3 -0
- package/dist/types/state/actors/authenticateWithFarcasterLegacy.d.ts +3 -0
- package/dist/types/state/actors/authenticateWithTelegram.d.ts +3 -0
- package/dist/types/state/actors/authenticateWithTelegramLegacy.d.ts +8 -0
- package/dist/types/state/actors/checkUserState.d.ts +6 -0
- package/dist/types/state/actors/claimWallets.d.ts +8 -0
- package/dist/types/state/actors/connectExternalConnectors.d.ts +4 -0
- package/dist/types/state/actors/connectExternalWallet.d.ts +3 -0
- package/dist/types/state/actors/createGuestWallets.d.ts +3 -0
- package/dist/types/state/actors/createWallets.d.ts +10 -0
- package/dist/types/state/actors/polling.d.ts +3 -0
- package/dist/types/state/actors/processAuthentication.d.ts +10 -0
- package/dist/types/state/actors/setupAfterLogin.d.ts +5 -0
- package/dist/types/state/actors/setupPara.d.ts +2 -0
- package/dist/types/state/actors/signExternalWalletVerification.d.ts +7 -0
- package/dist/types/state/actors/switchExternalWallet.d.ts +3 -0
- package/dist/types/state/actors/verifyExternalWallet.d.ts +8 -0
- package/dist/types/state/actors/verifyNewAccount.d.ts +8 -0
- package/dist/types/state/actors/waitForExternalWalletProviders.d.ts +2 -0
- package/dist/types/state/machines/authStateMachine.d.ts +2570 -0
- package/dist/types/state/machines/authStateMachine.helpers.d.ts +57 -0
- package/dist/types/state/machines/coreStateMachine.d.ts +22033 -0
- package/dist/types/state/machines/walletStateMachine.d.ts +1049 -0
- package/dist/types/state/types/auth.d.ts +113 -0
- package/dist/types/state/types/core.d.ts +114 -0
- package/dist/types/state/types/wallet.d.ts +76 -0
- package/dist/types/types/authState.d.ts +66 -0
- package/dist/types/types/config.d.ts +5 -0
- package/dist/types/types/coreApi.d.ts +148 -298
- package/dist/types/types/index.d.ts +3 -1
- package/dist/types/types/methods.d.ts +1 -191
- package/dist/types/types/serviceInterfaces.d.ts +125 -0
- package/dist/types/types/util.d.ts +43 -0
- package/dist/types/types/wallet.d.ts +3 -1
- package/dist/types/utils/retryBackoff.d.ts +2 -0
- package/dist/types/utils/stateErrorHelpers.d.ts +2 -0
- package/dist/types/utils/stateListener.d.ts +47 -0
- package/package.json +5 -4
- /package/dist/esm/types/{auth.js → accountLinking.js} +0 -0
- /package/dist/types/types/{auth.d.ts → accountLinking.d.ts} +0 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __typeError = (msg) => {
|
|
6
|
+
throw TypeError(msg);
|
|
7
|
+
};
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
22
|
+
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
23
|
+
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);
|
|
24
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
25
|
+
var __async = (__this, __arguments, generator) => {
|
|
26
|
+
return new Promise((resolve, reject) => {
|
|
27
|
+
var fulfilled = (value) => {
|
|
28
|
+
try {
|
|
29
|
+
step(generator.next(value));
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var rejected = (value) => {
|
|
35
|
+
try {
|
|
36
|
+
step(generator.throw(value));
|
|
37
|
+
} catch (e) {
|
|
38
|
+
reject(e);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
42
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var SessionManagementService_exports = {};
|
|
46
|
+
__export(SessionManagementService_exports, {
|
|
47
|
+
SessionManagementService: () => SessionManagementService
|
|
48
|
+
});
|
|
49
|
+
module.exports = __toCommonJS(SessionManagementService_exports);
|
|
50
|
+
var import_wallet = require("../utils/wallet.js");
|
|
51
|
+
var _authService, _portalUrlService, _walletService, _pregenWalletService, _externalWalletService, _paraCoreInterface, _isImportedSession, _regeneratePromise, _handleTouchSessionError, _doTouchSession;
|
|
52
|
+
class SessionManagementService {
|
|
53
|
+
constructor(paraCore) {
|
|
54
|
+
__privateAdd(this, _authService);
|
|
55
|
+
__privateAdd(this, _portalUrlService);
|
|
56
|
+
__privateAdd(this, _walletService);
|
|
57
|
+
__privateAdd(this, _pregenWalletService);
|
|
58
|
+
__privateAdd(this, _externalWalletService);
|
|
59
|
+
__privateAdd(this, _paraCoreInterface);
|
|
60
|
+
__privateAdd(this, _isImportedSession);
|
|
61
|
+
__privateAdd(this, _regeneratePromise);
|
|
62
|
+
this.init = ({
|
|
63
|
+
authService,
|
|
64
|
+
portalUrlService,
|
|
65
|
+
walletService,
|
|
66
|
+
externalWalletService,
|
|
67
|
+
pregenWalletService
|
|
68
|
+
}) => {
|
|
69
|
+
__privateSet(this, _authService, authService);
|
|
70
|
+
__privateSet(this, _portalUrlService, portalUrlService);
|
|
71
|
+
__privateSet(this, _walletService, walletService);
|
|
72
|
+
__privateSet(this, _externalWalletService, externalWalletService);
|
|
73
|
+
__privateSet(this, _pregenWalletService, pregenWalletService);
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Handle specific touchSession errors with user-friendly messages
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
__privateAdd(this, _handleTouchSessionError, (error) => {
|
|
80
|
+
const errorStr = String(error);
|
|
81
|
+
const errorMessage = error instanceof Error ? error.message : "";
|
|
82
|
+
if (errorStr.includes("blocked by CORS policy") && errorStr.includes("Access-Control-Allow-Origin")) {
|
|
83
|
+
const message = "Request rate limit reached. Please wait a couple of minutes and try again.";
|
|
84
|
+
console.error(`[Para] ${message}`);
|
|
85
|
+
__privateGet(this, _paraCoreInterface).displayModalError(message);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (error.status === 403 && errorMessage.includes("origin not authorized")) {
|
|
89
|
+
__privateGet(this, _paraCoreInterface).displayModalError(
|
|
90
|
+
"The current origin is not allowed. Update your allowed origins in the Para developer portal to allow the current origin."
|
|
91
|
+
);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
this.touchSession = (regenerate = false) => __async(this, null, function* () {
|
|
96
|
+
if (regenerate && __privateGet(this, _regeneratePromise) !== void 0) {
|
|
97
|
+
return __privateGet(this, _regeneratePromise);
|
|
98
|
+
}
|
|
99
|
+
const promise = __privateGet(this, _doTouchSession).call(this, regenerate);
|
|
100
|
+
if (regenerate) {
|
|
101
|
+
__privateSet(this, _regeneratePromise, promise);
|
|
102
|
+
yield promise.finally(() => {
|
|
103
|
+
__privateSet(this, _regeneratePromise, void 0);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
return promise;
|
|
107
|
+
});
|
|
108
|
+
__privateAdd(this, _doTouchSession, (regenerate) => __async(this, null, function* () {
|
|
109
|
+
var _a, _b;
|
|
110
|
+
if (!__privateGet(this, _paraCoreInterface).isWorkerInitialized) {
|
|
111
|
+
void __privateGet(this, _paraCoreInterface).initializeWorker();
|
|
112
|
+
}
|
|
113
|
+
let session;
|
|
114
|
+
try {
|
|
115
|
+
session = yield __privateGet(this, _paraCoreInterface).ctx.client.touchSession(regenerate);
|
|
116
|
+
} catch (error) {
|
|
117
|
+
__privateGet(this, _handleTouchSessionError).call(this, error);
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
120
|
+
if (!__privateGet(this, _paraCoreInterface).partner || __privateGet(this, _paraCoreInterface).partner.id !== session.partnerId || !(0, import_wallet.supportedWalletTypesEq)(__privateGet(this, _paraCoreInterface).partner.supportedWalletTypes || [], session.supportedWalletTypes) || (__privateGet(this, _paraCoreInterface).partner.cosmosPrefix || "cosmos") !== session.cosmosPrefix) {
|
|
121
|
+
if (!session.partnerId && !__privateGet(this, _paraCoreInterface).isPortal()) {
|
|
122
|
+
__privateGet(this, _paraCoreInterface).displayModalError(
|
|
123
|
+
`Invalid API Key. Please ensure you have a valid API key for the current environment: ${(_a = __privateGet(this, _paraCoreInterface).ctx.env) == null ? void 0 : _a.toUpperCase()}.`
|
|
124
|
+
);
|
|
125
|
+
console.error(`
|
|
126
|
+
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
|
|
127
|
+
\u{1F6A8} PARA SDK CONFIGURATION ERROR \u{1F6A8}
|
|
128
|
+
|
|
129
|
+
INVALID API KEY FOR CONFIGURED ENVIRONMENT
|
|
130
|
+
|
|
131
|
+
Your API key does not match the configured environment. This usually means:
|
|
132
|
+
|
|
133
|
+
1. You're using a production API key with a development environment
|
|
134
|
+
2. You're using a development API key with a production environment
|
|
135
|
+
3. Your API key is invalid or has been regenerated
|
|
136
|
+
|
|
137
|
+
SOLUTION:
|
|
138
|
+
\u2022 Verify your API key at: https://developer.getpara.com
|
|
139
|
+
\u2022 If your API key doesn't contain an environment prefix, ensure your API key is the correct key for your target environment
|
|
140
|
+
|
|
141
|
+
Current Environment: ${__privateGet(this, _paraCoreInterface).ctx.env}
|
|
142
|
+
API Key Prefix: ${((_b = __privateGet(this, _paraCoreInterface).ctx.apiKey) == null ? void 0 : _b.split("_")[0].toUpperCase()) || "None"}
|
|
143
|
+
|
|
144
|
+
Need help? Visit: https://docs.getpara.com or contact support
|
|
145
|
+
\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
|
|
146
|
+
`);
|
|
147
|
+
throw new Error("Invalid API Key.");
|
|
148
|
+
} else {
|
|
149
|
+
yield __privateGet(this, _paraCoreInterface).getPartner(session.partnerId);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (session.currentWalletIds && !(0, import_wallet.currentWalletIdsEq)(session.currentWalletIds, __privateGet(this, _walletService).currentWalletIds)) {
|
|
153
|
+
yield __privateGet(this, _walletService).setCurrentWalletIds(session.currentWalletIds);
|
|
154
|
+
}
|
|
155
|
+
return session;
|
|
156
|
+
}));
|
|
157
|
+
this.isSessionActive = () => __async(this, null, function* () {
|
|
158
|
+
if (__privateGet(this, _externalWalletService).externalWalletConnectionType === "CONNECTION_ONLY") {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
const { isAuthenticated, verifiedExternalWalletAddresses } = yield this.touchSession();
|
|
162
|
+
if (__privateGet(this, _externalWalletService).externalWalletConnectionType === "VERIFICATION") {
|
|
163
|
+
if (!verifiedExternalWalletAddresses) {
|
|
164
|
+
return false;
|
|
165
|
+
}
|
|
166
|
+
const externalAddresses = Object.values(__privateGet(this, _externalWalletService).externalWallets).map((w) => w.id);
|
|
167
|
+
return externalAddresses.every((address) => verifiedExternalWalletAddresses.includes(address));
|
|
168
|
+
}
|
|
169
|
+
return !!isAuthenticated;
|
|
170
|
+
});
|
|
171
|
+
this.isFullyLoggedIn = () => __async(this, null, function* () {
|
|
172
|
+
if (!__privateGet(this, _paraCoreInterface).isReady) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
if (!this.isImportedSession && __privateGet(this, _externalWalletService).externalWalletConnectionType !== "NONE") {
|
|
176
|
+
yield __privateGet(this, _externalWalletService).assertValidConnection();
|
|
177
|
+
}
|
|
178
|
+
if (__privateGet(this, _externalWalletService).externalWalletConnectionType === "CONNECTION_ONLY") {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
if (__privateGet(this, _pregenWalletService).isGuestMode) {
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
const isSessionActive = yield this.isSessionActive();
|
|
185
|
+
if (__privateGet(this, _externalWalletService).externalWalletConnectionType === "VERIFICATION") {
|
|
186
|
+
return isSessionActive;
|
|
187
|
+
}
|
|
188
|
+
if (__privateGet(this, _paraCoreInterface).isSwitchingWallets) {
|
|
189
|
+
return isSessionActive;
|
|
190
|
+
}
|
|
191
|
+
if (!isSessionActive) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
if (__privateGet(this, _paraCoreInterface).isNoWalletConfig) {
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
const { supportedWalletTypes } = yield __privateGet(this, _paraCoreInterface).assertPartner();
|
|
198
|
+
const requiredWalletTypes = supportedWalletTypes.filter(({ optional }) => !optional);
|
|
199
|
+
for (const { type } of requiredWalletTypes) {
|
|
200
|
+
const hasWalletForType = __privateGet(this, _walletService).currentWalletIdsArray.some(([walletId, walletType]) => {
|
|
201
|
+
try {
|
|
202
|
+
const wallet = __privateGet(this, _walletService).wallets[walletId];
|
|
203
|
+
return wallet && walletType === type && typeof wallet.address === "string";
|
|
204
|
+
} catch (e) {
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
if (!hasWalletForType) {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
const allWalletsLoaded = __privateGet(this, _walletService).currentWalletIdsArray.every(([walletId]) => {
|
|
213
|
+
const wallet = __privateGet(this, _walletService).wallets[walletId];
|
|
214
|
+
return wallet && typeof wallet.address === "string";
|
|
215
|
+
});
|
|
216
|
+
if (!allWalletsLoaded) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
return true;
|
|
220
|
+
});
|
|
221
|
+
this.refreshSession = (..._0) => __async(this, [..._0], function* ({ shouldOpenPopup = false } = {}) {
|
|
222
|
+
const { sessionId } = yield this.touchSession(true);
|
|
223
|
+
if (!__privateGet(this, _paraCoreInterface).loginEncryptionKeyPair) {
|
|
224
|
+
yield __privateGet(this, _paraCoreInterface).setLoginEncryptionKeyPair();
|
|
225
|
+
}
|
|
226
|
+
const link = yield __privateGet(this, _portalUrlService).getLoginUrl({
|
|
227
|
+
sessionId
|
|
228
|
+
});
|
|
229
|
+
if (shouldOpenPopup) {
|
|
230
|
+
yield __privateGet(this, _paraCoreInterface).platformUtils.openPopup(link);
|
|
231
|
+
}
|
|
232
|
+
return link;
|
|
233
|
+
});
|
|
234
|
+
this.keepSessionAlive = () => __async(this, null, function* () {
|
|
235
|
+
try {
|
|
236
|
+
yield __privateGet(this, _paraCoreInterface).ctx.client.keepSessionAlive(__privateGet(this, _authService).userId);
|
|
237
|
+
return true;
|
|
238
|
+
} catch (e) {
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
this.getVerificationToken = () => __async(this, null, function* () {
|
|
243
|
+
const { sessionLookupId } = yield this.touchSession();
|
|
244
|
+
return sessionLookupId;
|
|
245
|
+
});
|
|
246
|
+
this.issueJwt = (..._0) => __async(this, [..._0], function* ({ keyIndex = 0 } = {}) {
|
|
247
|
+
try {
|
|
248
|
+
return yield __privateGet(this, _paraCoreInterface).ctx.client.issueJwt({ keyIndex });
|
|
249
|
+
} catch (error) {
|
|
250
|
+
if (error.status === 403 || error.status === 401) {
|
|
251
|
+
const errorMessage = "The user needs to be logged in to issue a JWT. Please log in and try again.";
|
|
252
|
+
__privateGet(this, _paraCoreInterface).displayModalError(errorMessage);
|
|
253
|
+
console.warn(errorMessage);
|
|
254
|
+
}
|
|
255
|
+
throw error;
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
__privateSet(this, _paraCoreInterface, paraCore.getSessionManagementServiceInterface());
|
|
259
|
+
}
|
|
260
|
+
get isImportedSession() {
|
|
261
|
+
return __privateGet(this, _isImportedSession) || false;
|
|
262
|
+
}
|
|
263
|
+
set isImportedSession(value) {
|
|
264
|
+
__privateSet(this, _isImportedSession, value);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
_authService = new WeakMap();
|
|
268
|
+
_portalUrlService = new WeakMap();
|
|
269
|
+
_walletService = new WeakMap();
|
|
270
|
+
_pregenWalletService = new WeakMap();
|
|
271
|
+
_externalWalletService = new WeakMap();
|
|
272
|
+
_paraCoreInterface = new WeakMap();
|
|
273
|
+
_isImportedSession = new WeakMap();
|
|
274
|
+
_regeneratePromise = new WeakMap();
|
|
275
|
+
_handleTouchSessionError = new WeakMap();
|
|
276
|
+
_doTouchSession = new WeakMap();
|
|
277
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
278
|
+
0 && (module.exports = {
|
|
279
|
+
SessionManagementService
|
|
280
|
+
});
|
|
@@ -0,0 +1,185 @@
|
|
|
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 __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __objRest = (source, exclude) => {
|
|
23
|
+
var target = {};
|
|
24
|
+
for (var prop in source)
|
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
}
|
|
32
|
+
return target;
|
|
33
|
+
};
|
|
34
|
+
var __export = (target, all) => {
|
|
35
|
+
for (var name in all)
|
|
36
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
37
|
+
};
|
|
38
|
+
var __copyProps = (to, from, except, desc) => {
|
|
39
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
40
|
+
for (let key of __getOwnPropNames(from))
|
|
41
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
42
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
43
|
+
}
|
|
44
|
+
return to;
|
|
45
|
+
};
|
|
46
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
47
|
+
var __async = (__this, __arguments, generator) => {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
var fulfilled = (value) => {
|
|
50
|
+
try {
|
|
51
|
+
step(generator.next(value));
|
|
52
|
+
} catch (e) {
|
|
53
|
+
reject(e);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var rejected = (value) => {
|
|
57
|
+
try {
|
|
58
|
+
step(generator.throw(value));
|
|
59
|
+
} catch (e) {
|
|
60
|
+
reject(e);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
64
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
var SignupFlowService_exports = {};
|
|
68
|
+
__export(SignupFlowService_exports, {
|
|
69
|
+
SignupFlowService: () => SignupFlowService
|
|
70
|
+
});
|
|
71
|
+
module.exports = __toCommonJS(SignupFlowService_exports);
|
|
72
|
+
var import_user_management_client = require("@getpara/user-management-client");
|
|
73
|
+
var import_BaseAuthFlowService = require("./BaseAuthFlowService.js");
|
|
74
|
+
var import_types = require("../types/index.js");
|
|
75
|
+
var import_utils = require("../utils/index.js");
|
|
76
|
+
var import_stateErrorHelpers = require("../utils/stateErrorHelpers.js");
|
|
77
|
+
var import_stateListener = require("../utils/stateListener.js");
|
|
78
|
+
class SignupFlowService extends import_BaseAuthFlowService.BaseAuthFlowService {
|
|
79
|
+
constructor() {
|
|
80
|
+
super(...arguments);
|
|
81
|
+
this.prepareState = (serverAuthState, opts) => __async(this, null, function* () {
|
|
82
|
+
yield this.setupAuthFromServerState(serverAuthState);
|
|
83
|
+
const _a = serverAuthState, { signupAuthMethods = [] } = _a, authState = __objRest(_a, ["signupAuthMethods"]);
|
|
84
|
+
const { useShortUrls: shorten = false, portalTheme } = opts;
|
|
85
|
+
const isPasskeySupported = yield this.paraCoreInterface.isPasskeySupported();
|
|
86
|
+
const [isPasskey, isPassword, isPIN] = [
|
|
87
|
+
signupAuthMethods.includes(import_user_management_client.AuthMethod.PASSKEY),
|
|
88
|
+
signupAuthMethods.includes(import_user_management_client.AuthMethod.PASSWORD) || !isPasskeySupported,
|
|
89
|
+
signupAuthMethods.includes(import_user_management_client.AuthMethod.PIN)
|
|
90
|
+
];
|
|
91
|
+
if (!isPasskey && !isPassword && !isPIN) {
|
|
92
|
+
throw new Error("No supported authentication methods found...");
|
|
93
|
+
}
|
|
94
|
+
const signupState = __spreadProps(__spreadValues({}, authState), {
|
|
95
|
+
isPasskeySupported,
|
|
96
|
+
signupAuthMethods
|
|
97
|
+
});
|
|
98
|
+
if (isPasskey) {
|
|
99
|
+
const { url: passkeyUrl, credentialId: passkeyId } = yield this.services.authService.getNewCredentialAndUrl({
|
|
100
|
+
authMethod: "PASSKEY",
|
|
101
|
+
shorten
|
|
102
|
+
});
|
|
103
|
+
if (passkeyUrl) signupState.passkeyUrl = passkeyUrl;
|
|
104
|
+
signupState.passkeyId = passkeyId;
|
|
105
|
+
}
|
|
106
|
+
if (isPassword) {
|
|
107
|
+
const { url: passwordUrl, credentialId: passwordId } = yield this.services.authService.getNewCredentialAndUrl({
|
|
108
|
+
authMethod: "PASSWORD",
|
|
109
|
+
portalTheme,
|
|
110
|
+
shorten
|
|
111
|
+
});
|
|
112
|
+
signupState.passwordUrl = passwordUrl;
|
|
113
|
+
signupState.passwordId = passwordId;
|
|
114
|
+
}
|
|
115
|
+
if (isPIN) {
|
|
116
|
+
const { url: pinUrl, credentialId: pinId } = yield this.services.authService.getNewCredentialAndUrl({
|
|
117
|
+
authMethod: "PIN",
|
|
118
|
+
portalTheme,
|
|
119
|
+
shorten
|
|
120
|
+
});
|
|
121
|
+
signupState.pinUrl = pinUrl;
|
|
122
|
+
signupState.pinId = pinId;
|
|
123
|
+
}
|
|
124
|
+
return signupState;
|
|
125
|
+
});
|
|
126
|
+
this.waitForSignup = (_0) => __async(this, [_0], function* ({ isCanceled = () => false, onCancel, onPoll }) {
|
|
127
|
+
this.stateManager.send({
|
|
128
|
+
type: "WAIT_FOR_SESSION",
|
|
129
|
+
data: {
|
|
130
|
+
onCancel,
|
|
131
|
+
onPoll,
|
|
132
|
+
isCanceled
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
return yield (0, import_stateListener.waitForAuthStateChange)({
|
|
136
|
+
stateManager: this.stateManager,
|
|
137
|
+
resolvePhases: [
|
|
138
|
+
{
|
|
139
|
+
phase: "authenticated",
|
|
140
|
+
onPhase: () => {
|
|
141
|
+
(0, import_utils.dispatchEvent)(import_types.ParaEvent.ACCOUNT_CREATION_EVENT, true);
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
onReject: (state) => {
|
|
147
|
+
var _a;
|
|
148
|
+
(_a = import_utils.dispatchEvent) == null ? void 0 : _a(import_types.ParaEvent.ACCOUNT_CREATION_EVENT, {}, (0, import_stateErrorHelpers.extractErrorMessage)(state.error, "failed to sign up user"));
|
|
149
|
+
},
|
|
150
|
+
waitForCoreAuthenticated: false
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
this.waitForWalletCreation = (..._0) => __async(this, [..._0], function* ({ isCanceled = () => false, onCancel, onPoll } = {}) {
|
|
154
|
+
this.stateManager.send({
|
|
155
|
+
type: "WAIT_FOR_WALLET_CREATION",
|
|
156
|
+
data: {
|
|
157
|
+
onCancel,
|
|
158
|
+
onPoll,
|
|
159
|
+
isCanceled
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
return yield (0, import_stateListener.waitForCoreStateChange)({
|
|
163
|
+
stateManager: this.stateManager,
|
|
164
|
+
resolvePhases: [
|
|
165
|
+
{
|
|
166
|
+
phase: "authenticated",
|
|
167
|
+
onPhase: (state) => {
|
|
168
|
+
const resp = state.newWalletsResult;
|
|
169
|
+
(0, import_utils.dispatchEvent)(import_types.ParaEvent.ACCOUNT_SETUP_EVENT, resp);
|
|
170
|
+
return resp;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
onReject: (state) => {
|
|
175
|
+
var _a;
|
|
176
|
+
(_a = import_utils.dispatchEvent) == null ? void 0 : _a(import_types.ParaEvent.ACCOUNT_SETUP_EVENT, {}, (0, import_stateErrorHelpers.extractErrorMessage)(state.error, "failed to sign up user"));
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
183
|
+
0 && (module.exports = {
|
|
184
|
+
SignupFlowService
|
|
185
|
+
});
|