@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.11

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 (225) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +8 -2
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +4 -1
  8. package/src/lib/Main.cjs +7 -0
  9. package/src/lib/Main.js +7 -0
  10. package/src/lib/components/Alert/Alert.cjs +2 -2
  11. package/src/lib/components/Alert/Alert.js +2 -2
  12. package/src/lib/components/Alert/Alert.types.d.ts +1 -0
  13. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  14. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  15. package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
  16. package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
  17. package/src/lib/components/Portal/Portal.cjs +2 -1
  18. package/src/lib/components/Portal/Portal.js +2 -1
  19. package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
  20. package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
  21. package/src/lib/components/RadioButton/RadioButton.js +10 -0
  22. package/src/lib/components/RadioButton/index.d.ts +1 -0
  23. package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
  24. package/src/lib/components/Tooltip/Tooltip.js +2 -1
  25. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  26. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
  27. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  28. package/src/lib/components/index.d.ts +1 -0
  29. package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
  30. package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
  31. package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
  32. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
  33. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
  34. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  35. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
  36. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
  37. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
  38. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  39. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
  40. package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
  41. package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
  42. package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
  43. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
  44. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
  45. package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
  46. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
  47. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
  48. package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
  49. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
  50. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
  51. package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
  52. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
  53. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
  54. package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
  55. package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
  56. package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
  57. package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
  58. package/src/lib/context/ViewContext/ViewContext.js +2 -2
  59. package/src/lib/context/ViewContext/types/index.d.ts +7 -2
  60. package/src/lib/data/api/chains/balances.cjs +38 -0
  61. package/src/lib/data/api/chains/balances.d.ts +8 -0
  62. package/src/lib/data/api/chains/balances.js +34 -0
  63. package/src/lib/data/api/chains/index.d.ts +1 -0
  64. package/src/lib/data/api/user/user.cjs +16 -0
  65. package/src/lib/data/api/user/user.js +16 -1
  66. package/src/lib/data/api/wallets/wallets.cjs +26 -6
  67. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  68. package/src/lib/data/api/wallets/wallets.js +26 -7
  69. package/src/lib/events/dynamicEvents.d.ts +1 -1
  70. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  71. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  72. package/src/lib/locale/en/translation.cjs +45 -4
  73. package/src/lib/locale/en/translation.d.ts +44 -3
  74. package/src/lib/locale/en/translation.js +45 -4
  75. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  76. package/src/lib/shared/types/general.d.ts +1 -0
  77. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  78. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  79. package/src/lib/styles/index.shadow.cjs +1 -1
  80. package/src/lib/styles/index.shadow.js +1 -1
  81. package/src/lib/utils/constants/errors.cjs +2 -2
  82. package/src/lib/utils/constants/errors.d.ts +1 -0
  83. package/src/lib/utils/constants/errors.js +2 -2
  84. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  85. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  86. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  87. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  88. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  89. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  90. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  91. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  92. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  93. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  94. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
  95. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  96. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  97. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  98. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  99. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  100. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  101. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  102. package/src/lib/utils/functions/index.d.ts +2 -1
  103. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  104. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  105. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  106. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  107. package/src/lib/utils/hooks/index.d.ts +2 -0
  108. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
  109. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
  110. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  111. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  112. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
  113. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  114. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
  115. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  116. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  117. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  118. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  119. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  120. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  121. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  122. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +46 -11
  123. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +23 -2
  124. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +46 -11
  125. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  126. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  127. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  128. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +13 -9
  129. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +3 -2
  130. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +13 -9
  131. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs +4 -0
  132. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.d.ts +2 -0
  133. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js +3 -1
  134. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +192 -50
  135. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +26 -8
  136. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +197 -55
  137. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
  138. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  139. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
  140. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  141. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  142. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  143. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  144. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  145. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  146. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  147. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  148. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  149. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  150. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  151. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  152. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  153. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  154. package/src/lib/utils/hooks/useTokenBalances/index.d.ts +1 -0
  155. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.cjs +141 -0
  156. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.d.ts +12 -0
  157. package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.js +137 -0
  158. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  159. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  160. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  161. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  162. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  163. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  164. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  165. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  166. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  167. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  168. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  169. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  170. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  171. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  172. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +1 -1
  173. package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +1 -1
  174. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +6 -5
  175. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +6 -5
  176. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  177. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  178. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  179. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  180. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  181. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  182. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  183. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  184. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
  185. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
  186. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  187. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  188. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  189. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  190. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
  191. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  192. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
  193. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  194. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  195. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
  196. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  197. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
  198. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  199. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  200. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  201. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  202. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  203. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  204. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
  205. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
  206. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  207. package/src/lib/views/WalletList/WalletList.js +3 -6
  208. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  209. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  210. package/src/lib/views/viewToComponentMap.cjs +4 -0
  211. package/src/lib/views/viewToComponentMap.d.ts +6 -2
  212. package/src/lib/views/viewToComponentMap.js +4 -0
  213. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  214. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  215. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  216. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  217. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  218. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  219. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  220. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  221. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  222. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  223. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  224. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  225. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -0,0 +1,137 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { useState, useCallback, useEffect } from 'react';
