@getpara/react-sdk 2.0.0-dev.2 → 2.0.0-dev.3

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 (265) hide show
  1. package/dist/cli/cli.mjs +22 -7
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +6 -7058
  4. package/dist/modal/ParaModal.js +301 -0
  5. package/dist/modal/components/Account/Account.js +148 -0
  6. package/dist/modal/components/Account/AccountProfile.d.ts +1 -0
  7. package/dist/modal/components/Account/AccountProfile.js +168 -0
  8. package/dist/modal/components/Account/AccountProfileLink.d.ts +1 -0
  9. package/dist/modal/components/Account/AccountProfileLink.js +206 -0
  10. package/dist/modal/components/Account/AccountProfileLinkOptions.d.ts +1 -0
  11. package/dist/modal/components/Account/AccountProfileLinkOptions.js +111 -0
  12. package/dist/modal/components/Account/AccountProfileUnlink.d.ts +1 -0
  13. package/dist/modal/components/Account/AccountProfileUnlink.js +47 -0
  14. package/dist/modal/components/AddFunds/AddFunds.d.ts +0 -2
  15. package/dist/modal/components/AddFunds/AddFunds.js +69 -0
  16. package/dist/modal/components/AddFunds/AddFundsAsset.d.ts +1 -0
  17. package/dist/modal/components/AddFunds/AddFundsAsset.js +125 -0
  18. package/dist/modal/components/AddFunds/AddFundsAwaiting.js +78 -0
  19. package/dist/modal/components/AddFunds/AddFundsContext.d.ts +31 -0
  20. package/dist/modal/components/AddFunds/AddFundsContext.js +160 -0
  21. package/dist/modal/components/AddFunds/AddFundsDone.js +49 -0
  22. package/dist/modal/components/AddFunds/AddFundsProvider.d.ts +1 -0
  23. package/dist/modal/components/AddFunds/AddFundsProvider.js +109 -0
  24. package/dist/modal/components/AddFunds/AddFundsReceive.d.ts +1 -0
  25. package/dist/modal/components/AddFunds/AddFundsReceive.js +83 -0
  26. package/dist/modal/components/AddFunds/AddFundsSettings.d.ts +1 -0
  27. package/dist/modal/components/AddFunds/AddFundsSettings.js +237 -0
  28. package/dist/{MoonPayEmbed-Q2HP2BFI.js → modal/components/AddFunds/MoonPayEmbed.js} +1 -3
  29. package/dist/modal/components/AddFunds/common.d.ts +19 -0
  30. package/dist/modal/components/AddFunds/common.js +24 -0
  31. package/dist/modal/components/AddFunds/index.js +4 -0
  32. package/dist/modal/components/AuthInput/AuthInput.d.ts +17 -3
  33. package/dist/modal/components/AuthInput/AuthInput.js +277 -0
  34. package/dist/modal/components/AuthInput/hooks/useDropdownPosition.js +33 -0
  35. package/dist/modal/components/AuthInput/phoneMasks.js +253 -0
  36. package/dist/modal/components/AuthMainStep/AuthMainStep.d.ts +4 -3
  37. package/dist/modal/components/AuthMainStep/AuthMainStep.js +50 -0
  38. package/dist/modal/components/AuthMainStep/AuthMainStepContent.d.ts +4 -3
  39. package/dist/modal/components/AuthMainStep/AuthMainStepContent.js +164 -0
  40. package/dist/modal/components/AuthOptions/AuthOptions.d.ts +4 -3
  41. package/dist/modal/components/AuthOptions/AuthOptions.js +85 -0
  42. package/dist/modal/components/AwaitingBiometricsStep/AwaitingBiometricsStep.js +18 -0
  43. package/dist/modal/components/AwaitingOAuthStep/AwaitingOAuthStep.js +10 -0
  44. package/dist/modal/components/AwaitingPasswordStep/AwaitingPasswordStep.js +18 -0
  45. package/dist/modal/components/AwaitingWalletCreationStep/AwaitingWalletCreationStep.d.ts +5 -1
  46. package/dist/modal/components/AwaitingWalletCreationStep/AwaitingWalletCreationStep.js +49 -0
  47. package/dist/modal/components/BiometricCreationStep/BiometricCreationStep.d.ts +1 -1
  48. package/dist/modal/components/BiometricCreationStep/BiometricCreationStep.js +62 -0
  49. package/dist/modal/components/BiometricLoginStep/BiometricLoginStep.d.ts +1 -1
  50. package/dist/modal/components/BiometricLoginStep/BiometricLoginStep.js +48 -0
  51. package/dist/modal/components/Body/AnimatedHeightWrapper.js +29 -0
  52. package/dist/modal/components/Body/Body.d.ts +4 -3
  53. package/dist/modal/components/Body/Body.js +350 -0
  54. package/dist/modal/components/ChainSwitch/ChainSwitch.js +95 -0
  55. package/dist/modal/components/ChainSwitch/config.js +17 -0
  56. package/dist/modal/components/Controls/Controls.js +78 -0
  57. package/dist/modal/components/Controls/Selects.js +173 -0
  58. package/dist/modal/components/ExternalWalletNetworkSelectStep/ExternalWalletNetworkSelectStep.d.ts +1 -0
  59. package/dist/modal/components/ExternalWalletNetworkSelectStep/ExternalWalletNetworkSelectStep.js +75 -0
  60. package/dist/modal/components/ExternalWalletStep/ExternalWalletStep.d.ts +7 -0
  61. package/dist/modal/components/ExternalWalletStep/ExternalWalletStep.js +175 -0
  62. package/dist/modal/components/ExternalWalletStep/config.js +17 -0
  63. package/dist/modal/components/ExternalWalletVerificationStep/ExternalWalletVerificationStep.js +39 -0
  64. package/dist/modal/components/ExternalWallets/ExternalWallets.js +184 -0
  65. package/dist/modal/components/Footer/Footer.js +95 -0
  66. package/dist/modal/components/Header/Header.js +43 -0
  67. package/dist/modal/components/Header/hooks/useStepTitle.js +61 -0
  68. package/dist/modal/components/Hero/Hero.js +116 -0
  69. package/dist/modal/components/IFrameStep/IFrameStep.js +59 -0
  70. package/dist/modal/components/LoginDoneStep/LoginDoneStep.d.ts +4 -0
  71. package/dist/modal/components/LoginDoneStep/LoginDoneStep.js +44 -0
  72. package/dist/modal/components/ModalContent/ModalContent.d.ts +0 -4
  73. package/dist/modal/components/ModalContent/ModalContent.js +88 -0
  74. package/dist/modal/components/OAuth/FarcasterOAuthStep.d.ts +1 -0
  75. package/dist/modal/components/OAuth/FarcasterOAuthStep.js +31 -0
  76. package/dist/modal/components/OAuth/OAuth.d.ts +2 -2
  77. package/dist/modal/components/OAuth/OAuth.js +79 -0
  78. package/dist/modal/components/OAuth/TelegramOAuthStep.d.ts +7 -0
  79. package/dist/modal/components/OAuth/TelegramOAuthStep.js +74 -0
  80. package/dist/modal/components/OnRampComponents/AddingFunds.js +23 -0
  81. package/dist/modal/components/OnRampComponents/OnRampProviderButton.js +77 -0
  82. package/dist/modal/components/RecoverySecretStep/RecoverySecretStep.js +107 -0
  83. package/dist/modal/components/Setup2FAStep/Setup2FAStep.js +132 -0
  84. package/dist/modal/components/TwoFactorDoneStep/TwoFactorDoneStep.js +27 -0
  85. package/dist/modal/components/VerificationCodeStep/VerificationCodeStep.d.ts +12 -1
  86. package/dist/modal/components/VerificationCodeStep/VerificationCodeStep.js +160 -0
  87. package/dist/modal/components/Waiting/Waiting.js +17 -0
  88. package/dist/modal/components/WalletCard/PartnerIcon.js +34 -0
  89. package/dist/modal/components/WalletCard/WalletCard.d.ts +3 -3
  90. package/dist/modal/components/WalletCard/WalletCard.js +128 -0
  91. package/dist/modal/components/WalletCreationDoneStep/WalletCreationDoneStep.js +83 -0
  92. package/dist/modal/components/common.d.ts +49 -13
  93. package/dist/modal/components/common.js +261 -0
  94. package/dist/modal/components/index.js +2 -0
  95. package/dist/modal/constants/constants.d.ts +10 -2
  96. package/dist/modal/constants/constants.js +142 -0
  97. package/dist/modal/constants/defaults.js +10 -0
  98. package/dist/modal/constants/oAuthLogos.d.ts +15 -6
  99. package/dist/modal/constants/oAuthLogos.js +158 -0
  100. package/dist/modal/constants/walletTypeConfig.d.ts +6 -0
  101. package/dist/modal/constants/walletTypeConfig.js +13 -0
  102. package/dist/modal/hooks/useGoBack.js +43 -0
  103. package/dist/modal/hooks/useTelegramLogin.d.ts +12 -0
  104. package/dist/modal/hooks/useTelegramLogin.js +65 -0
  105. package/dist/modal/index.d.ts +1 -1
  106. package/dist/modal/index.js +29 -0
  107. package/dist/modal/stores/index.d.ts +0 -1
  108. package/dist/modal/stores/index.js +2 -0
  109. package/dist/modal/stores/modal/actions.js +135 -0
  110. package/dist/modal/stores/modal/useModalStore.d.ts +17 -16
  111. package/dist/modal/stores/modal/useModalStore.js +73 -0
  112. package/dist/modal/types/commonTypes.js +1 -0
  113. package/dist/modal/types/modalProps.d.ts +15 -2
  114. package/dist/modal/types/modalProps.js +12 -0
  115. package/dist/modal/utils/authInputHelpers.d.ts +5 -0
  116. package/dist/modal/utils/authInputHelpers.js +41 -0
  117. package/dist/modal/utils/authLayoutHelpers.js +8 -0
  118. package/dist/modal/utils/countryCodes.js +45 -0
  119. package/dist/modal/utils/getMailtoLink.js +10 -0
  120. package/dist/modal/utils/getTileButtonFlex.js +20 -0
  121. package/dist/modal/utils/getWalletDisplayName.d.ts +5 -0
  122. package/dist/modal/utils/getWalletDisplayName.js +22 -0
  123. package/dist/modal/utils/isPasskeySupported.js +15 -0
  124. package/dist/modal/utils/openPopup.js +60 -0
  125. package/dist/modal/utils/routeMobileExternalWallet.js +31 -0
  126. package/dist/modal/utils/steps.d.ts +21 -2
  127. package/dist/modal/utils/steps.js +273 -0
  128. package/dist/modal/utils/stringFormatters.d.ts +1 -0
  129. package/dist/modal/utils/stringFormatters.js +19 -0
  130. package/dist/modal/utils/validateOnRampConfig.js +32 -0
  131. package/dist/package.json +6 -0
  132. package/dist/provider/ParaProvider.js +117 -0
  133. package/dist/provider/actions/getEmbeddedAccount.d.ts +26 -0
  134. package/dist/provider/actions/getEmbeddedAccount.js +52 -0
  135. package/dist/provider/actions/getWallet.d.ts +3 -3
  136. package/dist/provider/actions/getWallet.js +18 -0
  137. package/dist/provider/actions/index.d.ts +40 -18
  138. package/dist/provider/actions/index.js +79 -0
  139. package/dist/provider/actions/utils.d.ts +4 -3
  140. package/dist/provider/actions/utils.js +34 -0
  141. package/dist/provider/components/CosmosWalletWrapper.js +43 -0
  142. package/dist/provider/components/EvmWalletWrapper.js +43 -0
  143. package/dist/provider/components/ExternalWalletWrapper.js +140 -0
  144. package/dist/provider/components/SolanaWalletWrapper.js +44 -0
  145. package/dist/provider/external/getParaCosmosConnector.js +19 -0
  146. package/dist/provider/external/getParaCosmosLib.d.ts +4 -0
  147. package/dist/provider/external/getParaCosmosLib.js +16 -0
  148. package/dist/provider/external/getParaEvmConnector.js +19 -0
  149. package/dist/provider/external/getParaEvmLib.d.ts +4 -0
  150. package/dist/provider/external/getParaEvmLib.js +16 -0
  151. package/dist/provider/external/getParaSolanaConnector.js +19 -0
  152. package/dist/provider/external/getParaSolanaLib.d.ts +4 -0
  153. package/dist/provider/external/getParaSolanaLib.js +16 -0
  154. package/dist/provider/external/stubs/CosmosExternalWalletContextStub.d.ts +1 -11
  155. package/dist/provider/external/stubs/CosmosExternalWalletContextStub.js +8 -0
  156. package/dist/provider/external/stubs/EvmExternalWalletContextStub.d.ts +1 -2
  157. package/dist/provider/external/stubs/EvmExternalWalletContextStub.js +8 -0
  158. package/dist/provider/external/stubs/SolanaExternalWalletContextStub.d.ts +1 -7
  159. package/dist/provider/external/stubs/SolanaExternalWalletContextStub.js +8 -0
  160. package/dist/provider/hooks/index.js +4 -0
  161. package/dist/provider/hooks/mutations/core.d.ts +27 -0
  162. package/dist/provider/hooks/mutations/core.js +66 -0
  163. package/dist/provider/hooks/mutations/index.d.ts +3 -34
  164. package/dist/provider/hooks/mutations/index.js +9 -0
  165. package/dist/provider/hooks/mutations/useLinkAccount.d.ts +9 -0
  166. package/dist/provider/hooks/mutations/useLinkAccount.js +18 -0
  167. package/dist/provider/hooks/mutations/utils.d.ts +11 -3
  168. package/dist/provider/hooks/mutations/utils.js +90 -0
  169. package/dist/provider/hooks/queries/core.d.ts +4 -0
  170. package/dist/provider/hooks/queries/core.js +16 -0
  171. package/dist/provider/hooks/queries/index.d.ts +2 -0
  172. package/dist/provider/hooks/queries/index.js +11 -0
  173. package/dist/provider/hooks/queries/useAccount.d.ts +86 -7
  174. package/dist/provider/hooks/queries/useAccount.js +135 -0
  175. package/dist/provider/hooks/queries/useIsFullyLoggedIn.d.ts +5 -0
  176. package/dist/provider/hooks/queries/useIsFullyLoggedIn.js +24 -0
  177. package/dist/provider/hooks/queries/useWallet.d.ts +1 -1
  178. package/dist/provider/hooks/queries/useWallet.js +26 -0
  179. package/dist/provider/hooks/queries/useWalletBalance.d.ts +6 -0
  180. package/dist/provider/hooks/queries/useWalletBalance.js +55 -0
  181. package/dist/provider/hooks/queries/utils.d.ts +7 -0
  182. package/dist/provider/hooks/queries/utils.js +25 -0
  183. package/dist/provider/hooks/utils/index.js +10 -0
  184. package/dist/provider/hooks/utils/useAutoSessionKeepAlive.js +74 -0
  185. package/dist/provider/hooks/utils/useClient.d.ts +1 -1
  186. package/dist/provider/hooks/utils/useClient.js +10 -0
  187. package/dist/provider/hooks/utils/useEventListeners.d.ts +1 -1
  188. package/dist/provider/hooks/utils/useEventListeners.js +157 -0
  189. package/dist/provider/hooks/utils/useFormattedBiometricHints.d.ts +4 -0
  190. package/dist/provider/hooks/utils/useFormattedBiometricHints.js +27 -0
  191. package/dist/provider/hooks/utils/useInternalClient.js +10 -0
  192. package/dist/provider/hooks/utils/useModal.d.ts +4 -1
  193. package/dist/provider/hooks/utils/useModal.js +27 -0
  194. package/dist/provider/hooks/utils/useWalletState.d.ts +3 -3
  195. package/dist/provider/hooks/utils/useWalletState.js +48 -0
  196. package/dist/provider/index.d.ts +2 -0
  197. package/dist/provider/index.js +11 -0
  198. package/dist/provider/providers/AccountLinkProvider.d.ts +47 -0
  199. package/dist/provider/providers/AccountLinkProvider.js +452 -0
  200. package/dist/provider/providers/AuthProvider.d.ts +12 -6
  201. package/dist/provider/providers/AuthProvider.js +523 -0
  202. package/dist/provider/providers/CosmosExternalWalletProvider.js +66 -0
  203. package/dist/provider/providers/EvmExternalWalletProvider.js +74 -0
  204. package/dist/provider/providers/ExternalWalletProvider.d.ts +23 -43
  205. package/dist/provider/providers/ExternalWalletProvider.js +596 -0
  206. package/dist/provider/providers/SolanaExternalWalletProvider.js +66 -0
  207. package/dist/provider/stores/getters.d.ts +1 -1
  208. package/dist/provider/stores/getters.js +13 -0
  209. package/dist/provider/stores/setters.js +7 -0
  210. package/dist/provider/stores/slices/analytics.d.ts +3 -0
  211. package/dist/provider/stores/slices/analytics.js +9 -0
  212. package/dist/provider/stores/slices/client.js +9 -0
  213. package/dist/provider/stores/slices/config.js +9 -0
  214. package/dist/provider/stores/slices/externalWallets.js +46 -0
  215. package/dist/provider/stores/slices/index.d.ts +1 -0
  216. package/dist/provider/stores/slices/index.js +6 -0
  217. package/dist/provider/stores/slices/modal.js +18 -0
  218. package/dist/provider/stores/slices/wallet.js +13 -0
  219. package/dist/provider/stores/types.d.ts +19 -5
  220. package/dist/provider/stores/types.js +1 -0
  221. package/dist/provider/stores/useStore.js +34 -0
  222. package/dist/provider/types/externalWalletProviders.js +1 -0
  223. package/dist/provider/types/provider.d.ts +23 -4
  224. package/dist/provider/types/provider.js +1 -0
  225. package/dist/provider/types/query.js +1 -0
  226. package/dist/provider/types/utils.d.ts +28 -5
  227. package/dist/provider/types/utils.js +1 -0
  228. package/dist/provider/utils/constants.d.ts +5 -0
  229. package/dist/provider/utils/constants.js +10 -0
  230. package/dist/provider/utils/paraConfigTypeGuards.js +13 -0
  231. package/dist/provider/utils/renameMutations.d.ts +2 -2
  232. package/dist/provider/utils/renameMutations.js +18 -0
  233. package/package.json +40 -39
  234. package/dist/MoonPayEmbed-Q2HP2BFI.js.br +0 -0
  235. package/dist/MoonPayEmbed-Q2HP2BFI.js.gz +0 -0
  236. package/dist/chunk-MMUBH76A.js.br +0 -0
  237. package/dist/chunk-MMUBH76A.js.gz +0 -0
  238. package/dist/index.js.br +0 -0
  239. package/dist/index.js.gz +0 -0
  240. package/dist/modal/components/StripeComponents/StripeComponents.d.ts +0 -16
  241. package/dist/modal/hooks/useCreateAccount.d.ts +0 -4
  242. package/dist/modal/stores/userInfo/actions.d.ts +0 -3
  243. package/dist/modal/stores/userInfo/useUserInfoStore.d.ts +0 -19
  244. package/dist/provider/actions/checkIfUserExists.d.ts +0 -4
  245. package/dist/provider/actions/createUser.d.ts +0 -4
  246. package/dist/provider/actions/getAccount.d.ts +0 -10
  247. package/dist/provider/actions/initiateLogin.d.ts +0 -4
  248. package/dist/provider/actions/keepSessionAlive.d.ts +0 -2
  249. package/dist/provider/actions/logout.d.ts +0 -5
  250. package/dist/provider/actions/signMessage.d.ts +0 -8
  251. package/dist/provider/actions/signTransaction.d.ts +0 -8
  252. package/dist/provider/actions/waitForAccountCreation.d.ts +0 -5
  253. package/dist/provider/actions/waitForLoginAndSetup.d.ts +0 -6
  254. package/dist/provider/actions/waitForPasskeyAndCreateWallet.d.ts +0 -2
  255. package/dist/provider/hooks/mutations/useCheckIfUserExists.d.ts +0 -13
  256. package/dist/provider/hooks/mutations/useCreateUser.d.ts +0 -13
  257. package/dist/provider/hooks/mutations/useInitiateLogin.d.ts +0 -14
  258. package/dist/provider/hooks/mutations/useKeepSessionAlive.d.ts +0 -12
  259. package/dist/provider/hooks/mutations/useLogout.d.ts +0 -13
  260. package/dist/provider/hooks/mutations/useSignMessage.d.ts +0 -15
  261. package/dist/provider/hooks/mutations/useSignTransaction.d.ts +0 -15
  262. package/dist/provider/hooks/mutations/useWaitForAccountCreation.d.ts +0 -13
  263. package/dist/provider/hooks/mutations/useWaitForLoginAndSetup.d.ts +0 -14
  264. package/dist/provider/hooks/mutations/useWaitForPasskeyAndCreateWallet.d.ts +0 -13
  265. /package/dist/modal/{components/AuthInput → utils}/countryCodes.d.ts +0 -0
