@getpara/core-sdk 3.0.0-alpha.0 → 3.0.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 (106) hide show
  1. package/dist/cjs/ParaCore.js +436 -86
  2. package/dist/cjs/constants.js +1 -1
  3. package/dist/cjs/cryptography/utils.js +5 -2
  4. package/dist/cjs/errors.js +10 -0
  5. package/dist/cjs/external/userManagementClient.js +21 -4
  6. package/dist/cjs/index.js +67 -1
  7. package/dist/cjs/services/AuthService.js +66 -47
  8. package/dist/cjs/services/LoginFlowService.js +30 -27
  9. package/dist/cjs/services/PollingService.js +100 -75
  10. package/dist/cjs/services/PortalUrlService.js +112 -19
  11. package/dist/cjs/services/PregenWalletService.js +125 -76
  12. package/dist/cjs/services/SessionManagementService.js +15 -8
  13. package/dist/cjs/services/SignupFlowService.js +52 -47
  14. package/dist/cjs/services/VerificationFlowService.js +13 -10
  15. package/dist/cjs/services/WalletService.js +51 -36
  16. package/dist/cjs/shares/enclave.js +46 -26
  17. package/dist/cjs/state/CoreStateManager.js +17 -5
  18. package/dist/cjs/state/actors/setupPara.js +4 -1
  19. package/dist/cjs/state/machines/walletStateMachine.js +22 -0
  20. package/dist/cjs/telemetry/config.js +15 -0
  21. package/dist/cjs/telemetry/init.js +185 -0
  22. package/dist/cjs/telemetry/modalSession.js +54 -0
  23. package/dist/cjs/telemetry/session.js +39 -0
  24. package/dist/cjs/telemetry/tracer.js +126 -0
  25. package/dist/cjs/telemetry/uxAction.js +30 -0
  26. package/dist/cjs/telemetry/uxBaggagePropagator.js +58 -0
  27. package/dist/cjs/telemetry/uxState.js +46 -0
  28. package/dist/cjs/telemetry/uxStateSpanProcessor.js +51 -0
  29. package/dist/cjs/utils/configEncoding.js +98 -0
  30. package/dist/cjs/utils/deprecation.js +13 -13
  31. package/dist/cjs/utils/formatting.js +5 -0
  32. package/dist/cjs/utils/index.js +11 -0
  33. package/dist/cjs/utils/partnerConfig.js +103 -0
  34. package/dist/cjs/utils/partnerConfigGating.js +83 -0
  35. package/dist/cjs/utils/stateErrorHelpers.js +6 -1
  36. package/dist/cjs/utils/url.js +10 -2
  37. package/dist/esm/ParaCore.js +441 -88
  38. package/dist/esm/constants.js +1 -1
  39. package/dist/esm/cryptography/utils.js +5 -2
  40. package/dist/esm/errors.js +9 -0
  41. package/dist/esm/external/userManagementClient.js +21 -4
  42. package/dist/esm/index.js +58 -4
  43. package/dist/esm/services/AuthService.js +66 -47
  44. package/dist/esm/services/LoginFlowService.js +30 -27
  45. package/dist/esm/services/PollingService.js +100 -75
  46. package/dist/esm/services/PortalUrlService.js +112 -19
  47. package/dist/esm/services/PregenWalletService.js +125 -76
  48. package/dist/esm/services/SessionManagementService.js +15 -8
  49. package/dist/esm/services/SignupFlowService.js +52 -47
  50. package/dist/esm/services/VerificationFlowService.js +13 -10
  51. package/dist/esm/services/WalletService.js +51 -36
  52. package/dist/esm/shares/enclave.js +46 -26
  53. package/dist/esm/state/CoreStateManager.js +17 -5
  54. package/dist/esm/state/actors/setupPara.js +4 -1
  55. package/dist/esm/state/machines/walletStateMachine.js +22 -0
  56. package/dist/esm/telemetry/config.js +0 -0
  57. package/dist/esm/telemetry/init.js +118 -0
  58. package/dist/esm/telemetry/modalSession.js +29 -0
  59. package/dist/esm/telemetry/session.js +16 -0
  60. package/dist/esm/telemetry/tracer.js +84 -0
  61. package/dist/esm/telemetry/uxAction.js +8 -0
  62. package/dist/esm/telemetry/uxBaggagePropagator.js +35 -0
  63. package/dist/esm/telemetry/uxState.js +21 -0
  64. package/dist/esm/telemetry/uxStateSpanProcessor.js +28 -0
  65. package/dist/esm/utils/configEncoding.js +45 -0
  66. package/dist/esm/utils/deprecation.js +11 -12
  67. package/dist/esm/utils/formatting.js +4 -0
  68. package/dist/esm/utils/index.js +6 -0
  69. package/dist/esm/utils/partnerConfig.js +67 -0
  70. package/dist/esm/utils/partnerConfigGating.js +61 -0
  71. package/dist/esm/utils/stateErrorHelpers.js +6 -1
  72. package/dist/esm/utils/url.js +10 -2
  73. package/dist/types/ParaCore.d.ts +101 -19
  74. package/dist/types/PlatformUtils.d.ts +1 -0
  75. package/dist/types/errors.d.ts +26 -0
  76. package/dist/types/external/userManagementClient.d.ts +2 -1
  77. package/dist/types/index.d.ts +15 -3
  78. package/dist/types/services/types/AuthServiceTypes.d.ts +10 -3
  79. package/dist/types/services/types/PortalUrlServiceTypes.d.ts +3 -3
  80. package/dist/types/services/types/WalletServiceTypes.d.ts +4 -0
  81. package/dist/types/state/actors/setupPara.d.ts +18 -0
  82. package/dist/types/state/machines/authStateMachine.d.ts +1 -1
  83. package/dist/types/state/machines/coreStateMachine.d.ts +30 -6
  84. package/dist/types/state/machines/walletStateMachine.d.ts +4 -0
  85. package/dist/types/state/types/core.d.ts +7 -1
  86. package/dist/types/telemetry/config.d.ts +4 -0
  87. package/dist/types/telemetry/init.d.ts +17 -0
  88. package/dist/types/telemetry/modalSession.d.ts +5 -0
  89. package/dist/types/telemetry/session.d.ts +2 -0
  90. package/dist/types/telemetry/tracer.d.ts +10 -0
  91. package/dist/types/telemetry/uxAction.d.ts +3 -0
  92. package/dist/types/telemetry/uxBaggagePropagator.d.ts +7 -0
  93. package/dist/types/telemetry/uxState.d.ts +8 -0
  94. package/dist/types/telemetry/uxStateSpanProcessor.d.ts +9 -0
  95. package/dist/types/types/config.d.ts +15 -3
  96. package/dist/types/types/coreApi.d.ts +7 -9
  97. package/dist/types/types/serviceInterfaces.d.ts +5 -3
  98. package/dist/types/types/util.d.ts +2 -15
  99. package/dist/types/utils/configEncoding.d.ts +51 -0
  100. package/dist/types/utils/deprecation.d.ts +3 -1
  101. package/dist/types/utils/formatting.d.ts +1 -0
  102. package/dist/types/utils/index.d.ts +2 -0
  103. package/dist/types/utils/partnerConfig.d.ts +28 -0
  104. package/dist/types/utils/partnerConfigGating.d.ts +48 -0
  105. package/dist/types/utils/url.d.ts +3 -2
  106. package/package.json +14 -4
