@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,437 @@
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 __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
+ var __async = (__this, __arguments, generator) => {
36
+ return new Promise((resolve, reject) => {
37
+ var fulfilled = (value) => {
38
+ try {
39
+ step(generator.next(value));
40
+ } catch (e) {
41
+ reject(e);
42
+ }
43
+ };
44
+ var rejected = (value) => {
45
+ try {
46
+ step(generator.throw(value));
47
+ } catch (e) {
48
+ reject(e);
49
+ }
50
+ };
51
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
52
+ step((generator = generator.apply(__this, __arguments)).next());
53
+ });
54
+ };
55
+ var walletStateMachine_exports = {};
56
+ __export(walletStateMachine_exports, {
57
+ createWalletStateMachine: () => createWalletStateMachine
58
+ });
59
+ module.exports = __toCommonJS(walletStateMachine_exports);
60
+ var import_xstate = require("xstate");
61
+ var import_polling = require("../actors/polling.js");
62
+ var import_claimWallets = require("../actors/claimWallets.js");
63
+ var import_createWallets = require("../actors/createWallets.js");
64
+ var import_setupAfterLogin = require("../actors/setupAfterLogin.js");
65
+ var import_stateErrorHelpers = require("../../utils/stateErrorHelpers.js");
66
+ var import_connectExternalConnectors = require("../actors/connectExternalConnectors.js");
67
+ var import_createGuestWallets = require("../actors/createGuestWallets.js");
68
+ function createWalletStateMachine(paraCoreInterface) {
69
+ return (0, import_xstate.setup)({
70
+ types: {
71
+ context: {},
72
+ events: {}
73
+ },
74
+ actors: {
75
+ polling: (0, import_polling.createPollingActor)(paraCoreInterface.pollingService),
76
+ claimWallets: (0, import_claimWallets.createClaimWalletsActor)(paraCoreInterface.pregenWalletService),
77
+ createWallets: (0, import_createWallets.createCreateWalletsActor)(paraCoreInterface.walletService),
78
+ setupAfterLogin: (0, import_setupAfterLogin.createSetupAfterLoginActor)(paraCoreInterface),
79
+ connectParaConnectors: (0, import_connectExternalConnectors.createConnectParaConnectorsActor)(paraCoreInterface.externalWalletService),
80
+ createGuestWallets: (0, import_createGuestWallets.createCreateGuestWalletsActor)(paraCoreInterface.pregenWalletService)
81
+ },
82
+ actions: {
83
+ setPollingCallbacks: (0, import_xstate.assign)({
84
+ pollingCallbacks: ({ event }) => {
85
+ if ("data" in event && event.data && typeof event.data === "object" && "pollingCallbacks" in event.data) {
86
+ return event.data.pollingCallbacks || null;
87
+ }
88
+ return null;
89
+ }
90
+ }),
91
+ incrementWalletRetry: (0, import_xstate.assign)({
92
+ retryAttempts: ({ context }, params) => {
93
+ var _a;
94
+ const newCount = (((_a = context.retryAttempts) == null ? void 0 : _a[params.type]) || 0) + 1;
95
+ paraCoreInterface.devLog(`[wallet] Retry ${params.type}: attempt ${newCount}/3`);
96
+ return __spreadProps(__spreadValues({}, context.retryAttempts), {
97
+ [params.type]: newCount
98
+ });
99
+ }
100
+ })
101
+ },
102
+ guards: {
103
+ canRetryClaiming: ({ context }) => {
104
+ var _a;
105
+ return (((_a = context.retryAttempts) == null ? void 0 : _a.claiming) || 0) < 3;
106
+ },
107
+ canRetryCreating: ({ context }) => {
108
+ var _a;
109
+ return (((_a = context.retryAttempts) == null ? void 0 : _a.creating) || 0) < 3;
110
+ },
111
+ canRetryConnecting: ({ context }) => {
112
+ var _a;
113
+ return (((_a = context.retryAttempts) == null ? void 0 : _a.connecting) || 0) < 3;
114
+ },
115
+ isNoWalletConfig: () => paraCoreInterface.isNoWalletConfig,
116
+ isExternalWalletConnectionOnly: () => paraCoreInterface.externalWalletService.externalWalletConnectionType === "CONNECTION_ONLY" || paraCoreInterface.externalWalletService.externalWalletConnectionType === "VERIFICATION",
117
+ isNewUser: ({ context }) => {
118
+ var _a;
119
+ return ((_a = context.authData) == null ? void 0 : _a.isNewUser) || false;
120
+ },
121
+ shouldAutoCreate: ({ context }) => {
122
+ var _a;
123
+ return ((_a = context.authData) == null ? void 0 : _a.shouldAutoCreateWallets) || false;
124
+ },
125
+ needsWallets: ({ context }) => context.needsWallet,
126
+ isLegacyOrEnclaveLogin: ({ context }) => {
127
+ var _a, _b;
128
+ const stage = (_b = (_a = context.authData) == null ? void 0 : _a.authStateResult) == null ? void 0 : _b.stage;
129
+ return stage === "login" || stage === "done" || stage === "verify" && paraCoreInterface.authService.isEnclaveUser;
130
+ },
131
+ hasPreviousWalletsResult: ({ context }) => context.newWalletsResult !== null,
132
+ // Check if the auth state is guest mode
133
+ isGuestMode: ({ context }) => {
134
+ var _a;
135
+ return ((_a = context.authData) == null ? void 0 : _a.isGuestMode) || false;
136
+ },
137
+ // Check if the user actually needs guest wallets created
138
+ needsGuestWallets: () => !paraCoreInterface.pregenWalletService.isGuestMode,
139
+ // Check if the user should claim guest wallets
140
+ shouldClaimGuestWallets: () => paraCoreInterface.pregenWalletService.isGuestMode
141
+ }
142
+ }).createMachine({
143
+ id: "wallets",
144
+ initial: "checking_wallet_state",
145
+ context: ({ input }) => ({
146
+ needsWallet: false,
147
+ newWalletsResult: (input == null ? void 0 : input.previousWalletsResult) || null,
148
+ temporaryShares: null,
149
+ pollingCallbacks: null,
150
+ error: null,
151
+ authData: {
152
+ isNewUser: (input == null ? void 0 : input.isNewUser) || false,
153
+ authStateResult: (input == null ? void 0 : input.authStateResult) || null,
154
+ shouldAutoCreateWallets: (input == null ? void 0 : input.shouldAutoCreateWallets) || false,
155
+ skipSessionRefreshOnSetup: (input == null ? void 0 : input.skipSessionRefreshOnSetup) || false,
156
+ isGuestMode: (input == null ? void 0 : input.isGuestMode) || false
157
+ },
158
+ guestWallets: null,
159
+ retryAttempts: {}
160
+ }),
161
+ states: {
162
+ checking_wallet_state: {
163
+ always: [
164
+ {
165
+ target: "creating_guest_wallets",
166
+ guard: (0, import_xstate.and)(["isGuestMode", "needsGuestWallets"])
167
+ },
168
+ {
169
+ target: "guest_mode",
170
+ guard: (0, import_xstate.and)(["isGuestMode"])
171
+ },
172
+ {
173
+ target: "no_wallets_needed",
174
+ guard: (0, import_xstate.or)(["isNoWalletConfig", "isExternalWalletConnectionOnly"])
175
+ },
176
+ {
177
+ // Skip claiming if we already have wallet results from a previous attempt
178
+ target: "creating_wallets",
179
+ guard: (0, import_xstate.and)(["hasPreviousWalletsResult", (0, import_xstate.or)(["isNewUser", "shouldAutoCreate"])])
180
+ },
181
+ {
182
+ target: "claiming_wallets",
183
+ guard: (0, import_xstate.and)([(0, import_xstate.or)(["isNewUser", "shouldClaimGuestWallets"]), "shouldAutoCreate"])
184
+ },
185
+ {
186
+ target: "needs_wallets",
187
+ guard: "isNewUser"
188
+ },
189
+ {
190
+ target: "waiting_for_wallets",
191
+ guard: "isLegacyOrEnclaveLogin"
192
+ },
193
+ {
194
+ target: "connecting_para_connectors"
195
+ }
196
+ ]
197
+ },
198
+ needs_wallets: {
199
+ on: {
200
+ WAIT_FOR_WALLET_CREATION: {
201
+ target: "claiming_wallets",
202
+ actions: "setPollingCallbacks"
203
+ }
204
+ }
205
+ },
206
+ creating_guest_wallets: {
207
+ invoke: {
208
+ src: "createGuestWallets",
209
+ onDone: [
210
+ {
211
+ target: "guest_mode",
212
+ actions: (0, import_xstate.assign)({
213
+ guestWallets: ({ event }) => {
214
+ return event.output || null;
215
+ }
216
+ })
217
+ }
218
+ ],
219
+ onError: {
220
+ target: "error",
221
+ actions: (0, import_xstate.assign)({
222
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Failed to create guest wallets")
223
+ })
224
+ }
225
+ }
226
+ },
227
+ claiming_wallets: {
228
+ invoke: {
229
+ src: "claimWallets",
230
+ input: ({ context }) => {
231
+ var _a, _b;
232
+ return { retryCount: (_b = (_a = context.retryAttempts) == null ? void 0 : _a.claiming) != null ? _b : 0 };
233
+ },
234
+ onDone: [
235
+ {
236
+ target: "creating_wallets",
237
+ actions: (0, import_xstate.assign)({
238
+ newWalletsResult: ({ event }) => {
239
+ return event.output || null;
240
+ }
241
+ }),
242
+ guard: (0, import_xstate.or)(["isNewUser", "needsWallets"])
243
+ },
244
+ {
245
+ target: "connecting_para_connectors"
246
+ }
247
+ ],
248
+ onError: [
249
+ {
250
+ target: "claiming_wallets",
251
+ guard: "canRetryClaiming",
252
+ actions: [{ type: "incrementWalletRetry", params: { type: "claiming" } }]
253
+ },
254
+ {
255
+ target: "error",
256
+ actions: (0, import_xstate.assign)({
257
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Failed to claim wallets")
258
+ })
259
+ }
260
+ ]
261
+ }
262
+ },
263
+ creating_wallets: {
264
+ invoke: {
265
+ src: "createWallets",
266
+ input: ({ context }) => {
267
+ var _a, _b;
268
+ return __spreadProps(__spreadValues({}, context.newWalletsResult), { retryCount: (_b = (_a = context.retryAttempts) == null ? void 0 : _a.creating) != null ? _b : 0 });
269
+ },
270
+ onDone: {
271
+ target: "connecting_para_connectors",
272
+ actions: (0, import_xstate.assign)({
273
+ newWalletsResult: ({ event }) => {
274
+ return event.output || null;
275
+ }
276
+ })
277
+ },
278
+ onError: [
279
+ {
280
+ target: "creating_wallets",
281
+ guard: "canRetryCreating",
282
+ actions: [{ type: "incrementWalletRetry", params: { type: "creating" } }]
283
+ },
284
+ {
285
+ target: "error",
286
+ actions: (0, import_xstate.assign)({
287
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Failed to create wallets")
288
+ })
289
+ }
290
+ ]
291
+ }
292
+ },
293
+ waiting_for_wallets: {
294
+ invoke: {
295
+ src: "polling",
296
+ input: ({ context, self }) => {
297
+ var _a;
298
+ return {
299
+ checkCondition: () => __async(this, null, function* () {
300
+ try {
301
+ return yield paraCoreInterface.pollingService.waitForWallets({ parent: self })();
302
+ } catch (error) {
303
+ throw new Error(`Wallet polling failed: ${(0, import_stateErrorHelpers.extractErrorMessage)(error, "Unknown error")}`);
304
+ }
305
+ }),
306
+ onPoll: () => {
307
+ var _a2, _b;
308
+ return (_b = (_a2 = context.pollingCallbacks) == null ? void 0 : _a2.onPoll) == null ? void 0 : _b.call(_a2);
309
+ },
310
+ onCancel: () => {
311
+ var _a2, _b;
312
+ return (_b = (_a2 = context.pollingCallbacks) == null ? void 0 : _a2.onCancel) == null ? void 0 : _b.call(_a2);
313
+ },
314
+ isCanceled: ((_a = context.pollingCallbacks) == null ? void 0 : _a.isCanceled) || (() => false),
315
+ id: "waitingForWallets"
316
+ };
317
+ },
318
+ onError: {
319
+ target: "error",
320
+ actions: (0, import_xstate.assign)({
321
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Wallet polling failed")
322
+ })
323
+ }
324
+ },
325
+ entry: "setPollingCallbacks",
326
+ on: {
327
+ SET_NEEDS_WALLET: {
328
+ actions: (0, import_xstate.assign)({
329
+ needsWallet: ({ event }) => {
330
+ if ("data" in event && event.data && typeof event.data === "object" && "needsWallet" in event.data) {
331
+ return Boolean(event.data.needsWallet);
332
+ }
333
+ return false;
334
+ }
335
+ })
336
+ },
337
+ SET_TEMPORARY_SHARES: {
338
+ actions: (0, import_xstate.assign)({
339
+ temporaryShares: ({ event }) => {
340
+ if ("data" in event && event.data && typeof event.data === "object" && "temporaryShares" in event.data) {
341
+ return event.data.temporaryShares;
342
+ }
343
+ return null;
344
+ }
345
+ })
346
+ },
347
+ COMPLETE: [
348
+ {
349
+ target: "needs_wallets",
350
+ guard: "needsWallets"
351
+ },
352
+ {
353
+ target: "setting_up_after_login"
354
+ }
355
+ ],
356
+ CANCEL: [
357
+ {
358
+ target: "checking_wallet_state"
359
+ }
360
+ ],
361
+ ERROR: {
362
+ target: "error",
363
+ actions: (0, import_xstate.assign)({
364
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Wallet polling failed")
365
+ })
366
+ }
367
+ }
368
+ },
369
+ setting_up_after_login: {
370
+ invoke: {
371
+ src: "setupAfterLogin",
372
+ input: ({ context }) => {
373
+ var _a;
374
+ return {
375
+ temporaryShares: context.temporaryShares,
376
+ skipSessionRefresh: ((_a = context.authData) == null ? void 0 : _a.skipSessionRefreshOnSetup) || false
377
+ };
378
+ },
379
+ onDone: {
380
+ target: "claiming_wallets",
381
+ actions: (0, import_xstate.assign)({
382
+ // Reset temporary shares after successful setup
383
+ temporaryShares: null
384
+ })
385
+ },
386
+ onError: {
387
+ target: "error",
388
+ actions: (0, import_xstate.assign)({
389
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Failed to setup after login")
390
+ })
391
+ }
392
+ }
393
+ },
394
+ connecting_para_connectors: {
395
+ invoke: {
396
+ src: "connectParaConnectors",
397
+ input: ({ context }) => {
398
+ var _a, _b;
399
+ return { retryCount: (_b = (_a = context.retryAttempts) == null ? void 0 : _a.connecting) != null ? _b : 0 };
400
+ },
401
+ onDone: {
402
+ target: "wallets_ready"
403
+ },
404
+ onError: [
405
+ {
406
+ target: "connecting_para_connectors",
407
+ guard: "canRetryConnecting",
408
+ actions: [{ type: "incrementWalletRetry", params: { type: "connecting" } }]
409
+ },
410
+ {
411
+ target: "error",
412
+ actions: (0, import_xstate.assign)({
413
+ error: ({ event }) => (0, import_stateErrorHelpers.formatStateError)(event.error, "Failed to connect Para connectors")
414
+ })
415
+ }
416
+ ]
417
+ }
418
+ },
419
+ no_wallets_needed: {
420
+ type: "final"
421
+ },
422
+ wallets_ready: {
423
+ type: "final"
424
+ },
425
+ guest_mode: {
426
+ type: "final"
427
+ },
428
+ error: {
429
+ type: "final"
430
+ }
431
+ }
432
+ });
433
+ }
434
+ // Annotate the CommonJS export names for ESM import in node:
435
+ 0 && (module.exports = {
436
+ createWalletStateMachine
437
+ });
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var auth_exports = {};
15
+ module.exports = __toCommonJS(auth_exports);
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var core_exports = {};
15
+ module.exports = __toCommonJS(core_exports);
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var wallet_exports = {};
15
+ module.exports = __toCommonJS(wallet_exports);
@@ -15,11 +15,11 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var auth_exports = {};
19
- __export(auth_exports, {
18
+ var accountLinking_exports = {};
19
+ __export(accountLinking_exports, {
20
20
  AccountLinkError: () => AccountLinkError
21
21
  });
22
- module.exports = __toCommonJS(auth_exports);
22
+ module.exports = __toCommonJS(accountLinking_exports);
23
23
  var AccountLinkError = /* @__PURE__ */ ((AccountLinkError2) => {
24
24
  AccountLinkError2["NotAuthenticated"] = "No user is currently authenticated";
25
25
  AccountLinkError2["Conflict"] = "Account already linked";
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var authState_exports = {};
15
+ module.exports = __toCommonJS(authState_exports);
@@ -72,7 +72,9 @@ const PARA_CORE_METHODS = [
72
72
  "getLinkedAccounts",
73
73
  "accountLinkInProgress",
74
74
  "addCredential",
75
- "exportPrivateKey"
75
+ "exportPrivateKey",
76
+ "authenticateWithEmailOrPhone",
77
+ "authenticateWithOAuth"
76
78
  ];
77
79
  const PARA_INTERNAL_METHODS = [
78
80
  "linkAccount",
@@ -14,7 +14,7 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
15
  var types_exports = {};
16
16
  module.exports = __toCommonJS(types_exports);
17
- __reExport(types_exports, require("./auth.js"), module.exports);
17
+ __reExport(types_exports, require("./accountLinking.js"), module.exports);
18
18
  __reExport(types_exports, require("./config.js"), module.exports);
19
19
  __reExport(types_exports, require("./coreApi.js"), module.exports);
20
20
  __reExport(types_exports, require("./wallet.js"), module.exports);
@@ -23,7 +23,7 @@ __reExport(types_exports, require("./popup.js"), module.exports);
23
23
  __reExport(types_exports, require("./events.js"), module.exports);
24
24
  // Annotate the CommonJS export names for ESM import in node:
25
25
  0 && (module.exports = {
26
- ...require("./auth.js"),
26
+ ...require("./accountLinking.js"),
27
27
  ...require("./config.js"),
28
28
  ...require("./coreApi.js"),
29
29
  ...require("./wallet.js"),
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var serviceInterfaces_exports = {};
15
+ module.exports = __toCommonJS(serviceInterfaces_exports);
@@ -0,0 +1,15 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var util_exports = {};
15
+ module.exports = __toCommonJS(util_exports);
@@ -88,6 +88,9 @@ function rawSecp256k1PubkeyToRawAddress(pubkeyData) {
88
88
  return (0, import_ripemd160.ripemd160)((0, import_sha256.sha256)(pubkeyData));
89
89
  }
90
90
  function getCosmosAddress(publicKey, prefix) {
91
+ if (!publicKey || publicKey.length === 0) {
92
+ return "";
93
+ }
91
94
  const uncompressedPublicKey = new Uint8Array(
92
95
  Buffer.from(publicKey.startsWith("0x") ? publicKey.slice(2) : publicKey, "hex")
93
96
  );
@@ -98,6 +101,9 @@ function truncateAddress(str, addressType, {
98
101
  prefix = addressType === "COSMOS" ? "cosmos" : void 0,
99
102
  targetLength
100
103
  } = {}) {
104
+ if (!str || str.length === 0) {
105
+ return "";
106
+ }
101
107
  const minimum = addressType === "COSMOS" ? prefix.length : addressType === "EVM" ? 2 : 0;
102
108
  const margin = targetLength !== void 0 ? (targetLength - minimum) / 2 : 4;
103
109
  return `${str.slice(0, minimum + margin)}...${str.slice(-1 * margin)}`;
@@ -0,0 +1,30 @@
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 retryBackoff_exports = {};
19
+ __export(retryBackoff_exports, {
20
+ retryDelay: () => retryDelay,
21
+ sleep: () => sleep
22
+ });
23
+ module.exports = __toCommonJS(retryBackoff_exports);
24
+ const retryDelay = (attempt) => Math.min(100 * Math.pow(2, attempt), 2e3);
25
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ retryDelay,
29
+ sleep
30
+ });