4
+ import { ChainEnum, GetAccountBalancesNetworkIdEnum } from '@dynamic-labs/sdk-api-core';
5
+ import '@dynamic-labs/wallet-connector-core';
6
+ import '../../../shared/logger.js';
7
+ import '@dynamic-labs/iconic';
8
+ import 'react/jsx-runtime';
9
+ import '../../../context/ViewContext/ViewContext.js';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../constants/colors.js';
12
+ import '../../constants/values.js';
13
+ import '../../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../../shared/consts/index.js';
16
+ import '@dynamic-labs/multi-wallet';
17
+ import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
18
+ import 'react-international-phone';
19
+ import 'viem';
20
+ import 'viem/chains';
21
+ import '../../../config/ApiEndpoint.js';
22
+ import '../../../locale/locale.js';
23
+ import { getAccountTokenBalances } from '../../../data/api/chains/balances.js';
24
+ import '../../../context/DynamicContext/DynamicContext.js';
25
+ import '../../../events/dynamicEvents.js';
26
+ import '../../../context/CaptchaContext/CaptchaContext.js';
27
+ import '../../../context/ErrorContext/ErrorContext.js';
28
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
29
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
30
+ import '../../../context/UserWalletsContext/UserWalletsContext.js';
31
+ import '../../../context/VerificationContext/VerificationContext.js';
32
+ import 'react-dom';
33
+ import '../../../context/WalletContext/WalletContext.js';
34
+ import '../../../context/ThemeContext/ThemeContext.js';
35
+ import '@dynamic-labs/types';
36
+ import 'yup';
37
+ import '../../../context/MockContext/MockContext.js';
38
+ import 'react-i18next';
39
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
40
+ import '../useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
41
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
42
+ import '@dynamic-labs/rpc-providers';
43
+ import '../../../components/Alert/Alert.js';
44
+ import '../../../components/ShadowDOM/ShadowDOM.js';
45
+ import '../../../components/IconButton/IconButton.js';
46
+ import '../../../components/InlineWidget/InlineWidget.js';
47
+ import '../../../components/Input/Input.js';
48
+ import '../../../components/IsBrowser/IsBrowser.js';
49
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
50
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
51
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
52
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
53
+ import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
54
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
55
+ import '../../../components/Popper/Popper/Popper.js';
56
+ import '../../../components/Popper/PopperContext/PopperContext.js';
57
+ import 'react-focus-lock';
58
+ import 'qrcode';
59
+ import 'formik';
60
+ import '../../../views/WalletList/WalletList.js';
61
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
62
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
63
+ import '@hcaptcha/react-hcaptcha';
64
+ import '../../../context/LoadingContext/LoadingContext.js';
65
+ import '../../../context/FooterAnimationContext/index.js';
66
+ import '../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
67
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
68
+ import '../../../context/PasskeyContext/PasskeyContext.js';
69
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
70
+ import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
71
+ import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
72
+ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
73
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
74
+
75
+ // Hook exposed to customers and used internally to fetch account balances
76
+ const useTokenBalances = ({ accountAddress, networkId, chainName = ChainEnum.Evm, tokenAddresses, } = {}) => {
77
+ const [tokenBalancesData, setTokenBalancesData] = useState(undefined);
78
+ const [isLoading, setIsLoading] = useState(false);
79
+ const [error, setError] = useState(undefined);
80
+ const { primaryWallet, environmentId, network, walletConnector } = useInternalDynamicContext();
81
+ const requestChainName = chainName !== null && chainName !== void 0 ? chainName : walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain;
82
+ const requestAccount = accountAddress !== null && accountAddress !== void 0 ? accountAddress : primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address;
83
+ const requestNetwork = networkId !== null && networkId !== void 0 ? networkId : network;
84
+ const fetchAccountBalances = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
85
+ const jwt = getAuthToken();
86
+ if (!jwt) {
87
+ setError('User is not logged in');
88
+ return;
89
+ }
90
+ if (requestChainName !== ChainEnum.Evm) {
91
+ setError(`Chain ${requestChainName} is not supported for token balances`);
92
+ return;
93
+ }
94
+ if (!isLoading &&
95
+ requestAccount &&
96
+ requestNetwork &&
97
+ Object.values(GetAccountBalancesNetworkIdEnum).includes(requestNetwork)) {
98
+ setIsLoading(true);
99
+ getAccountTokenBalances({
100
+ accountAddress: requestAccount,
101
+ chainName: requestChainName,
102
+ environmentId,
103
+ networkId: Number(requestNetwork),
104
+ userJwt: jwt,
105
+ })
106
+ .then((response) => {
107
+ if (response) {
108
+ setTokenBalancesData(response);
109
+ setError(undefined);
110
+ }
111
+ })
112
+ .catch((e) => {
113
+ setError(e.message);
114
+ })
115
+ .finally(() => {
116
+ setIsLoading(false);
117
+ });
118
+ }
119
+ }), [
120
+ isLoading,
121
+ requestAccount,
122
+ requestNetwork,
123
+ requestChainName,
124
+ environmentId,
125
+ ]);
126
+ useEffect(() => {
127
+ fetchAccountBalances();
128
+ }, [requestAccount, requestNetwork]);
129
+ let tokenBalances = tokenBalancesData;
130
+ if (tokenAddresses) {
131
+ const lowerTokenAddresses = tokenAddresses === null || tokenAddresses === void 0 ? void 0 : tokenAddresses.map((address) => address.toLowerCase());
132
+ tokenBalances = tokenBalancesData === null || tokenBalancesData === void 0 ? void 0 : tokenBalancesData.filter((token) => lowerTokenAddresses === null || lowerTokenAddresses === void 0 ? void 0 : lowerTokenAddresses.includes(token.address.toLowerCase()));
133
+ }
134
+ return { error, isError: Boolean(error), isLoading, tokenBalances };
135
+ };
136
+
137
+ export { useTokenBalances };
@@ -177,6 +177,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
177
177
  handleDisconnectWallet({ endSession: false, walletConnector });