@@ -0,0 +1,58 @@
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 uxBaggagePropagator_exports = {};
25
+ __export(uxBaggagePropagator_exports, {
26
+ UxBaggagePropagator: () => UxBaggagePropagator
27
+ });
28
+ module.exports = __toCommonJS(uxBaggagePropagator_exports);
29
+ var import_api = require("@opentelemetry/api");
30
+ var import_core = require("@opentelemetry/core");
31
+ var import_uxState = require("./uxState.js");
32
+ var import_session = require("./session.js");
33
+ var _inner;
34
+ class UxBaggagePropagator {
35
+ constructor() {
36
+ __privateAdd(this, _inner, new import_core.W3CBaggagePropagator());
37
+ }
38
+ inject(ctx, carrier, setter) {
39
+ var _a;
40
+ const state = (0, import_uxState.getUxState)();
41
+ let bag = (_a = import_api.propagation.getBaggage(ctx)) != null ? _a : import_api.propagation.createBaggage();
42
+ bag = bag.setEntry("ui.session_id", { value: (0, import_session.getOrCreateSessionId)() });
43
+ if (state.view) bag = bag.setEntry("ui.view", { value: state.view });
44
+ if (state.lastInteraction) bag = bag.setEntry("ui.last_interaction", { value: state.lastInteraction });
45
+ __privateGet(this, _inner).inject(import_api.propagation.setBaggage(ctx, bag), carrier, setter);
46
+ }
47
+ extract(ctx, carrier, getter) {
48
+ return __privateGet(this, _inner).extract(ctx, carrier, getter);
49
+ }
50
+ fields() {
51
+ return __privateGet(this, _inner).fields();
52
+ }
53
+ }
54
+ _inner = new WeakMap();
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ UxBaggagePropagator
58
+ });
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var uxState_exports = {};
19
+ __export(uxState_exports, {
20
+ __resetUxStateForTests: () => __resetUxStateForTests,
21
+ getUxState: () => getUxState,
22
+ setCurrentView: () => setCurrentView,
23
+ setLastInteraction: () => setLastInteraction
24
+ });
25
+ module.exports = __toCommonJS(uxState_exports);
26
+ const state = {};
27
+ function getUxState() {
28
+ return state;
29
+ }
30
+ function setCurrentView(view) {
31
+ state.view = view;
32
+ }
33
+ function setLastInteraction(targetId) {
34
+ state.lastInteraction = targetId;
35
+ }
36
+ function __resetUxStateForTests() {
37
+ state.view = void 0;
38
+ state.lastInteraction = void 0;
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ __resetUxStateForTests,
43
+ getUxState,
44
+ setCurrentView,
45
+ setLastInteraction
46
+ });
@@ -0,0 +1,51 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var uxStateSpanProcessor_exports = {};
19
+ __export(uxStateSpanProcessor_exports, {
20
+ UxStateSpanProcessor: () => UxStateSpanProcessor,
21
+ setCurrentUserId: () => setCurrentUserId
22
+ });
23
+ module.exports = __toCommonJS(uxStateSpanProcessor_exports);
24
+ var import_uxState = require("./uxState.js");
25
+ var import_session = require("./session.js");
26
+ let currentUserId;
27
+ function setCurrentUserId(userId) {
28
+ currentUserId = userId;
29
+ }
30
+ class UxStateSpanProcessor {
31
+ onStart(span, _parentContext) {
32
+ const state = (0, import_uxState.getUxState)();
33
+ span.setAttribute("ui.session_id", (0, import_session.getOrCreateSessionId)());
34
+ if (currentUserId) span.setAttribute("user.id", currentUserId);
35
+ if (state.view) span.setAttribute("ui.view", state.view);
36
+ if (state.lastInteraction) span.setAttribute("ui.last_interaction", state.lastInteraction);
37
+ }
38
+ onEnd() {
39
+ }
40
+ forceFlush() {
41
+ return Promise.resolve();
42
+ }
43
+ shutdown() {
44
+ return Promise.resolve();
45
+ }
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ UxStateSpanProcessor,
50
+ setCurrentUserId
51
+ });
@@ -0,0 +1,98 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var __async = (__this, __arguments, generator) => {
29
+ return new Promise((resolve, reject) => {
30
+ var fulfilled = (value) => {
31
+ try {
32
+ step(generator.next(value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ };
37
+ var rejected = (value) => {
38
+ try {
39
+ step(generator.throw(value));
40
+ } catch (e) {
41
+ reject(e);
42
+ }
43
+ };
44
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
45
+ step((generator = generator.apply(__this, __arguments)).next());
46
+ });
47
+ };
48
+ var configEncoding_exports = {};
49
+ __export(configEncoding_exports, {
50
+ ENCODED_CONFIG_VERSION: () => ENCODED_CONFIG_VERSION,
51
+ encodeConfigParams: () => encodeConfigParams,
52
+ isCompressionStreamSupported: () => isCompressionStreamSupported,
53
+ tryDecodeConfig: () => tryDecodeConfig
54
+ });
55
+ module.exports = __toCommonJS(configEncoding_exports);
56
+ var import_buffer = require("buffer");
57
+ var import_base64url = __toESM(require("base64url"));
58
+ const ENCODED_CONFIG_VERSION = 1;
59
+ function isCompressionStreamSupported() {
60
+ return typeof CompressionStream !== "undefined" && typeof DecompressionStream !== "undefined";
61
+ }
62
+ function encodeConfigParams(config) {
63
+ return __async(this, null, function* () {
64
+ if (!isCompressionStreamSupported()) return null;
65
+ try {
66
+ const json = JSON.stringify(config);
67
+ const stream = new Blob([json]).stream().pipeThrough(new CompressionStream("gzip"));
68
+ const compressed = new Uint8Array(yield new Response(stream).arrayBuffer());
69
+ return import_base64url.default.encode(import_buffer.Buffer.from(compressed));
70
+ } catch (e) {
71
+ return null;
72
+ }
73
+ });
74
+ }
75
+ function tryDecodeConfig(s) {
76
+ return __async(this, null, function* () {
77
+ if (!isCompressionStreamSupported()) return null;
78
+ if (!/^[A-Za-z0-9_-]+$/.test(s)) return null;
79
+ try {
80
+ const compressed = import_base64url.default.toBuffer(s);
81
+ const stream = new Blob([compressed]).stream().pipeThrough(new DecompressionStream("gzip"));
82
+ const json = yield new Response(stream).text();
83
+ const parsed = JSON.parse(json);
84
+ if (!parsed || typeof parsed !== "object") return null;
85
+ if (parsed.v !== ENCODED_CONFIG_VERSION) return null;
86
+ return parsed;
87
+ } catch (e) {
88
+ return null;
89
+ }
90
+ });
91
+ }
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ ENCODED_CONFIG_VERSION,
95
+ encodeConfigParams,
96
+ isCompressionStreamSupported,
97
+ tryDecodeConfig
98
+ });
@@ -17,22 +17,22 @@ var __copyProps = (to, from, except, desc) => {
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
  var deprecation_exports = {};
19
19
  __export(deprecation_exports, {
20
- warnPregenDeprecation: () => warnPregenDeprecation
20
+ _resetWarnOnceForTests: () => _resetWarnOnceForTests,
21
+ warnOnce: () => warnOnce
21
22
  });
22
23
  module.exports = __toCommonJS(deprecation_exports);
23
- const MIGRATION_GUIDE_URL = "https://docs.getpara.com/v2/rest/migrate-from-sdk-pregen";
24
- const warned = /* @__PURE__ */ new Set();
25
- function warnPregenDeprecation(methodName) {
26
- if (warned.has(methodName)) return;
27
- warned.add(methodName);
28
- console.warn(
29
- `[Para] ${methodName}() is deprecated and will be removed in a future release.
30
- \u2192 New integrations: use the REST API instead
31
- \u2192 Existing wallets: use para.migrateWalletShare() to migrate
32
- \u2192 Guide: ${MIGRATION_GUIDE_URL}`
33
- );
24
+ const warnedScopedKeys = /* @__PURE__ */ new Set();
25
+ function warnOnce(scope, key, message) {
26
+ const fullKey = `${scope}::${key}`;
27
+ if (warnedScopedKeys.has(fullKey)) return;
28
+ warnedScopedKeys.add(fullKey);
29
+ console.warn(`[Para] ${message}`);
30
+ }
31
+ function _resetWarnOnceForTests() {
32
+ warnedScopedKeys.clear();
34
33
  }
35
34
  // Annotate the CommonJS export names for ESM import in node:
36
35
  0 && (module.exports = {
37
- warnPregenDeprecation
36
+ _resetWarnOnceForTests,
37
+ warnOnce
38
38
  });
@@ -27,6 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
28
  var formatting_exports = {};
29
29
  __export(formatting_exports, {
30
+ base58ToBase64: () => base58ToBase64,
30
31
  compressPubkey: () => compressPubkey,
31
32
  decimalToHex: () => decimalToHex,
32
33
  getCosmosAddress: () => getCosmosAddress,
@@ -51,6 +52,9 @@ function hexStringToBase64(hexString) {
51
52
  }
52
53
  return Buffer.from(hexString, "hex").toString("base64");
53
54
  }
55
+ function base58ToBase64(base58Str) {
56
+ return Buffer.from(base58Decode(base58Str)).toString("base64");
57
+ }
54
58
  function hexToSignature(hexSig) {
55
59
  return {
56
60
  r: `0x${hexSig.slice(2, 66)}`,
@@ -202,6 +206,7 @@ function truncateAddress(str, addressType, {
202
206
  }
203
207
  // Annotate the CommonJS export names for ESM import in node:
204
208
  0 && (module.exports = {
209
+ base58ToBase64,
205
210
  compressPubkey,
206
211
  decimalToHex,
207
212
  getCosmosAddress,
@@ -2,6 +2,10 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
5
9
  var __copyProps = (to, from, except, desc) => {
6
10
  if (from && typeof from === "object" || typeof from === "function") {
7
11
  for (let key of __getOwnPropNames(from))
@@ -13,14 +17,19 @@ var __copyProps = (to, from, except, desc) => {
13
17
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
19
  var utils_exports = {};
20
+ __export(utils_exports, {
21
+ warnOnce: () => import_deprecation.warnOnce
22
+ });
16
23
  module.exports = __toCommonJS(utils_exports);
17
24
  __reExport(utils_exports, require("./autobind.js"), module.exports);
18
25
  __reExport(utils_exports, require("./config.js"), module.exports);
26
+ var import_deprecation = require("./deprecation.js");
19
27
  __reExport(utils_exports, require("./events.js"), module.exports);
20
28
  __reExport(utils_exports, require("./formatting.js"), module.exports);
21
29
  __reExport(utils_exports, require("./json.js"), module.exports);
22
30
  __reExport(utils_exports, require("./listeners.js"), module.exports);
23
31
  __reExport(utils_exports, require("./onRamps.js"), module.exports);
32
+ __reExport(utils_exports, require("./partnerConfig.js"), module.exports);
24
33
  __reExport(utils_exports, require("./phone.js"), module.exports);
25
34
  __reExport(utils_exports, require("./polling.js"), module.exports);
26
35
  __reExport(utils_exports, require("./types.js"), module.exports);
@@ -29,6 +38,7 @@ __reExport(utils_exports, require("./wallet.js"), module.exports);
29
38
  __reExport(utils_exports, require("./window.js"), module.exports);
30
39
  // Annotate the CommonJS export names for ESM import in node:
31
40
  0 && (module.exports = {
41
+ warnOnce,
32
42
  ...require("./autobind.js"),
33
43
  ...require("./config.js"),
34
44
  ...require("./events.js"),
@@ -36,6 +46,7 @@ __reExport(utils_exports, require("./window.js"), module.exports);
36
46
  ...require("./json.js"),
37
47
  ...require("./listeners.js"),
38
48
  ...require("./onRamps.js"),
49
+ ...require("./partnerConfig.js"),
39
50
  ...require("./phone.js"),
40
51
  ...require("./polling.js"),
41
52
  ...require("./types.js"),
@@ -0,0 +1,103 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __export = (target, all) => {
20
+ for (var name in all)
21
+ __defProp(target, name, { get: all[name], enumerable: true });
22
+ };
23
+ var __copyProps = (to, from, except, desc) => {
24
+ if (from && typeof from === "object" || typeof from === "function") {
25
+ for (let key of __getOwnPropNames(from))
26
+ if (!__hasOwnProp.call(to, key) && key !== except)
27
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
28
+ }
29
+ return to;
30
+ };
31
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
+ var partnerConfig_exports = {};
33
+ __export(partnerConfig_exports, {
34
+ DEFAULT_PARTNER_APP_CONFIG: () => DEFAULT_PARTNER_APP_CONFIG,
35
+ mergePartnerAppConfig: () => import_user_management_client.mergePartnerAppConfig,
36
+ partnerToAppConfigLayer: () => partnerToAppConfigLayer
37
+ });
38
+ module.exports = __toCommonJS(partnerConfig_exports);
39
+ var import_user_management_client = require("@getpara/user-management-client");
40
+ const DEFAULT_PARTNER_APP_CONFIG = {};
41
+ function partnerToAppConfigLayer(partner) {
42
+ var _a;
43
+ const layer = {};
44
+ const themeConfig = (_a = partner.themeConfig) != null ? _a : synthesizeLegacyTheme(partner);
45
+ if (themeConfig) layer.themeConfig = themeConfig;
46
+ const authConfig = synthesizeAuthConfig(partner);
47
+ if (authConfig) layer.authConfig = authConfig;
48
+ const modalConfig = synthesizeModalConfig(partner);
49
+ if (modalConfig) layer.modalConfig = modalConfig;
50
+ if (partner.partnerLinks) layer.partnerLinks = partner.partnerLinks;
51
+ if (partner.externalWalletConfig) layer.externalWalletConfig = partner.externalWalletConfig;
52
+ if (partner.farcasterConfig) layer.farcasterConfig = partner.farcasterConfig;
53
+ if (partner.rpcUrl) layer.rpcUrl = partner.rpcUrl;
54
+ if (partner.displayName) layer.appName = partner.displayName;
55
+ if (partner.supportedWalletTypes) layer.supportedWalletTypes = partner.supportedWalletTypes;
56
+ if (partner.supportedAccountLinks) layer.supportedAccountLinks = partner.supportedAccountLinks;
57
+ if (partner.balancesConfig) layer.balancesConfig = partner.balancesConfig;
58
+ return layer;
59
+ }
60
+ function synthesizeAuthConfig(partner) {
61
+ const result = {};
62
+ const stored = partner.authConfig;
63
+ if (stored) {
64
+ if (stored.oAuthMethods != null) result.oAuthMethods = stored.oAuthMethods;
65
+ if (stored.disableEmailLogin != null) result.disableEmailLogin = stored.disableEmailLogin;
66
+ if (stored.disablePhoneLogin != null) result.disablePhoneLogin = stored.disablePhoneLogin;
67
+ if (stored.twoFactorAuthEnabled != null) result.twoFactorAuthEnabled = stored.twoFactorAuthEnabled;
68
+ if (stored.isGuestModeEnabled != null) result.isGuestModeEnabled = stored.isGuestModeEnabled;
69
+ if (stored.supportedAuthMethods != null) result.supportedAuthMethods = stored.supportedAuthMethods;
70
+ }
71
+ if (result.supportedAuthMethods === void 0) {
72
+ const legacy = partner.supportedAuthMethods;
73
+ const isMeaningful = legacy && !(legacy.length === 1 && legacy[0] === import_user_management_client.AuthMethod.PASSKEY);
74
+ if (isMeaningful) {
75
+ result.supportedAuthMethods = legacy;
76
+ }
77
+ }
78
+ return Object.keys(result).length > 0 ? result : void 0;
79
+ }
80
+ function synthesizeModalConfig(partner) {
81
+ var _a, _b;
82
+ const stored = (_a = partner.modalConfig) != null ? _a : void 0;
83
+ const logo = (_b = partner.logoUrl) != null ? _b : void 0;
84
+ if (!stored && logo === void 0) return void 0;
85
+ return __spreadValues(__spreadValues({}, stored != null ? stored : {}), logo !== void 0 && { logo });
86
+ }
87
+ function synthesizeLegacyTheme(partner) {
88
+ const hasActiveThemeData = partner.backgroundColor || partner.foregroundColor || partner.accentColor || partner.font || partner.themeMode === "DARK";
89
+ if (!hasActiveThemeData) return void 0;
90
+ const theme = {};
91
+ if (partner.backgroundColor) theme.backgroundColor = partner.backgroundColor;
92
+ if (partner.foregroundColor) theme.foregroundColor = partner.foregroundColor;
93
+ if (partner.accentColor) theme.accentColor = partner.accentColor;
94
+ if (partner.font) theme.font = partner.font;
95
+ if (partner.themeMode === "DARK") theme.mode = "dark";
96
+ return theme;
97
+ }
98
+ // Annotate the CommonJS export names for ESM import in node:
99
+ 0 && (module.exports = {
100
+ DEFAULT_PARTNER_APP_CONFIG,
101
+ mergePartnerAppConfig,
102
+ partnerToAppConfigLayer
103
+ });
@@ -0,0 +1,83 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var partnerConfigGating_exports = {};
19
+ __export(partnerConfigGating_exports, {
20
+ assertConfigAllowed: () => assertConfigAllowed
21
+ });
22
+ module.exports = __toCommonJS(partnerConfigGating_exports);
23
+ var import_errors = require("../errors.js");
24
+ function assertConfigAllowed(config, check) {
25
+ var _a, _b, _c, _d, _e;
26
+ switch (check.kind) {
27
+ case "email": {
28
+ if ((_a = config.authConfig) == null ? void 0 : _a.disableEmailLogin) {
29
+ throw new import_errors.PartnerConfigError(
30
+ "EMAIL_LOGIN_DISABLED",
31
+ "Email login is disabled for this partner. Update partner.authConfig.disableEmailLogin in the developer portal to enable it."
32
+ );
33
+ }
34
+ return;
35
+ }
36
+ case "phone": {
37
+ if ((_b = config.authConfig) == null ? void 0 : _b.disablePhoneLogin) {
38
+ throw new import_errors.PartnerConfigError(
39
+ "PHONE_LOGIN_DISABLED",
40
+ "Phone login is disabled for this partner. Update partner.authConfig.disablePhoneLogin in the developer portal to enable it."
41
+ );
42
+ }
43
+ return;
44
+ }
45
+ case "oauth": {
46
+ const allowed = (_c = config.authConfig) == null ? void 0 : _c.oAuthMethods;
47
+ if (allowed !== void 0 && !allowed.includes(check.method)) {
48
+ throw new import_errors.PartnerConfigError(
49
+ "OAUTH_METHOD_NOT_ALLOWED",
50
+ `OAuth method "${check.method}" is not in the partner's allowlist. Allowed: ${allowed.length === 0 ? "(none)" : allowed.join(", ")}.`,
51
+ check.method
52
+ );
53
+ }
54
+ return;
55
+ }
56
+ case "2fa": {
57
+ if (((_d = config.authConfig) == null ? void 0 : _d.twoFactorAuthEnabled) === false) {
58
+ throw new import_errors.PartnerConfigError(
59
+ "TWO_FACTOR_DISABLED",
60
+ "2FA is disabled for this partner. Update partner.authConfig.twoFactorAuthEnabled in the developer portal to enable it."
61
+ );
62
+ }
63
+ return;
64
+ }
65
+ case "guest": {
66
+ if (((_e = config.authConfig) == null ? void 0 : _e.isGuestModeEnabled) === false) {
67
+ throw new import_errors.PartnerConfigError(
68
+ "GUEST_MODE_DISABLED",
69
+ "Guest mode is disabled for this partner. Update partner.authConfig.isGuestModeEnabled in the developer portal to enable it."
70
+ );
71
+ }
72
+ return;
73
+ }
74
+ default: {
75
+ const _exhaustive = check;
76
+ throw new Error(`assertConfigAllowed: unhandled ConfigCheck kind ${JSON.stringify(_exhaustive)}`);
77
+ }
78
+ }
79
+ }
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ assertConfigAllowed
83
+ });
@@ -45,7 +45,12 @@ function formatStateError(error, defaultMessage) {
45
45
  return new Error(error);
46
46
  }
47
47
  if (error && typeof error === "object" && "message" in error) {
48
- return new Error(String(error.message));
48
+ const src = error;
49
+ const normalized = Object.assign(new Error(String(src.message)), {});
50
+ if ("code" in src) normalized.code = src.code;
51
+ if ("status" in src) normalized.status = src.status;
52
+ if ("data" in src) normalized.data = src.data;
53
+ return normalized;
49
54
  }
50
55
  if (error && typeof error === "object" && "error" in error) {
51
56
  return formatStateError(error.error, defaultMessage);
@@ -47,6 +47,10 @@ __export(url_exports, {
47
47
  module.exports = __toCommonJS(url_exports);
48
48
  var import_transmissionUtils = require("../transmission/transmissionUtils.js");
49
49
  var import_types = require("../types/index.js");
50
+ function getGlobalPortalUrlOverride() {
51
+ const override = typeof globalThis !== "undefined" ? globalThis.__PARA_PORTAL_URL_OVERRIDE__ : void 0;
52
+ return typeof override === "string" && override ? override : void 0;
53
+ }
50
54
  function getPortalDomain(env, isE2E, isLegacy) {
51
55
  if (isE2E) {
52
56
  return `localhost`;
@@ -65,7 +69,11 @@ function getPortalDomain(env, isE2E, isLegacy) {
65
69
  throw new Error(`env: ${env} not supported`);
66
70
  }
67
71
  }
68
- function getPortalBaseURL({ env, isE2E }, useLocalIp, isForWasm, isLegacy) {
72
+ function getPortalBaseURL({ env, isE2E, portalUrlOverride }, useLocalIp, isForWasm, isLegacy) {
73
+ const resolvedPortalUrlOverride = portalUrlOverride != null ? portalUrlOverride : getGlobalPortalUrlOverride();
74
+ if (resolvedPortalUrlOverride && !isForWasm) {
75
+ return new URL(resolvedPortalUrlOverride).origin;
76
+ }
69
77
  if (isE2E) {
70
78
  if (isForWasm) {
71
79
  return `https://app.sandbox.getpara.com`;
@@ -88,7 +96,7 @@ function getParaConnectDomain(env) {
88
96
  case import_types.Environment.SANDBOX:
89
97
  return "connect.sandbox.getpara.com";
90
98
  case import_types.Environment.BETA:
91
- return "connect.beta.getpara.com";
99
+ return "connect.getpara.com";
92
100
  case import_types.Environment.PROD:
93
101
  return "connect.getpara.com";
94
102
  default: