@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
@@ -23,6 +23,7 @@ import '../../shared/consts/index.js';
23
23
  import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
24
24
  import '../../context/CaptchaContext/CaptchaContext.js';
25
25
  import { useErrorContext } from '../../context/ErrorContext/ErrorContext.js';
26
+ import { findEmbeddedWalletFromVerifiedCredentials } from '../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
26
27
  import '@dynamic-labs/multi-wallet';
27
28
  import 'react-international-phone';
28
29
  import { shortenEmail } from '../../shared/utils/functions/shortenEmail/shortenEmail.js';
@@ -96,7 +97,7 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
96
97
  const SECONDS_TO_RETRY = 15;
97
98
  const sleepToShowSuccessMessage = () => sleep(1500);
98
99
  const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
99
- var _a, _b, _c, _d;
100
+ var _a, _b, _c, _d, _e, _f;
100
101
  const [showRetryButton, setShowRetryButton] = useState(_showRetryButton);
101
102
  const [showTransferMessage, setShowTransferMessage] = useState(_showTransferMessage);
102
103
  const { handleVerifiedUserWithJWT } = useHandleVerifiedUser();
@@ -131,7 +132,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
131
132
  const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback();
132
133
  const isTurnkeyProviderEnabled = isTurnkeyEnabled(projectSettings);
133
134
  const handleComplete = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
134
- var _e, _f, _g;
135
+ var _g, _h, _j, _k, _l, _m, _o;
135
136
  setError(undefined);
136
137
  setLoading(true);
137
138
  if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