178
178
  return handleWalletUsedError(e);
179
179
  }
180
+ if (e instanceof utils.MergeAccountsConfirmationError) {
181
+ setView('merge-user-accounts', Object.assign({}, e));
182
+ setShowAuthFlow(true);
183
+ return;
184
+ }
180
185
  if (e instanceof utils.ChainalysisError) {
181
186
  handleDisconnectWallet({ walletConnector });
182
187
  setDeniedAddress(address);
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
- import { DynamicError, WalletUsedError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
3
+ import { DynamicError, WalletUsedError, MergeAccountsConfirmationError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
4
4
  import { isSocialWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
5
  import 'react';
6
6
  import '../../../events/dynamicEvents.js';
@@ -173,6 +173,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
173
173
  handleDisconnectWallet({ endSession: false, walletConnector });
174
174
  return handleWalletUsedError(e);
175
175
  }
176
+ if (e instanceof MergeAccountsConfirmationError) {
177
+ setView('merge-user-accounts', Object.assign({}, e));
178
+ setShowAuthFlow(true);
179
+ return;
180
+ }
176
181
  if (e instanceof ChainalysisError) {
177
182
  handleDisconnectWallet({ walletConnector });
178
183
  setDeniedAddress(address);
@@ -5,9 +5,31 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var React = require('react');
7
7
  var data = require('../../../views/WalletList/data.cjs');
8
+ require('@dynamic-labs/wallet-connector-core');
9
+ require('@dynamic-labs/sdk-api-core');
10
+ require('../../../shared/logger.cjs');
11
+ require('@dynamic-labs/iconic');
12
+ require('react/jsx-runtime');
13
+ require('../../../context/ViewContext/ViewContext.cjs');
14
+ require('@dynamic-labs/wallet-book');
15
+ require('../../constants/colors.cjs');
16
+ require('../../constants/values.cjs');
17
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('@dynamic-labs/utils');
19
+ require('../../../shared/consts/index.cjs');
20
+ require('../../../../../_virtual/_tslib.cjs');
21
+ require('@dynamic-labs/multi-wallet');
22
+ require('react-international-phone');
23
+ require('viem');
24
+ require('viem/chains');
25
+ require('../../../config/ApiEndpoint.cjs');
26
+ require('../../../locale/locale.cjs');
27
+ var serializeWalletConnectors = require('../../functions/serializeWalletConnectors/serializeWalletConnectors.cjs');
8
28
  var verifyRequiredConnectorsAreSetup = require('./utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs');
9
29
 
10
30
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
31
+ const walletConnectorsKey = React.useMemo(() => { var _a; return (_a = serializeWalletConnectors.serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
32
+ const walletBookLength = React.useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
11
33
  const walletConnectorOptions = React.useMemo(() => {
12
34
  if (!projectSettings ||
13
35
  !Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
@@ -31,14 +53,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
31
53
  walletConnectorExtensions,
32
54
  });
33
55
  // Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
57
  }, [
35
58
  appLogoUrl,
36
59
  appName,
37
60
  projectSettings,
38
- walletConnectorsProp,
61
+ walletConnectorsKey,
39
62
  walletConnectPreferredChains,
40
63
  flowNetwork,
41
- Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length,
64
+ walletBookLength,
42
65
  networkConfigurations,
43
66
  ]);
44
67
  React.useEffect(() => {
@@ -1,9 +1,31 @@
1
1
  'use client'
2
2
  import { useMemo, useEffect } from 'react';
3
3
  import { getWallets } from '../../../views/WalletList/data.js';
4
+ import '@dynamic-labs/wallet-connector-core';
5
+ import '@dynamic-labs/sdk-api-core';
6
+ import '../../../shared/logger.js';
7
+ import '@dynamic-labs/iconic';
8
+ import 'react/jsx-runtime';
9
+ import '../../../context/ViewContext/ViewContext.js';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../constants/colors.js';
12
+ import '../../constants/values.js';
13
+ import '../../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../../shared/consts/index.js';
16
+ import '../../../../../_virtual/_tslib.js';
17
+ import '@dynamic-labs/multi-wallet';
18
+ import 'react-international-phone';
19
+ import 'viem';
20
+ import 'viem/chains';
21
+ import '../../../config/ApiEndpoint.js';
22
+ import '../../../locale/locale.js';
23
+ import { serializeWalletConnectors } from '../../functions/serializeWalletConnectors/serializeWalletConnectors.js';
4
24
  import { verifyRequiredConnectorsAreSetup } from './utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js';
5
25
 
6
26
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
27
+ const walletConnectorsKey = useMemo(() => { var _a; return (_a = serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
28
+ const walletBookLength = useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
7
29
  const walletConnectorOptions = useMemo(() => {
8
30
  if (!projectSettings ||
9
31
  !Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
@@ -27,14 +49,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
27
49
  walletConnectorExtensions,
28
50
  });
29
51
  // Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
52
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
53
  }, [
31
54
  appLogoUrl,
32
55
  appName,
33
56
  projectSettings,
34
- walletConnectorsProp,
57
+ walletConnectorsKey,
35
58
  walletConnectPreferredChains,
36
59
  flowNetwork,
37
- Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length,
60
+ walletBookLength,
38
61
  networkConfigurations,
39
62
  ]);
40
63
  useEffect(() => {
@@ -20,7 +20,7 @@ require('../../../shared/consts/index.cjs');
20
20
  require('../../../events/dynamicEvents.cjs');
21
21
  var useWalletConnectorEvent = require('../events/useWalletConnectorEvent/useWalletConnectorEvent.cjs');
22
22
 
23
- const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
23
+ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
24
24
  useWalletConnectorEvent.useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
25
25
  logger.logger.debug('primary wallet disconnect');
26
26
  handleLogOut();
@@ -109,13 +109,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
109
109
  }));
110
110
  useWalletConnectorEvent.useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
111
111
  logger.logger.debug('secondary wallet disconnect');
112
- // argent sends a disconnect event when the user adds a new account
113
112
  if (authMode === 'connect-only') {
114
113
  // Get all wallets with this connector
115
114
  const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
116
115
  for (const wallet of affectedWallets) {
117
- if (wallet.connector.key === 'argentx')
118
- refreshConnectedWallet(wallet.id, wallet.connector);
116
+ disconnectWallet(wallet.id);
119
117
  }
120
118
  }
121
119
  });
@@ -4,6 +4,7 @@ import { IDynamicContext } from '../../../context/DynamicContext/types';
4
4
  import { AuthModeType, MultiWalletWidgetState, Wallet, WalletWithAction } from '../../../shared';
5
5
  import { MultiWalletWidgetStateSetter } from '../multiWallet';
6
6
  export type UseWalletEventListenersArgs = {
7
+ disconnectWallet: (walletId: string) => Promise<void>;
7
8
  handleLogOut(): Promise<void>;
8
9
  multiWallet: boolean;
9
10
  multiWalletWidgetState: MultiWalletWidgetState;
@@ -19,4 +20,4 @@ export type UseWalletEventListenersArgs = {
19
20
  authMode: AuthModeType;
20
21
  refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector, shouldCallCallback?: boolean) => Promise<void>;
21
22
  };
22
- export declare const useWalletEventListeners: ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
23
+ export declare const useWalletEventListeners: ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
@@ -16,7 +16,7 @@ import '../../../shared/consts/index.js';
16
16
  import '../../../events/dynamicEvents.js';
17
17
  import { useWalletConnectorEvent } from '../events/useWalletConnectorEvent/useWalletConnectorEvent.js';
18
18
 
19
- const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
19
+ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
20
20
  useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
21
21
  logger.debug('primary wallet disconnect');
22
22
  handleLogOut();
@@ -105,13 +105,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
105
105
  }));
106
106
  useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
107
107
  logger.debug('secondary wallet disconnect');
108
- // argent sends a disconnect event when the user adds a new account
109
108
  if (authMode === 'connect-only') {
110
109
  // Get all wallets with this connector
111
110
  const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
112
111
  for (const wallet of affectedWallets) {
113
- if (wallet.connector.key === 'argentx')
114
- refreshConnectedWallet(wallet.id, wallet.connector);
112
+ disconnectWallet(wallet.id);
115
113
  }
116
114
  }
117
115
  });
@@ -78,7 +78,7 @@ require('@hcaptcha/react-hcaptcha');
78
78
  require('../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
79
79
  var Select = require('../../../../components/Select/Select.cjs');
80
80
 
81
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
81
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
82
82
  if (name === 'tShirtSize') {
83
83
  return (jsxRuntime.jsx(formik.Field, { copykey: key, as: Select.Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: index.tShirtSizes.map((size) => (jsxRuntime.jsx("option", { value: size, children: size }, size))) }, name));
84
84
  }
@@ -94,10 +94,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
94
94
  else if (name === 'phoneNumber') {
95
95
  return (jsxRuntime.jsx(formik.Field, { name: name, as: UserPhoneField.UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
96
96
  ? getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name])
97
- : undefined, verify: verify }, name));
97
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
98
98
  }
99
99
  else {
100
- return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]) }, name));
100
+ return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
101
101
  }