@@ -2,18 +2,24 @@ import { BiometricHints } from '@getpara/react-common';
2
2
  import { PropsWithChildren } from 'react';
3
3
  import { AuthMethod, CoreMethodParams, AuthState, AuthStateSignup, AuthStateLogin } from '@getpara/web-sdk';
4
4
  import { ParaModalProps } from '../../modal/types/modalProps.js';
5
- import { TelegramAuthResponse, VerifiedAuth, VerifyExternalWalletParams } from '@getpara/user-management-client';
5
+ import { TelegramAuthResponse, VerifiedAuth } from '@getpara/user-management-client';
6
+ import { MutationStatus } from '@tanstack/react-query';
6
7
  type Value = {
7
- signUpOrLogIn: [(_: VerifiedAuth) => void, boolean];
8
- verifyNewAccount: [(_: string) => void, boolean, Error | null];
9
- verifyOAuth: (_: CoreMethodParams<'verifyOAuthV2'>['method']) => void;
8
+ signUpOrLogIn: (_: VerifiedAuth) => void;
9
+ isSignUpOrLogInPending: boolean;
10
+ verifyNewAccount: (_: string) => void;
11
+ verifyNewAccountStatus: MutationStatus;
12
+ verifyNewAccountError: Error | null;
13
+ verifyOAuth: (_: CoreMethodParams<'verifyOAuth'>['method']) => void;
10
14
  verifyFarcaster: () => void;
11
15
  verifyTelegram: (_: TelegramAuthResponse) => void;
12
- verifyExternalWallet: (_: VerifyExternalWalletParams) => void;
16
+ verifyTelegramStatus: MutationStatus;
13
17
  onNewAuthState: (_: AuthState) => void;
14
18
  presentSignupUi: (_: AuthMethod, __: AuthStateSignup) => void;
15
19
  presentLoginUi: (_: AuthMethod, __: AuthStateLogin) => void;
16
- setup2fa: [boolean];
20
+ isSetup2faPending: boolean;
21
+ createGuestWallets: () => void;
22
+ isCreateGuestWalletsPending: boolean;
17
23
  logout: () => void;
18
24
  biometricHints?: BiometricHints;
19
25
  };