@@ -168,16 +169,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
168
169
  if (isTurnkeyWallet &&
169
170
  hasTurnkeyVerifiedCredentialAuthenticator &&
170
171
  !hasRecoveryEmail &&
171
- ((_e = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _e === void 0 ? void 0 : _e.email)) {
172
+ ((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
172
173
  setUser(updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
173
174
  yield addRecoveryEmail(updateUserProfileResponse.user.email);
174
175
  setShowAuthFlow(false);
175
176
  return;
176
177
  }
177
- if (isTurnkeyProviderEnabled &&
178
- !((_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)) {
179
- setShowAuthFlow(false);
180
- return;
178
+ if (isTurnkeyProviderEnabled) {
179
+ 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);
180
+ 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) &&
181
+ !((_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));
182
+ if (isUsingPregeneratedWallets) {
183
+ // Pregenerated wallet was created during an
184
+ // additional email validation step as part of onboarding
185
+ // cannot rely on newUser JWT field here due to session being counted twice
186
+ // when authentication happens followed by a separate email kyc step
187
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
188
+ if (!embeddedWalletVerifiedCredential) {
189
+ throw new Error('Could not find an embedded wallet');
190
+ }
191
+ const wallet = {
192
+ address: embeddedWalletVerifiedCredential.address,
193
+ authenticated: false,
194
+ chain: embeddedWalletVerifiedCredential.chain,
195
+ connected: true,
196
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
197
+ // @ts-ignore
198
+ connector: undefined,
199
+ id: embeddedWalletVerifiedCredential.id,
200
+ };
201
+ dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
202
+ }
203
+ if (isUsingPregeneratedWallets || isManualMode) {
204
+ setShowAuthFlow(false);
205
+ return;
206
+ }
181
207
  }
182
208
  // this function will check turnkey wallet enabled and create wallet if needed
183
209
  // if not enabled, it will throw an error.
@@ -213,7 +239,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
213
239
  hasTurnkeyVerifiedCredentialAuthenticator,
214
240
  hasRecoveryEmail,
215
241
  isTurnkeyProviderEnabled,
216
- (_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,
217
242
  createEmbeddedWallet,
218
243
  setOnboardingOnlyJwt,
219
244
  setView,
@@ -222,10 +247,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
222
247
  setUser,
223
248
  addRecoveryEmail,
224
249
  setShowAuthFlow,
250
+ (_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,
251
+ (_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,
225
252
  setErrorMessage,
226
253
  ]);
227
254
  const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
228
- var _h, _j;
255
+ var _p, _q;
229
256
  setError(undefined);
230
257
  setLoading(true);
231
258
  if (!verificationUUID) {
@@ -260,7 +287,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
260
287
  yield sleepToShowSuccessMessage();
261
288
  yield createUserProfileByJWT(jwt, minifiedJwt);
262
289
  if (isTurnkeyProviderEnabled &&
263
- !((_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)) {
290
+ !((_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)) {
264
291
  setShowAuthFlow(false);
265
292
  return;
266
293
  }
@@ -293,7 +320,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
293
320
  setCallback,
294
321
  createUserProfileByJWT,
295
322
  isTurnkeyProviderEnabled,
296
- (_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,
323
+ (_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,
297
324
  createEmbeddedWallet,
298
325
  setOnboardingOnlyJwt,
299
326
  setView,
@@ -43,6 +43,7 @@ require('../../../context/VerificationContext/VerificationContext.cjs');
43
43
  require('react-dom');
44
44
  require('../../../context/WalletContext/WalletContext.cjs');
45
45
  var useIsTurnkeyWallet = require('../../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
46
+ var turnkeyExport = require('../utils/turnkeyExport/turnkeyExport.cjs');
46
47
  var usePromise = require('../../../utils/hooks/usePromise/usePromise.cjs');
47
48
  require('../../../context/ThemeContext/ThemeContext.cjs');
48
49
  var useMutation = require('../../../utils/hooks/useMutation/useMutation.cjs');
@@ -88,7 +89,6 @@ require('qrcode');
88
89
  require('../../WalletList/WalletList.cjs');
89
90
  require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
90
91
  require('@hcaptcha/react-hcaptcha');
91
- var turnkeyExport = require('../utils/turnkeyExport/turnkeyExport.cjs');
92
92
  var constants = require('../constants.cjs');
93
93
  require('../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
94
94
 
@@ -39,6 +39,7 @@ import '../../../context/VerificationContext/VerificationContext.js';
39
39
  import 'react-dom';
40
40
  import '../../../context/WalletContext/WalletContext.js';
41
41
  import { useIsTurnkeyWallet } from '../../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js';
42
+ import { cleanupExport, exportCredential, initExport } from '../utils/turnkeyExport/turnkeyExport.js';
42
43
  import { usePromise } from '../../../utils/hooks/usePromise/usePromise.js';
43
44
  import '../../../context/ThemeContext/ThemeContext.js';
44
45
  import { useMutation } from '../../../utils/hooks/useMutation/useMutation.js';
@@ -84,7 +85,6 @@ import 'qrcode';
84
85
  import '../../WalletList/WalletList.js';
85
86
  import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
86
87
  import '@hcaptcha/react-hcaptcha';
87
- import { cleanupExport, exportCredential, initExport } from '../utils/turnkeyExport/turnkeyExport.js';
88
88
  import { iframeContainerId, iframeElementId } from '../constants.js';
89
89
  import '../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
90
90
 
@@ -21,18 +21,19 @@ require('../../../../shared/consts/index.cjs');
21
21
  require('../../../../config/ApiEndpoint.cjs');
22
22
  var embeddedWallets = require('../../../../data/api/embeddedWallets/embeddedWallets.cjs');
23
23
  require('../../../../locale/locale.cjs');
24
+ var errors = require('../../../../utils/constants/errors.cjs');
24
25
 
25
26
  const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ iframeContainer, iframeElementId, wallet, }) {
26
27
  var _b;
27
28
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
28
29
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
29
30
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
30
- throw new utils.DynamicError('PasskeyWalletConnector not found');
31
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings', errors.INVALID_WALLET_DATA);
31
32
  }
32
33
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
33
34
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
34
35
  if (!publicKey) {
35
- throw new utils.DynamicError('Something went wrong');
36
+ throw new utils.DynamicError('Something went wrong', errors.ERROR_PROCESSING_REVEAL_REQUEST);
36
37
  }
37
38
  return turnkeyExportHandler;
38
39
  });
@@ -48,7 +49,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
48
49
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
49
50
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
50
51
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
51
- throw new utils.DynamicError('PasskeyWalletConnector not found');
52
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
52
53
  }
53
54
  const connector = wallet.connector;
54
55
  connector.setEmail(userEmail);
@@ -86,7 +87,7 @@ const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function
86
87
  const turnkeyExportHandler = connector.getExportHandler();
87
88
  const targetPublicKey = turnkeyExportHandler.publicKey;
88
89
  if (!targetPublicKey) {
89
- throw new utils.DynamicError('Must initialize export first');
90
+ throw new utils.DynamicError('Must initialize export first', errors.ERROR_PROCESSING_REVEAL_REQUEST);
90
91
  }
91
92
  // calls turnkey export api
92
93
  let newActivity;
@@ -123,7 +124,7 @@ const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function
123
124
  exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
124
125
  }
125
126
  if (!exportBundle) {
126
- throw new utils.DynamicError('Invalid export response');
127
+ throw new utils.DynamicError('Invalid export response', errors.ERROR_PROCESSING_REVEAL_REQUEST);
127
128
  }
128
129
  if (address || privateKeyId) {
129
130
  return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
@@ -17,18 +17,19 @@ import '../../../../shared/consts/index.js';
17
17
  import '../../../../config/ApiEndpoint.js';
18
18
  import { exportEmbeddedWallet } from '../../../../data/api/embeddedWallets/embeddedWallets.js';
19
19
  import '../../../../locale/locale.js';
20
+ import { INVALID_WALLET_DATA, ERROR_PROCESSING_REVEAL_REQUEST } from '../../../../utils/constants/errors.js';
20
21
 
21
22
  const initExport = (_a) => __awaiter(void 0, [_a], void 0, function* ({ iframeContainer, iframeElementId, wallet, }) {
22
23
  var _b;
23
24
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
24
25
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
25
26
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
26
- throw new DynamicError('PasskeyWalletConnector not found');
27
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings', INVALID_WALLET_DATA);
27
28
  }
28
29
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
29
30
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
30
31
  if (!publicKey) {
31
- throw new DynamicError('Something went wrong');
32
+ throw new DynamicError('Something went wrong', ERROR_PROCESSING_REVEAL_REQUEST);
32
33
  }
33
34
  return turnkeyExportHandler;
34
35
  });
@@ -44,7 +45,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
44
45
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
45
46
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
46
47
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
47
- throw new DynamicError('PasskeyWalletConnector not found');
48
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
48
49
  }
49
50
  const connector = wallet.connector;
50
51
  connector.setEmail(userEmail);
@@ -82,7 +83,7 @@ const exportCredential = (_c) => __awaiter(void 0, [_c], void 0, function* ({ au
82
83
  const turnkeyExportHandler = connector.getExportHandler();
83
84
  const targetPublicKey = turnkeyExportHandler.publicKey;
84
85
  if (!targetPublicKey) {
85
- throw new DynamicError('Must initialize export first');
86
+ throw new DynamicError('Must initialize export first', ERROR_PROCESSING_REVEAL_REQUEST);
86
87
  }
87
88
  // calls turnkey export api
88
89
  let newActivity;
@@ -119,7 +120,7 @@ const exportCredential = (_c) => __awaiter(void 0, [_c], void 0, function* ({ au
119
120
  exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
120
121
  }
121
122
  if (!exportBundle) {
122
- throw new DynamicError('Invalid export response');
123
+ throw new DynamicError('Invalid export response', ERROR_PROCESSING_REVEAL_REQUEST);
123
124
  }
124
125
  if (address || privateKeyId) {
125
126
  return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
@@ -0,0 +1,126 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var React = require('react');
9
+ var reactI18next = require('react-i18next');
10
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
11
+ require('../../events/dynamicEvents.cjs');
12
+ require('@dynamic-labs/utils');
13
+ require('../../context/DynamicContext/DynamicContext.cjs');
14
+ var logger = require('../../shared/logger.cjs');
15
+ require('@dynamic-labs/iconic');
16
+ require('@dynamic-labs/wallet-connector-core');
17
+ require('../../context/ViewContext/ViewContext.cjs');
18
+ require('@dynamic-labs/wallet-book');
19
+ require('../../utils/constants/colors.cjs');
20
+ require('../../utils/constants/values.cjs');
21
+ require('../../shared/utils/classes/storage/localStorage.cjs');
22
+ var capitalize = require('../../shared/utils/functions/capitalize/capitalize.cjs');
23
+ require('../../shared/consts/index.cjs');
24
+ require('../../context/CaptchaContext/CaptchaContext.cjs');
25
+ require('../../context/ErrorContext/ErrorContext.cjs');
26
+ require('@dynamic-labs/multi-wallet');
27
+ require('react-international-phone');
28
+ require('viem');
29
+ require('viem/chains');
30
+ require('../../config/ApiEndpoint.cjs');
31
+ require('../../locale/locale.cjs');
32
+ require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
33
+ require('../../context/AccountExistsContext/AccountExistsContext.cjs');
34
+ require('../../context/UserWalletsContext/UserWalletsContext.cjs');
35
+ require('../../context/VerificationContext/VerificationContext.cjs');
36
+ require('react-dom');
37
+ require('../../context/WalletContext/WalletContext.cjs');
38
+ require('../../context/ThemeContext/ThemeContext.cjs');
39
+ require('@dynamic-labs/types');
40
+ require('yup');
41
+ require('../../context/MockContext/MockContext.cjs');
42
+ require('../../context/FieldsStateContext/FieldsStateContext.cjs');
43
+ require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
44
+ require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
45
+ require('@dynamic-labs/rpc-providers');
46
+ var Typography = require('../../components/Typography/Typography.cjs');
47
+ require('../../context/FooterAnimationContext/index.cjs');
48
+ require('../../components/ShadowDOM/ShadowDOM.cjs');
49
+ require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
50
+ require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
51
+ require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
52
+ require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
53
+ require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
54
+ require('../../context/WalletGroupContext/WalletGroupContext.cjs');
55
+ require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
56
+ require('react-focus-lock');
57
+ require('../../context/LoadingContext/LoadingContext.cjs');
58
+ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
59
+ require('../../components/IconButton/IconButton.cjs');
60
+ require('../../components/MenuList/Dropdown/Dropdown.cjs');
61
+ require('formik');
62
+ var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
63
+ require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
64
+ var Alert = require('../../components/Alert/Alert.cjs');
65
+ require('../../components/Input/Input.cjs');
66
+ require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
67
+ require('../../context/PasskeyContext/PasskeyContext.cjs');
68
+ require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
69
+ var useMergeUserAccounts = require('../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs');
70
+ require('../../components/InlineWidget/InlineWidget.cjs');
71
+ require('../../components/IsBrowser/IsBrowser.cjs');
72
+ require('../../components/Popper/Popper/Popper.cjs');
73
+ require('../../components/Popper/PopperContext/PopperContext.cjs');
74
+ require('qrcode');
75
+ var RadioButton = require('../../components/RadioButton/RadioButton.cjs');
76
+ require('../WalletList/WalletList.cjs');
77
+ require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
78
+ require('@hcaptcha/react-hcaptcha');
79
+ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
80
+
81
+ const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
82
+ const { mergeUserAccounts } = useMergeUserAccounts.useMergeUserAccounts();
83
+ const { t } = reactI18next.useTranslation();
84
+ const [error, setError] = React.useState('');
85
+ const mergeResolutions = React.useRef(
86
+ // defaults to current user field values
87
+ Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
88
+ `${field.name}_${field.type}`,
89
+ {
90
+ fieldKey: field.name,
91
+ type: field.type || sdkApiCore.KycFieldType.Standard,
92
+ userId: currentUser.userId,
93
+ },
94
+ ])));
95
+ const handleMergeConfirm = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
96
+ const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
97
+ fieldKey,
98
+ type,
99
+ userId,
100
+ }));
101
+ try {
102
+ yield mergeUserAccounts(parsedMergeResolutions);
103
+ }
104
+ catch (error) {
105
+ logger.logger.error('Error merging user accounts', error);
106
+ setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
107
+ }
108
+ });
109
+ if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
110
+ return null;
111
+ }
112
+ const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
113
+ setError('');
114
+ if (!isSelected) {
115
+ return;
116
+ }
117
+ mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
118
+ fieldKey,
119
+ type: fieldType || sdkApiCore.KycFieldType.Standard,
120
+ userId,
121
+ };
122
+ };
123
+ return (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize.capitalize(field.name) }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
124
+ };
125
+
126
+ exports.MergeUserAccountsConflictsView = MergeUserAccountsConflictsView;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ import { MergeUserConflict } from '@dynamic-labs/sdk-api-core';
3
+ export type MergeUserAccountsConflictsViewProps = {
4
+ mergeConflicts: MergeUserConflict[];
5
+ };
6
+ export declare const MergeUserAccountsConflictsView: FC<MergeUserAccountsConflictsViewProps>;
@@ -0,0 +1,122 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+ import { useState, useRef } from 'react';
5
+ import { useTranslation } from 'react-i18next';
6
+ import { KycFieldType } from '@dynamic-labs/sdk-api-core';
7
+ import '../../events/dynamicEvents.js';
8
+ import '@dynamic-labs/utils';
9
+ import '../../context/DynamicContext/DynamicContext.js';
10
+ import { logger } from '../../shared/logger.js';
11
+ import '@dynamic-labs/iconic';
12
+ import '@dynamic-labs/wallet-connector-core';
13
+ import '../../context/ViewContext/ViewContext.js';
14
+ import '@dynamic-labs/wallet-book';
15
+ import '../../utils/constants/colors.js';
16
+ import '../../utils/constants/values.js';
17
+ import '../../shared/utils/classes/storage/localStorage.js';
18
+ import { capitalize } from '../../shared/utils/functions/capitalize/capitalize.js';
19
+ import '../../shared/consts/index.js';
20
+ import '../../context/CaptchaContext/CaptchaContext.js';
21
+ import '../../context/ErrorContext/ErrorContext.js';
22
+ import '@dynamic-labs/multi-wallet';
23
+ import 'react-international-phone';
24
+ import 'viem';
25
+ import 'viem/chains';
26
+ import '../../config/ApiEndpoint.js';
27
+ import '../../locale/locale.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 '../../context/FieldsStateContext/FieldsStateContext.js';
39
+ import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
40
+ import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
41
+ import '@dynamic-labs/rpc-providers';
42
+ import { Typography } from '../../components/Typography/Typography.js';
43
+ import '../../context/FooterAnimationContext/index.js';
44
+ import '../../components/ShadowDOM/ShadowDOM.js';
45
+ import '../../components/Transition/ZoomTransition/ZoomTransition.js';
46
+ import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
47
+ import '../../components/Transition/OpacityTransition/OpacityTransition.js';
48
+ import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
49
+ import '../../context/SocialRedirectContext/SocialRedirectContext.js';
50
+ import '../../context/WalletGroupContext/WalletGroupContext.js';
51
+ import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
52
+ import 'react-focus-lock';
53
+ import '../../context/LoadingContext/LoadingContext.js';
54
+ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
55
+ import '../../components/IconButton/IconButton.js';
56
+ import '../../components/MenuList/Dropdown/Dropdown.js';
57
+ import 'formik';
58
+ import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
59
+ import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
60
+ import { Alert } from '../../components/Alert/Alert.js';
61
+ import '../../components/Input/Input.js';
62
+ import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
63
+ import '../../context/PasskeyContext/PasskeyContext.js';
64
+ import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
65
+ import { useMergeUserAccounts } from '../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js';
66
+ import '../../components/InlineWidget/InlineWidget.js';
67
+ import '../../components/IsBrowser/IsBrowser.js';
68
+ import '../../components/Popper/Popper/Popper.js';
69
+ import '../../components/Popper/PopperContext/PopperContext.js';
70
+ import 'qrcode';
71
+ import { RadioButton } from '../../components/RadioButton/RadioButton.js';
72
+ import '../WalletList/WalletList.js';
73
+ import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
74
+ import '@hcaptcha/react-hcaptcha';
75
+ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
76
+
77
+ const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
78
+ const { mergeUserAccounts } = useMergeUserAccounts();
79
+ const { t } = useTranslation();
80
+ const [error, setError] = useState('');
81
+ const mergeResolutions = useRef(
82
+ // defaults to current user field values
83
+ Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
84
+ `${field.name}_${field.type}`,
85
+ {
86
+ fieldKey: field.name,
87
+ type: field.type || KycFieldType.Standard,
88
+ userId: currentUser.userId,
89
+ },
90
+ ])));
91
+ const handleMergeConfirm = () => __awaiter(void 0, void 0, void 0, function* () {
92
+ const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
93
+ fieldKey,
94
+ type,
95
+ userId,
96
+ }));
97
+ try {
98
+ yield mergeUserAccounts(parsedMergeResolutions);
99
+ }
100
+ catch (error) {
101
+ logger.error('Error merging user accounts', error);
102
+ setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
103
+ }
104
+ });
105
+ if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
106
+ return null;
107
+ }
108
+ const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
109
+ setError('');
110
+ if (!isSelected) {
111
+ return;
112
+ }
113
+ mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
114
+ fieldKey,
115
+ type: fieldType || KycFieldType.Standard,
116
+ userId,
117
+ };
118
+ };
119
+ return (jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize(field.name) }), jsx(RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsx(RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsx(TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
120
+ };
121
+
122
+ export { MergeUserAccountsConflictsView };
@@ -0,0 +1 @@
1
+ export { MergeUserAccountsConflictsView } from './MergeUserAccountsConflictsView';