102
102
  };
103
103
 
@@ -74,7 +74,7 @@ import '@hcaptcha/react-hcaptcha';
74
74
  import '../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
75
75
  import { Select } from '../../../../components/Select/Select.js';
76
76
 
77
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
77
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
78
78
  if (name === 'tShirtSize') {
79
79
  return (jsx(Field, { copykey: key, as: Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: tShirtSizes.map((size) => (jsx("option", { value: size, children: size }, size))) }, name));
80
80
  }
@@ -90,10 +90,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
90
90
  else if (name === 'phoneNumber') {
91
91
  return (jsx(Field, { name: name, as: UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
92
92
  ? getDisplayErrorMessage(label, errors[name])
93
- : undefined, verify: verify }, name));
93
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
94
94
  }
95
95
  else {
96
- return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]) }, name));
96
+ return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
97
97
  }
98
98
  };
99
99
 
@@ -46,6 +46,7 @@ const useFields = () => {
46
46
  validation: yup.string().oneOf(index.countryCodes.map((c) => c.code)),
47
47
  },
48
48
  email: {
49
+ autoComplete: 'email',
49
50
  key: 'dyn_collect_user_data.fields.email.label',
50
51
  label: t('dyn_collect_user_data.fields.email.label'),
51
52
  type: 'email',
@@ -4,6 +4,7 @@ export type FieldConfig = {
4
4
  key: string;
5
5
  type: string;
6
6
  validation: StringSchema | BooleanSchema;
7
+ autoComplete?: string;
7
8
  };
8
9
  export declare const useFields: () => {
9
10
  fieldsConfig: {
@@ -20,6 +21,7 @@ export declare const useFields: () => {
20
21
  validation: StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
21
22
  };
22
23
  email: {
24
+ autoComplete: string;
23
25
  key: string;
24
26
  label: string;
25
27
  type: string;
@@ -42,6 +42,7 @@ const useFields = () => {
42
42
  validation: string().oneOf(countryCodes.map((c) => c.code)),
43
43
  },
44
44
  email: {
45
+ autoComplete: 'email',
45
46
  key: 'dyn_collect_user_data.fields.email.label',
46
47
  label: t('dyn_collect_user_data.fields.email.label'),
47
48
  type: 'email',
@@ -27,6 +27,7 @@ require('../../shared/consts/index.cjs');
27
27
  var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
28
28
  require('../../context/CaptchaContext/CaptchaContext.cjs');
29
29
  var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
30
+ var findEmbeddedWalletFromVerifiedCredentials = require('../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs');
30
31
  require('@dynamic-labs/multi-wallet');
31
32
  require('react-international-phone');
32
33
  var shortenEmail = require('../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
@@ -100,7 +101,7 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
100
101
  const SECONDS_TO_RETRY = 15;
101
102
  const sleepToShowSuccessMessage = () => utils.sleep(1500);
102
103
  const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
103
- var _a, _b, _c, _d;
104
+ var _a, _b, _c, _d, _e, _f;
104
105
  const [showRetryButton, setShowRetryButton] = React.useState(_showRetryButton);
105
106
  const [showTransferMessage, setShowTransferMessage] = React.useState(_showTransferMessage);
106
107
  const { handleVerifiedUserWithJWT } = useHandleVerifiedUser.useHandleVerifiedUser();
@@ -135,7 +136,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
135
136
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
136
137
  const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
137
138
  const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
138
- var _e, _f, _g;
139
+ var _g, _h, _j, _k, _l, _m, _o;
139
140
  setError(undefined);
140
141
  setLoading(true);
141
142
  if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
@@ -172,16 +173,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
172
173
  if (isTurnkeyWallet &&
173
174
  hasTurnkeyVerifiedCredentialAuthenticator &&
174
175
  !hasRecoveryEmail &&
175
- ((_e = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _e === void 0 ? void 0 : _e.email)) {
176
+ ((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
176
177
  setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
177
178
  yield addRecoveryEmail(updateUserProfileResponse.user.email);
178
179
  setShowAuthFlow(false);
179
180
  return;
180
181
  }
181
- if (isTurnkeyProviderEnabled &&
182
- !((_g = (_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _f === void 0 ? void 0 : _f.embeddedWallets) === null || _g === void 0 ? void 0 : _g.automaticEmbeddedWalletCreation)) {
183
- setShowAuthFlow(false);
184
- return;
182
+ if (isTurnkeyProviderEnabled) {
183
+ const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
184
+ const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
185
+ !((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
186
+ if (isUsingPregeneratedWallets) {
187
+ // Pregenerated wallet was created during an
188
+ // additional email validation step as part of onboarding
189
+ // cannot rely on newUser JWT field here due to session being counted twice
190
+ // when authentication happens followed by a separate email kyc step
191
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
192
+ if (!embeddedWalletVerifiedCredential) {
193
+ throw new Error('Could not find an embedded wallet');
194
+ }
195
+ const wallet = {
196
+ address: embeddedWalletVerifiedCredential.address,
197
+ authenticated: false,
198
+ chain: embeddedWalletVerifiedCredential.chain,
199
+ connected: true,
200
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
201
+ // @ts-ignore
202
+ connector: undefined,
203
+ id: embeddedWalletVerifiedCredential.id,
204
+ };
205
+ dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
206
+ }
207
+ if (isUsingPregeneratedWallets || isManualMode) {
208
+ setShowAuthFlow(false);
209
+ return;
210
+ }
185
211
  }
186
212
  // this function will check turnkey wallet enabled and create wallet if needed
187
213
  // if not enabled, it will throw an error.
@@ -217,7 +243,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
217
243
  hasTurnkeyVerifiedCredentialAuthenticator,
218
244
  hasRecoveryEmail,
219
245
  isTurnkeyProviderEnabled,
220
- (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
221
246
  createEmbeddedWallet,
222
247
  setOnboardingOnlyJwt,
223
248
  setView,
@@ -226,10 +251,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
226
251
  setUser,
227
252
  addRecoveryEmail,
228
253
  setShowAuthFlow,
254
+ (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
255
+ (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
229
256
  setErrorMessage,
230
257
  ]);
231
258
  const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
232
- var _h, _j;
259
+ var _p, _q;
233
260
  setError(undefined);
234
261
  setLoading(true);
235
262
  if (!verificationUUID) {
@@ -264,7 +291,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
264
291
  yield sleepToShowSuccessMessage();
265
292
  yield createUserProfileByJWT(jwt, minifiedJwt);
266
293
  if (isTurnkeyProviderEnabled &&
267
- !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation)) {
294
+ !((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
268
295
  setShowAuthFlow(false);
269
296
  return;
270
297
  }
@@ -297,7 +324,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
297
324
  setCallback,
298
325
  createUserProfileByJWT,
299
326
  isTurnkeyProviderEnabled,
300
- (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation,
327
+ (_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
301
328
  createEmbeddedWallet,
302
329
  setOnboardingOnlyJwt,
303
330
  setView,