@@ -0,0 +1,523 @@
1
+ "use client";
2
+ import {
3
+ __async,
4
+ __spreadProps,
5
+ __spreadValues
6
+ } from "../../chunk-MMUBH76A.js";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { useUserAgent } from "@getpara/react-common";
9
+ import { createContext, useCallback, useContext, useEffect, useMemo } from "react";
10
+ import { useModalStore } from "../../modal/stores/index.js";
11
+ import { ModalStep } from "../../modal/utils/steps.js";
12
+ import {
13
+ useSignUpOrLogIn,
14
+ useVerifyNewAccount,
15
+ useWaitForSignup,
16
+ useWaitForLogin,
17
+ useWaitForWalletCreation,
18
+ useVerifyOAuth,
19
+ useVerifyFarcaster,
20
+ useVerifyTelegram,
21
+ useSetup2fa,
22
+ useLogout,
23
+ useCreateGuestWallets
24
+ } from "../index.js";
25
+ import { DEFAULTS } from "../../modal/constants/defaults.js";
26
+ import { openPopup } from "../../modal/utils/openPopup.js";
27
+ import {
28
+ AuthMethod,
29
+ entityToWallet
30
+ } from "@getpara/web-sdk";
31
+ import { useInternalClient } from "../../provider/hooks/utils/useInternalClient.js";
32
+ import { useGoBack } from "../../modal/hooks/useGoBack.js";
33
+ import { isExternalWallet } from "@getpara/user-management-client";
34
+ import { routeMobileExternalWallet } from "../../modal/utils/routeMobileExternalWallet.js";
35
+ import { useStore } from "../stores/useStore.js";
36
+ import { useFormattedBiometricHints } from "../hooks/utils/useFormattedBiometricHints.js";
37
+ import { useQueryClient } from "@tanstack/react-query";
38
+ const AuthContext = createContext({
39
+ signUpOrLogIn: () => {
40
+ },
41
+ isSignUpOrLogInPending: false,
42
+ verifyNewAccount: () => {
43
+ },
44
+ verifyNewAccountStatus: "idle",
45
+ verifyNewAccountError: null,
46
+ verifyOAuth: () => {
47
+ },
48
+ verifyFarcaster: () => {
49
+ },
50
+ verifyTelegram: () => {
51
+ },
52
+ verifyTelegramStatus: "idle",
53
+ onNewAuthState: () => {
54
+ },
55
+ isSetup2faPending: false,
56
+ presentSignupUi: () => {
57
+ },
58
+ presentLoginUi: () => {
59
+ },
60
+ createGuestWallets: () => {
61
+ },
62
+ isCreateGuestWalletsPending: false,
63
+ logout: () => {
64
+ }
65
+ });
66
+ function AuthProvider({
67
+ children,
68
+ is2faEnabled = false,
69
+ isRecoverySecretStepEnabled = false,
70
+ overrides = {}
71
+ }) {
72
+ const queryClient = useQueryClient();
73
+ const para = useInternalClient();
74
+ const userAgent = useUserAgent();
75
+ const onLoginRef = useStore((state) => state.onLoginRef);
76
+ const setIsOpen = useStore((state) => state.setIsOpen);
77
+ const bareModal = useStore((state) => {
78
+ var _a;
79
+ return (_a = state.modalConfig) == null ? void 0 : _a.bareModal;
80
+ });
81
+ const refs = useModalStore((state) => state.refs);
82
+ const setFlow = useModalStore((state) => state.setFlow);
83
+ const currentStep = useModalStore((state) => state.step);
84
+ const setStep = useModalStore((state) => state.setStep);
85
+ const setAuthStepRoute = useModalStore((state) => state.setAuthStepRoute);
86
+ const setIFrameUrl = useModalStore((state) => state.setIFrameUrl);
87
+ const iFrameUrl = useModalStore((state) => state.iFrameUrl);
88
+ const loginState = useModalStore((state) => state.getLoginState());
89
+ const signupState = useModalStore((state) => state.getSignupState());
90
+ const setAuthState = useModalStore((state) => state.setAuthState);
91
+ const setFarcasterConnectUri = useModalStore((state) => state.setFarcasterConnectUri);
92
+ const setTwoFactorStatus = useModalStore((state) => state.setTwoFactorStatus);
93
+ const setRecoveryShare = useModalStore((state) => state.setRecoveryShare);
94
+ const authStepRoute = useModalStore((state) => state.authStepRoute);
95
+ const isIFrameReady = useModalStore((state) => state.isIFrameReady);
96
+ const goBack = useGoBack();
97
+ const { mutate: mutateSignUpOrLogIn, isPending: isSignUpOrLogInPending } = useSignUpOrLogIn();
98
+ const {
99
+ mutate: mutateVerifyNewAccount,
100
+ status: verifyNewAccountStatus,
101
+ error: verifyNewAccountError
102
+ } = useVerifyNewAccount();
103
+ const { mutate: mutateVerifyOAuth } = useVerifyOAuth();
104
+ const { mutate: mutateVerifyFarcaster } = useVerifyFarcaster();
105
+ const { mutate: mutateVerifyTelegram, status: verifyTelegramStatus } = useVerifyTelegram();
106
+ const { mutate: mutateWaitForLogin } = useWaitForLogin();
107
+ const { mutate: mutateWaitForSignup } = useWaitForSignup();
108
+ const { mutateAsync: mutateAsyncWaitForWalletCreation } = useWaitForWalletCreation();
109
+ const { mutate: mutateSetup2fa, isPending: isSetup2faPending } = useSetup2fa();
110
+ const { mutate: mutateCreateGuestWallets, isPending: isCreateGuestWalletsPending } = useCreateGuestWallets();
111
+ const { mutate: mutateLogout } = useLogout();
112
+ const { data: biometricHints } = useFormattedBiometricHints();
113
+ const goBackIfPopupClosedOnSteps = (steps) => {
114
+ var _a;
115
+ if (((_a = refs.popupWindow.current) == null ? void 0 : _a.closed) && (!refs.currentStep.current || steps.includes(refs.currentStep.current))) {
116
+ refs.popupWindow.current = null;
117
+ goBack();
118
+ }
119
+ };
120
+ const cancelIfExitedSteps = (steps) => {
121
+ const stepNow = refs.currentStep.current;
122
+ return !!stepNow && !steps.includes(stepNow);
123
+ };
124
+ const signup = () => {
125
+ if (typeof window !== "undefined") {
126
+ refs.poll.current = {
127
+ action: "signup",
128
+ timeout: window == null ? void 0 : window.setTimeout(() => __async(this, null, function* () {
129
+ mutateWaitForSignup(
130
+ {
131
+ isCanceled: () => cancelIfExitedSteps([
132
+ ModalStep.BIOMETRIC_CREATION,
133
+ ModalStep.AWAITING_BIOMETRIC_CREATION,
134
+ ModalStep.PASSWORD_CREATION
135
+ ]),
136
+ onPoll: () => {
137
+ goBackIfPopupClosedOnSteps([ModalStep.AWAITING_BIOMETRIC_CREATION]);
138
+ }
139
+ },
140
+ {
141
+ onSuccess: () => {
142
+ if (para.isNoWalletConfig) {
143
+ onLoginComplete({
144
+ on2faSetupOrError: () => setStep(ModalStep.LOGIN_DONE),
145
+ on2faNotSetup: () => setStep(ModalStep.SETUP_2FA)
146
+ });
147
+ } else {
148
+ createWallets();
149
+ }
150
+ },
151
+ onError: () => {
152
+ if (refs.currentStep.current && [ModalStep.AWAITING_BIOMETRIC_CREATION, ModalStep.PASSWORD_CREATION].includes(refs.currentStep.current)) {
153
+ setStep(ModalStep.BIOMETRIC_CREATION);
154
+ }
155
+ },
156
+ onSettled: () => {
157
+ var _a;
158
+ window == null ? void 0 : window.clearTimeout((_a = refs.poll.current) == null ? void 0 : _a.timeout);
159
+ refs.poll.current = null;
160
+ refs.popupWindow.current = null;
161
+ }
162
+ }
163
+ );
164
+ }), DEFAULTS.POLLING_INTERVAL_MS)
165
+ };
166
+ }
167
+ };
168
+ const presentSignupUi = useCallback(
169
+ (method, authState) => {
170
+ switch (method) {
171
+ case AuthMethod.PASSKEY:
172
+ if (refs.currentStep.current !== ModalStep.AWAITING_BIOMETRIC_CREATION) {
173
+ setStep(ModalStep.AWAITING_BIOMETRIC_CREATION);
174
+ }
175
+ refs.popupWindow.current = openPopup({
176
+ url: authState.passkeyUrl,
177
+ target: "ParaPasskey",
178
+ type: "CREATE_PASSKEY",
179
+ current: refs.popupWindow.current
180
+ });
181
+ break;
182
+ case AuthMethod.PASSWORD:
183
+ if (isIFrameReady) {
184
+ setStep(ModalStep.PASSWORD_CREATION);
185
+ } else {
186
+ setIFrameUrl(authState.passwordUrl);
187
+ setAuthStepRoute(ModalStep.PASSWORD_CREATION);
188
+ }
189
+ break;
190
+ }
191
+ },
192
+ [isIFrameReady]
193
+ );
194
+ const login = (authState) => {
195
+ if (authState.isWalletSelectionNeeded || authState.passkeyUrl) {
196
+ setStep(ModalStep.BIOMETRIC_LOGIN);
197
+ } else {
198
+ setIFrameUrl(authState.passwordUrl);
199
+ setStep(ModalStep.EMBEDDED_PASSWORD_LOGIN);
200
+ }
201
+ refs.poll.current = {
202
+ action: "login",
203
+ timeout: window == null ? void 0 : window.setTimeout(() => __async(this, null, function* () {
204
+ mutateWaitForLogin(
205
+ {
206
+ isCanceled: () => cancelIfExitedSteps([
207
+ ModalStep.BIOMETRIC_LOGIN,
208
+ ModalStep.EMBEDDED_PASSWORD_LOGIN,
209
+ ModalStep.AWAITING_BIOMETRIC_LOGIN,
210
+ ModalStep.AWAITING_PASSWORD_LOGIN
211
+ ]),
212
+ onPoll: () => {
213
+ goBackIfPopupClosedOnSteps([
214
+ ModalStep.AWAITING_BIOMETRIC_LOGIN,
215
+ ModalStep.AWAITING_PASSWORD_LOGIN,
216
+ ModalStep.EMBEDDED_PASSWORD_LOGIN
217
+ ]);
218
+ }
219
+ },
220
+ {
221
+ onSuccess: ({ needsWallet }) => {
222
+ if (needsWallet && !para.isNoWalletConfig) {
223
+ createWallets();
224
+ } else {
225
+ onLoginComplete({
226
+ on2faSetupOrError: () => setStep(ModalStep.LOGIN_DONE),
227
+ on2faNotSetup: () => setStep(ModalStep.SETUP_2FA)
228
+ });
229
+ }
230
+ },
231
+ onSettled: () => {
232
+ var _a;
233
+ window == null ? void 0 : window.clearTimeout((_a = refs.poll.current) == null ? void 0 : _a.timeout);
234
+ refs.poll.current = null;
235
+ refs.popupWindow.current = null;
236
+ }
237
+ }
238
+ );
239
+ }), DEFAULTS.LOGGIN_POLLING_DELAY_MS)
240
+ };
241
+ };
242
+ const presentLoginUi = useCallback(
243
+ (method, authState) => {
244
+ const isPasskey = method === AuthMethod.PASSKEY, isPassword = !isPasskey;
245
+ if (overrides.login) {
246
+ function loginOverride() {
247
+ return __async(this, null, function* () {
248
+ var _a, _b;
249
+ yield (_a = overrides == null ? void 0 : overrides.login) == null ? void 0 : _a.call(overrides, para);
250
+ yield (_b = onLoginRef.current) == null ? void 0 : _b.call(onLoginRef);
251
+ yield onLoginComplete();
252
+ });
253
+ }
254
+ loginOverride();
255
+ return;
256
+ }
257
+ refs.popupWindow.current = openPopup({
258
+ url: isPassword ? authState.passwordUrl : authState.passkeyUrl,
259
+ target: isPassword ? "ParaPassword" : "ParaPasskey",
260
+ type: isPassword ? "LOGIN_PASSWORD" : "LOGIN_PASSKEY",
261
+ current: refs.popupWindow.current
262
+ });
263
+ setStep(isPassword ? ModalStep.AWAITING_PASSWORD_LOGIN : ModalStep.AWAITING_BIOMETRIC_LOGIN);
264
+ },
265
+ [loginState, biometricHints]
266
+ );
267
+ const onNewAuthState = (authState) => __async(this, null, function* () {
268
+ setAuthState(authState);
269
+ switch (authState.stage) {
270
+ case "verify":
271
+ if (isExternalWallet(authState.auth) && authState.signatureVerificationMessage) {
272
+ setStep(ModalStep.EXTERNAL_WALLET_VERIFICATION);
273
+ } else {
274
+ setStep(ModalStep.VERIFICATIONS);
275
+ }
276
+ break;
277
+ case "login":
278
+ login(authState);
279
+ break;
280
+ case "signup":
281
+ {
282
+ const isPassword = !!authState.passwordUrl, isPasswordOnly = isPassword && (!authState.passkeyUrl || (userAgent == null ? void 0 : userAgent.device.type) === "mobile" && !authState.isPasskeySupported);
283
+ if (isPassword) {
284
+ setIFrameUrl(authState.passwordUrl);
285
+ }
286
+ signup();
287
+ if (isPasswordOnly) {
288
+ presentSignupUi(AuthMethod.PASSWORD, authState);
289
+ } else {
290
+ setStep(ModalStep.BIOMETRIC_CREATION);
291
+ }
292
+ }
293
+ break;
294
+ }
295
+ });
296
+ const signUpOrLogIn = (auth) => __async(this, null, function* () {
297
+ mutateSignUpOrLogIn(
298
+ { auth, useShortUrls: true },
299
+ {
300
+ onSuccess: onNewAuthState
301
+ }
302
+ );
303
+ });
304
+ const verifyNewAccount = (verificationCode) => __async(this, null, function* () {
305
+ mutateVerifyNewAccount(
306
+ { verificationCode, useShortUrls: true },
307
+ {
308
+ onSuccess: onNewAuthState
309
+ }
310
+ );
311
+ });
312
+ const verifyOAuth = (method) => __async(this, null, function* () {
313
+ setStep(ModalStep.AWAITING_OAUTH);
314
+ mutateVerifyOAuth(
315
+ {
316
+ method,
317
+ isCanceled: () => {
318
+ var _a;
319
+ return ((_a = refs.popupWindow.current) == null ? void 0 : _a.closed) || cancelIfExitedSteps([ModalStep.AWAITING_OAUTH]);
320
+ },
321
+ onPoll: () => {
322
+ goBackIfPopupClosedOnSteps([ModalStep.AWAITING_OAUTH]);
323
+ },
324
+ onOAuthUrl: (oAuthUrl) => {
325
+ refs.popupWindow.current = openPopup({
326
+ url: oAuthUrl,
327
+ target: `${method}AuthPopup`,
328
+ type: "OAUTH",
329
+ current: refs.popupWindow.current
330
+ });
331
+ },
332
+ useShortUrls: true
333
+ },
334
+ {
335
+ onSuccess: onNewAuthState,
336
+ onError: () => {
337
+ goBackIfPopupClosedOnSteps([ModalStep.AWAITING_OAUTH]);
338
+ }
339
+ }
340
+ );
341
+ });
342
+ const verifyFarcaster = () => __async(this, null, function* () {
343
+ setStep(ModalStep.FARCASTER_OAUTH);
344
+ mutateVerifyFarcaster(
345
+ {
346
+ isCanceled: () => refs.currentStep.current !== ModalStep.FARCASTER_OAUTH,
347
+ onConnectUri: (connectUri) => {
348
+ setFarcasterConnectUri(connectUri);
349
+ routeMobileExternalWallet(connectUri);
350
+ },
351
+ useShortUrls: true
352
+ },
353
+ {
354
+ onSuccess: onNewAuthState,
355
+ onError: () => {
356
+ if (refs.currentStep.current === ModalStep.FARCASTER_OAUTH) {
357
+ goBack();
358
+ }
359
+ }
360
+ }
361
+ );
362
+ });
363
+ const verifyTelegram = (telegramAuthResponse) => __async(this, null, function* () {
364
+ mutateVerifyTelegram(
365
+ {
366
+ telegramAuthResponse,
367
+ useShortUrls: true
368
+ },
369
+ {
370
+ onSuccess: onNewAuthState
371
+ }
372
+ );
373
+ });
374
+ const onLoginComplete = useCallback(
375
+ (..._0) => __async(this, [..._0], function* ({
376
+ on2faSetupOrError,
377
+ on2faNotSetup
378
+ } = {}) {
379
+ var _a;
380
+ yield queryClient.invalidateQueries({ queryKey: ["isFullyLoggedIn"] });
381
+ setAuthState();
382
+ yield (_a = onLoginRef.current) == null ? void 0 : _a.call(onLoginRef);
383
+ if (is2faEnabled) {
384
+ mutateSetup2fa(void 0, {
385
+ onSuccess: (status) => {
386
+ setTwoFactorStatus(status);
387
+ if (!status.isSetup && !!status.uri) {
388
+ on2faNotSetup == null ? void 0 : on2faNotSetup();
389
+ } else {
390
+ on2faSetupOrError == null ? void 0 : on2faSetupOrError();
391
+ }
392
+ },
393
+ onError: () => {
394
+ on2faSetupOrError == null ? void 0 : on2faSetupOrError();
395
+ }
396
+ });
397
+ } else {
398
+ on2faSetupOrError == null ? void 0 : on2faSetupOrError();
399
+ }
400
+ }),
401
+ [is2faEnabled]
402
+ );
403
+ const createWallets = useCallback(() => __async(this, null, function* () {
404
+ var _a;
405
+ if (refs.currentStep.current !== ModalStep.AWAITING_WALLET_CREATION) {
406
+ setStep(ModalStep.AWAITING_WALLET_CREATION);
407
+ }
408
+ let recoverySecret, walletIds;
409
+ try {
410
+ if (overrides.createWallets) {
411
+ ({ recoverySecret, walletIds } = yield (_a = overrides == null ? void 0 : overrides.createWallets) == null ? void 0 : _a.call(overrides, para));
412
+ const fetchedWallets = (yield para.fetchWallets()).filter((wallet) => !!wallet.address);
413
+ const newWallets = {};
414
+ for (const wallet of fetchedWallets) {
415
+ newWallets[wallet.id] = __spreadProps(__spreadValues({}, entityToWallet(wallet)), {
416
+ signer: ""
417
+ });
418
+ }
419
+ para.setWallets(newWallets);
420
+ } else {
421
+ ({ recoverySecret, walletIds } = yield mutateAsyncWaitForWalletCreation({
422
+ isCanceled: () => false
423
+ }));
424
+ }
425
+ if (walletIds) {
426
+ yield para.setCurrentWalletIds(walletIds);
427
+ }
428
+ if (recoverySecret && isRecoverySecretStepEnabled) {
429
+ setRecoveryShare(recoverySecret);
430
+ }
431
+ setStep(recoverySecret && isRecoverySecretStepEnabled ? ModalStep.SECRET : ModalStep.WALLET_CREATION_DONE);
432
+ onLoginComplete();
433
+ } catch (e) {
434
+ }
435
+ }), [para, isRecoverySecretStepEnabled, overrides == null ? void 0 : overrides.createWallets]);
436
+ const createGuestWallets = () => {
437
+ if (bareModal) {
438
+ setFlow("guest");
439
+ setStep(ModalStep.AWAITING_GUEST_WALLET_CREATION);
440
+ } else {
441
+ setIsOpen(false);
442
+ }
443
+ mutateCreateGuestWallets(void 0, {
444
+ onSuccess: () => {
445
+ },
446
+ onSettled: () => {
447
+ }
448
+ });
449
+ };
450
+ const logout = () => {
451
+ mutateLogout();
452
+ };
453
+ const isPasswordIFrameLoading = !!iFrameUrl && iFrameUrl === (signupState == null ? void 0 : signupState.passwordUrl) && !isIFrameReady;
454
+ const value = useMemo(
455
+ () => ({
456
+ presentSignupUi,
457
+ presentLoginUi,
458
+ signUpOrLogIn,
459
+ isSignUpOrLogInPending,
460
+ verifyNewAccount,
461
+ verifyNewAccountStatus: isPasswordIFrameLoading ? "pending" : verifyNewAccountStatus,
462
+ verifyNewAccountError,
463
+ verifyOAuth,
464
+ verifyFarcaster,
465
+ verifyTelegram,
466
+ verifyTelegramStatus,
467
+ onNewAuthState,
468
+ isSetup2faPending,
469
+ createGuestWallets,
470
+ isCreateGuestWalletsPending,
471
+ logout,
472
+ biometricHints: biometricHints || void 0
473
+ }),
474
+ [
475
+ presentSignupUi,
476
+ presentLoginUi,
477
+ signUpOrLogIn,
478
+ isSignUpOrLogInPending,
479
+ verifyNewAccount,
480
+ verifyNewAccountStatus,
481
+ isPasswordIFrameLoading,
482
+ verifyNewAccountError,
483
+ verifyOAuth,
484
+ verifyFarcaster,
485
+ verifyTelegram,
486
+ verifyTelegramStatus,
487
+ onNewAuthState,
488
+ isSetup2faPending,
489
+ createGuestWallets,
490
+ isCreateGuestWalletsPending,
491
+ logout,
492
+ biometricHints
493
+ ]
494
+ );
495
+ useEffect(() => {
496
+ if (!!authStepRoute && isIFrameReady && refs.currentStep.current !== authStepRoute) {
497
+ setTimeout(() => {
498
+ setStep(authStepRoute);
499
+ }, 200);
500
+ }
501
+ }, [authStepRoute, isIFrameReady]);
502
+ useEffect(() => {
503
+ refs.currentStep.current = currentStep;
504
+ }, [currentStep]);
505
+ useEffect(() => {
506
+ if (refs.currentStep.current === ModalStep.AWAITING_GUEST_WALLET_CREATION && !isCreateGuestWalletsPending) {
507
+ setStep(ModalStep.ACCOUNT_MAIN);
508
+ }
509
+ }, [isCreateGuestWalletsPending]);
510
+ useEffect(() => {
511
+ return () => {
512
+ var _a;
513
+ window == null ? void 0 : window.clearTimeout((_a = refs.poll.current) == null ? void 0 : _a.timeout);
514
+ };
515
+ }, []);
516
+ return /* @__PURE__ */ jsx(AuthContext.Provider, { value, children });
517
+ }
518
+ const useAuthActions = () => useContext(AuthContext);
519
+ export {
520
+ AuthContext,
521
+ AuthProvider,
522
+ useAuthActions
523
+ };
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ import {
3
+ __async,
4
+ __objRest,
5
+ __spreadProps,
6
+ __spreadValues
7
+ } from "../../chunk-MMUBH76A.js";
8
+ import { jsx } from "react/jsx-runtime";
9
+ import { memo, useEffect, useMemo } from "react";
10
+ import { useStore } from "../stores/useStore.js";
11
+ import { getParaCosmosConnector } from "../external/getParaCosmosConnector.js";
12
+ function CosmosExternalWalletProvider(_a) {
13
+ var _b = _a, {
14
+ children,
15
+ isUsing,
16
+ wallets: walletsFromProps
17
+ } = _b, rest = __objRest(_b, [
18
+ "children",
19
+ "isUsing",
20
+ "wallets"
21
+ ]);
22
+ const setCosmosContext = useStore((state) => state.setCosmosContext);
23
+ const setCosmosProvider = useStore((state) => state.setCosmosProvider);
24
+ const CosmosProvider = useStore((state) => state.CosmosProvider);
25
+ const setCosmosWallets = useStore((state) => state.setCosmosWallets);
26
+ const cosmosWallets = useStore((state) => state.cosmosWallets);
27
+ const isLoadingLib = useStore((state) => state.isLoadingCosmosLib);
28
+ const setIsLoadingLib = useStore((state) => state.setIsLoadingCosmosLib);
29
+ const filteredWallets = useMemo(
30
+ () => cosmosWallets.filter((w) => walletsFromProps.includes(w().id.toUpperCase())),
31
+ [cosmosWallets, walletsFromProps]
32
+ );
33
+ useEffect(() => {
34
+ const loadLib = () => __async(this, null, function* () {
35
+ if (CosmosProvider) {
36
+ return;
37
+ }
38
+ const { Provider, context, wallets } = yield getParaCosmosConnector();
39
+ if (Provider) {
40
+ setCosmosProvider(Provider);
41
+ }
42
+ if (wallets) {
43
+ setCosmosWallets(wallets);
44
+ }
45
+ if (context) {
46
+ setCosmosContext(context);
47
+ }
48
+ setIsLoadingLib(false);
49
+ });
50
+ loadLib();
51
+ }, []);
52
+ if (isLoadingLib) {
53
+ return null;
54
+ }
55
+ if (CosmosProvider) {
56
+ return /* @__PURE__ */ jsx(CosmosProvider, __spreadProps(__spreadValues({}, rest), { config: __spreadProps(__spreadValues({}, rest == null ? void 0 : rest.config), { wallets: filteredWallets }), children }));
57
+ } else if (isUsing) {
58
+ console.warn("@getpara/cosmos-wallet-connectors is required to use an external Cosmos wallet.");
59
+ }
60
+ return children;
61
+ }
62
+ const MemoizedCosmosExternalWalletProvider = memo(CosmosExternalWalletProvider);
63
+ export {
64
+ CosmosExternalWalletProvider,
65
+ MemoizedCosmosExternalWalletProvider
66
+ };
@@ -0,0 +1,74 @@
1
+ "use client";
2
+ import {
3
+ __async,
4
+ __objRest,
5
+ __spreadProps,
6
+ __spreadValues
7
+ } from "../../chunk-MMUBH76A.js";
8
+ import { jsx } from "react/jsx-runtime";
9
+ import { useEffect, useMemo } from "react";
10
+ import { getParaEvmConnector } from "../external/getParaEvmConnector.js";
11
+ import { useStore } from "../stores/useStore.js";
12
+ function EvmExternalWalletProvider(_a) {
13
+ var _b = _a, {
14
+ children,
15
+ isUsing,
16
+ wallets: walletsFromProps
17
+ } = _b, rest = __objRest(_b, [
18
+ "children",
19
+ "isUsing",
20
+ "wallets"
21
+ ]);
22
+ const setEvmContext = useStore((state) => state.setEvmContext);
23
+ const setEvmProvider = useStore((state) => state.setEvmProvider);
24
+ const EvmProvider = useStore((state) => state.EvmProvider);
25
+ const setEvmWallets = useStore((state) => state.setEvmWallets);
26
+ const evmWallets = useStore((state) => state.evmWallets);
27
+ const isLoadingLib = useStore((state) => state.isLoadingEvmLib);
28
+ const setIsLoadingLib = useStore((state) => state.setIsLoadingEvmLib);
29
+ const filteredWallets = useMemo(
30
+ () => evmWallets.filter(
31
+ (w) => {
32
+ var _a2, _b2, _c, _d;
33
+ return walletsFromProps.includes(
34
+ w({
35
+ appName: (_b2 = (_a2 = rest == null ? void 0 : rest.config) == null ? void 0 : _a2.appName) != null ? _b2 : "",
36
+ projectId: (_d = (_c = rest == null ? void 0 : rest.config) == null ? void 0 : _c.projectId) != null ? _d : ""
37
+ }).id.toUpperCase()
38
+ );
39
+ }
40
+ ),
41
+ [evmWallets, walletsFromProps]
42
+ );
43
+ useEffect(() => {
44
+ const loadLib = () => __async(this, null, function* () {
45
+ if (EvmProvider) {
46
+ return;
47
+ }
48
+ const { Provider, context, wallets } = yield getParaEvmConnector();
49
+ if (Provider) {
50
+ setEvmProvider(Provider);
51
+ }
52
+ if (wallets) {
53
+ setEvmWallets(wallets);
54
+ }
55
+ if (context) {
56
+ setEvmContext(context);
57
+ }
58
+ setIsLoadingLib(false);
59
+ });
60
+ loadLib();
61
+ }, []);
62
+ if (isLoadingLib) {
63
+ return null;
64
+ }
65
+ if (EvmProvider) {
66
+ return /* @__PURE__ */ jsx(EvmProvider, __spreadProps(__spreadValues({}, rest), { config: __spreadProps(__spreadValues({}, rest == null ? void 0 : rest.config), { wallets: filteredWallets }), children }));
67
+ } else if (isUsing) {
68
+ console.warn("@getpara/evm-wallet-connectors is required to use an external EVM wallet.");
69
+ }
70
+ return children;
71
+ }
72
+ export {
73
+ EvmExternalWalletProvider
74
+ };