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

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 (210) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +6 -2
  6. package/src/index.d.ts +2 -1
  7. package/src/index.js +3 -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/user/user.cjs +16 -0
  61. package/src/lib/data/api/user/user.js +16 -1
  62. package/src/lib/data/api/wallets/wallets.cjs +26 -6
  63. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  64. package/src/lib/data/api/wallets/wallets.js +26 -7
  65. package/src/lib/events/dynamicEvents.d.ts +1 -1
  66. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  67. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  68. package/src/lib/locale/en/translation.cjs +45 -4
  69. package/src/lib/locale/en/translation.d.ts +44 -3
  70. package/src/lib/locale/en/translation.js +45 -4
  71. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  72. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  73. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  74. package/src/lib/styles/index.shadow.cjs +1 -1
  75. package/src/lib/styles/index.shadow.js +1 -1
  76. package/src/lib/utils/constants/errors.cjs +0 -2
  77. package/src/lib/utils/constants/errors.js +1 -2
  78. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  79. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  80. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  81. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  82. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  83. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  84. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  85. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  86. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  87. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
  88. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
  89. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
  90. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  91. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  92. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  93. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  94. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  95. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  96. package/src/lib/utils/functions/index.d.ts +2 -1
  97. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  98. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  99. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  100. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  101. package/src/lib/utils/hooks/index.d.ts +1 -0
  102. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
  103. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
  104. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  105. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  106. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
  107. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  108. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
  109. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  110. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  111. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  112. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  113. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  114. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  115. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  116. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -10
  117. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +14 -2
  118. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -10
  119. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  120. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  121. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  122. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +8 -8
  123. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
  124. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +8 -8
  125. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +148 -46
  126. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +21 -8
  127. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +152 -50
  128. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
  129. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  130. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
  131. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  132. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  133. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  134. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  135. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  136. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  137. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  138. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  139. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  140. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  141. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  142. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  143. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  144. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  145. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  146. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  147. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  148. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  149. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  150. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  151. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  152. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  153. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  154. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  155. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  156. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  157. package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
  158. package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
  159. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  160. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  161. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  162. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  163. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  164. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  165. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  166. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  167. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  168. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  169. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
  170. package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
  171. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  172. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  173. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  174. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  175. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
  176. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  177. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
  178. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  179. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  180. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
  181. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  182. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
  183. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  184. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
  185. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
  186. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
  187. package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
  188. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  189. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
  190. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
  191. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  192. package/src/lib/views/WalletList/WalletList.js +3 -6
  193. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  194. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  195. package/src/lib/views/viewToComponentMap.cjs +4 -0
  196. package/src/lib/views/viewToComponentMap.d.ts +6 -2
  197. package/src/lib/views/viewToComponentMap.js +4 -0
  198. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  199. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  200. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  201. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  202. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  203. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  204. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  205. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  206. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  207. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  208. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  209. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  210. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -0,0 +1,99 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ require('@dynamic-labs/wallet-connector-core');
8
+ require('@dynamic-labs/sdk-api-core');
9
+ require('../../../shared/logger.cjs');
10
+ require('@dynamic-labs/iconic');
11
+ require('react/jsx-runtime');
12
+ require('../../../context/ViewContext/ViewContext.cjs');
13
+ require('react');
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('@dynamic-labs/multi-wallet');
21
+ var getAuthToken = require('../../functions/getAuthToken/getAuthToken.cjs');
22
+ require('react-international-phone');
23
+ require('viem');
24
+ require('viem/chains');
25
+ require('../../../config/ApiEndpoint.cjs');
26
+ require('../../../locale/locale.cjs');
27
+ var user = require('../../../data/api/user/user.cjs');
28
+ var updateJWTAndCreateUserProfile = require('../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs');
29
+ require('../../../context/DynamicContext/DynamicContext.cjs');
30
+ require('../../../events/dynamicEvents.cjs');
31
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
32
+ require('../../../context/ErrorContext/ErrorContext.cjs');
33
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
34
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
35
+ var UserWalletsContext = require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
36
+ require('../../../context/VerificationContext/VerificationContext.cjs');
37
+ require('react-dom');
38
+ require('../../../context/WalletContext/WalletContext.cjs');
39
+ require('../../../context/ThemeContext/ThemeContext.cjs');
40
+ require('@dynamic-labs/types');
41
+ require('yup');
42
+ require('../../../context/MockContext/MockContext.cjs');
43
+ require('react-i18next');
44
+ require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
45
+ require('../useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
46
+ require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
47
+ require('@dynamic-labs/rpc-providers');
48
+ require('../../../components/Alert/Alert.cjs');
49
+ require('../../../components/ShadowDOM/ShadowDOM.cjs');
50
+ require('../../../components/IconButton/IconButton.cjs');
51
+ require('../../../components/InlineWidget/InlineWidget.cjs');
52
+ require('../../../components/Input/Input.cjs');
53
+ require('../../../components/IsBrowser/IsBrowser.cjs');
54
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
55
+ require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
56
+ require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
57
+ require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
58
+ require('../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
59
+ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
60
+ require('../../../components/Popper/Popper/Popper.cjs');
61
+ require('../../../components/Popper/PopperContext/PopperContext.cjs');
62
+ require('react-focus-lock');
63
+ require('qrcode');
64
+ require('formik');
65
+ require('../../../views/WalletList/WalletList.cjs');
66
+ require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
67
+ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
68
+ require('@hcaptcha/react-hcaptcha');
69
+ require('../../../context/LoadingContext/LoadingContext.cjs');
70
+ require('../../../context/FooterAnimationContext/index.cjs');
71
+ require('../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
72
+ require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
73
+ require('../../../context/PasskeyContext/PasskeyContext.cjs');
74
+ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
75
+ require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
76
+ require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
77
+ require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
78
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
79
+
80
+ const useMergeUserAccounts = () => {
81
+ const { environmentId, setShowAuthFlow, setUser } = useInternalDynamicContext.useInternalDynamicContext();
82
+ const { addedWalletsIds } = UserWalletsContext.useInternalUserWallets();
83
+ const mergeUserAccounts = (mergeConflictResolutions) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
84
+ const authToken = getAuthToken.getAuthToken();
85
+ const response = yield user.verifyMergeUsers(authToken, environmentId, mergeConflictResolutions);
86
+ const userProfile = updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(response === null || response === void 0 ? void 0 : response.jwt, response === null || response === void 0 ? void 0 : response.minifiedJwt);
87
+ setUser(userProfile);
88
+ const walletId = userProfile.lastVerifiedCredentialId;
89
+ if (walletId) {
90
+ addedWalletsIds.current.push(walletId);
91
+ }
92
+ setShowAuthFlow(false);
93
+ });
94
+ return {
95
+ mergeUserAccounts,
96
+ };
97
+ };
98
+
99
+ exports.useMergeUserAccounts = useMergeUserAccounts;
@@ -0,0 +1,4 @@
1
+ import { MergeUserConflictResolution } from '@dynamic-labs/sdk-api-core';
2
+ export declare const useMergeUserAccounts: () => {
3
+ mergeUserAccounts: (mergeConflictResolutions: MergeUserConflictResolution[]) => Promise<void>;
4
+ };
@@ -0,0 +1,95 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import '@dynamic-labs/wallet-connector-core';
4
+ import '@dynamic-labs/sdk-api-core';
5
+ import '../../../shared/logger.js';
6
+ import '@dynamic-labs/iconic';
7
+ import 'react/jsx-runtime';
8
+ import '../../../context/ViewContext/ViewContext.js';
9
+ import 'react';
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 { verifyMergeUsers } from '../../../data/api/user/user.js';
24
+ import { updateJWTAndCreateUserProfile } from '../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js';
25
+ import '../../../context/DynamicContext/DynamicContext.js';
26
+ import '../../../events/dynamicEvents.js';
27
+ import '../../../context/CaptchaContext/CaptchaContext.js';
28
+ import '../../../context/ErrorContext/ErrorContext.js';
29
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
30
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
31
+ import { useInternalUserWallets } from '../../../context/UserWalletsContext/UserWalletsContext.js';
32
+ import '../../../context/VerificationContext/VerificationContext.js';
33
+ import 'react-dom';
34
+ import '../../../context/WalletContext/WalletContext.js';
35
+ import '../../../context/ThemeContext/ThemeContext.js';
36
+ import '@dynamic-labs/types';
37
+ import 'yup';
38
+ import '../../../context/MockContext/MockContext.js';
39
+ import 'react-i18next';
40
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
41
+ import '../useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
42
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
43
+ import '@dynamic-labs/rpc-providers';
44
+ import '../../../components/Alert/Alert.js';
45
+ import '../../../components/ShadowDOM/ShadowDOM.js';
46
+ import '../../../components/IconButton/IconButton.js';
47
+ import '../../../components/InlineWidget/InlineWidget.js';
48
+ import '../../../components/Input/Input.js';
49
+ import '../../../components/IsBrowser/IsBrowser.js';
50
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
51
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
52
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
53
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
54
+ import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
55
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
56
+ import '../../../components/Popper/Popper/Popper.js';
57
+ import '../../../components/Popper/PopperContext/PopperContext.js';
58
+ import 'react-focus-lock';
59
+ import 'qrcode';
60
+ import 'formik';
61
+ import '../../../views/WalletList/WalletList.js';
62
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
63
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
64
+ import '@hcaptcha/react-hcaptcha';
65
+ import '../../../context/LoadingContext/LoadingContext.js';
66
+ import '../../../context/FooterAnimationContext/index.js';
67
+ import '../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
68
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
69
+ import '../../../context/PasskeyContext/PasskeyContext.js';
70
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
71
+ import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
72
+ import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
73
+ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
74
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
75
+
76
+ const useMergeUserAccounts = () => {
77
+ const { environmentId, setShowAuthFlow, setUser } = useInternalDynamicContext();
78
+ const { addedWalletsIds } = useInternalUserWallets();
79
+ const mergeUserAccounts = (mergeConflictResolutions) => __awaiter(void 0, void 0, void 0, function* () {
80
+ const authToken = getAuthToken();
81
+ const response = yield verifyMergeUsers(authToken, environmentId, mergeConflictResolutions);
82
+ const userProfile = updateJWTAndCreateUserProfile(response === null || response === void 0 ? void 0 : response.jwt, response === null || response === void 0 ? void 0 : response.minifiedJwt);
83
+ setUser(userProfile);
84
+ const walletId = userProfile.lastVerifiedCredentialId;
85
+ if (walletId) {
86
+ addedWalletsIds.current.push(walletId);
87
+ }
88
+ setShowAuthFlow(false);
89
+ });
90
+ return {
91
+ mergeUserAccounts,
92
+ };
93
+ };
94
+
95
+ export { useMergeUserAccounts };
@@ -91,7 +91,8 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
91
91
  const usePasskeyRecovery = () => {
92
92
  var _a, _b;
93
93
  const { authToken, environmentId, primaryWallet, projectSettings, setShowAuthFlow, user: user$1, setUser, } = useInternalDynamicContext.useInternalDynamicContext();
94
- const iframeContainerRef = useElementById.useElementById(constants.iframeContainerId);
94
+ const { createRootElement } = useElementById.useElementById();
95
+ const iframeContainerRef = createRootElement(constants.iframeContainerId);
95
96
  const { userHasEmbeddedWallet } = useEmbeddedWallet.useEmbeddedWallet();
96
97
  const { isTurnkeyWalletWithoutAuthenticator, hasRecoveryEmail } = useIsTurnkeyWallet.useIsTurnkeyWallet();
97
98
  const { initAuthMethod } = useInitEmbeddedWalletAuthMethod.useInitEmbeddedWalletAuthMethod();
@@ -87,7 +87,8 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
87
87
  const usePasskeyRecovery = () => {
88
88
  var _a, _b;
89
89
  const { authToken, environmentId, primaryWallet, projectSettings, setShowAuthFlow, user, setUser, } = useInternalDynamicContext();
90
- const iframeContainerRef = useElementById(iframeContainerId);
90
+ const { createRootElement } = useElementById();
91
+ const iframeContainerRef = createRootElement(iframeContainerId);
91
92
  const { userHasEmbeddedWallet } = useEmbeddedWallet();
92
93
  const { isTurnkeyWalletWithoutAuthenticator, hasRecoveryEmail } = useIsTurnkeyWallet();
93
94
  const { initAuthMethod } = useInitEmbeddedWalletAuthMethod();
@@ -3,6 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
7
  var React = require('react');
7
8
  require('@dynamic-labs/sdk-api-core');
8
9
  require('../../../shared/logger.cjs');
@@ -19,19 +20,27 @@ var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLo
19
20
  require('@dynamic-labs/utils');
20
21
  require('../../../shared/consts/index.cjs');
21
22
  var primaryWalletIdValidator = require('../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.cjs');
22
- require('../../../../../_virtual/_tslib.cjs');
23
23
  require('@dynamic-labs/multi-wallet');
24
24
  require('react-international-phone');
25
25
  require('viem');
26
26
  require('viem/chains');
27
27
  require('../../../config/ApiEndpoint.cjs');
28
28
  require('../../../locale/locale.cjs');
29
+ var wallets = require('../../../data/api/wallets/wallets.cjs');
30
+ var updateJWTAndCreateUserProfile = require('../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs');
29
31
 
30
- const usePrimaryWalletId = () => {
32
+ const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
31
33
  const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage.useLocalStorage(localStorage.PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator.primaryWalletIdValidator);
32
- const setPrimaryWalletId = React.useCallback((walletId) => {
34
+ const setPrimaryWalletId = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
33
35
  setPrimaryWalletIdState(walletId);
34
- }, [setPrimaryWalletIdState]);
36
+ if (minAuthToken) {
37
+ const response = yield wallets.storeSelectedWallet({ environmentId, walletId }, minAuthToken);
38
+ // only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
39
+ if (response) {
40
+ setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
41
+ }
42
+ }
43
+ }), [setPrimaryWalletIdState]);
35
44
  return {
36
45
  clearPrimaryWalletId,
37
46
  primaryWalletId,
@@ -1,5 +1,13 @@
1
- export declare const usePrimaryWalletId: () => {
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { UserProfile } from '@dynamic-labs/types';
3
+ type Props = {
4
+ setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
5
+ environmentId: string;
6
+ minAuthToken: string | undefined;
7
+ };
8
+ export declare const usePrimaryWalletId: ({ minAuthToken, environmentId, setUser, }: Props) => {
2
9
  clearPrimaryWalletId: () => void;
3
10
  primaryWalletId: string | undefined;
4
- setPrimaryWalletId: (walletId: string) => void;
11
+ setPrimaryWalletId: (walletId: string) => Promise<void>;
5
12
  };
13
+ export {};
@@ -1,4 +1,5 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
3
  import { useCallback } from 'react';
3
4
  import '@dynamic-labs/sdk-api-core';
4
5
  import '../../../shared/logger.js';
@@ -15,19 +16,27 @@ import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/use
15
16
  import '@dynamic-labs/utils';
16
17
  import '../../../shared/consts/index.js';
17
18
  import { primaryWalletIdValidator } from '../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.js';
18
- import '../../../../../_virtual/_tslib.js';
19
19
  import '@dynamic-labs/multi-wallet';
20
20
  import 'react-international-phone';
21
21
  import 'viem';
22
22
  import 'viem/chains';
23
23
  import '../../../config/ApiEndpoint.js';
24
24
  import '../../../locale/locale.js';
25
+ import { storeSelectedWallet } from '../../../data/api/wallets/wallets.js';
26
+ import { updateJWTAndCreateUserProfile } from '../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js';
25
27
 
26
- const usePrimaryWalletId = () => {
28
+ const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
27
29
  const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage(PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator);
28
- const setPrimaryWalletId = useCallback((walletId) => {
30
+ const setPrimaryWalletId = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
29
31
  setPrimaryWalletIdState(walletId);
30
- }, [setPrimaryWalletIdState]);
32
+ if (minAuthToken) {
33
+ const response = yield storeSelectedWallet({ environmentId, walletId }, minAuthToken);
34
+ // only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
35
+ if (response) {
36
+ setUser(updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
37
+ }
38
+ }
39
+ }), [setPrimaryWalletIdState]);
31
40
  return {
32
41
  clearPrimaryWalletId,
33
42
  primaryWalletId,
@@ -21,6 +21,11 @@ require('../../../../../_virtual/_tslib.cjs');
21
21
  require('../../../config/ApiEndpoint.cjs');
22
22
  var settings = require('../../../data/api/settings/settings.cjs');
23
23
  require('../../../locale/locale.cjs');
24
+ require('@dynamic-labs/multi-wallet');
25
+ require('react-international-phone');
26
+ require('viem');
27
+ require('viem/chains');
28
+ var serializeWalletConnectors = require('../../functions/serializeWalletConnectors/serializeWalletConnectors.cjs');
24
29
 
25
30
  const useSendDynamicProps = ({ settings: settings$1, environmentId, }) => {
26
31
  useEffectOnce.useEffectOnce(() => {
@@ -32,7 +37,7 @@ const useSendDynamicProps = ({ settings: settings$1, environmentId, }) => {
32
37
  settings: Object.assign(Object.assign({}, settings$1), { customPrivacyPolicy: Boolean(settings$1.customPrivacyPolicy), customTermsOfServices: Boolean(settings$1.customTermsOfServices), policiesConsentInnerComponent: Boolean(settings$1.policiesConsentInnerComponent) }),
33
38
  };
34
39
  const serializedEventsCallbacks = serializeEventsCallbacks(settings$1.events);
35
- const serializedWalletConnectors = serializeWalletConnectors(settings$1.walletConnectors);
40
+ const serializedWalletConnectors = serializeWalletConnectors.serializeWalletConnectors(settings$1.walletConnectors);
36
41
  const serializedDynamicContextProps = Object.assign(Object.assign({}, updatedDynamicProps), { settings: Object.assign(Object.assign({}, updatedDynamicProps.settings), { events: serializedEventsCallbacks, walletConnectors: serializedWalletConnectors }) });
37
42
  settings.sendDynamicProps(environmentId, {
38
43
  dynamicContextProps: serializedDynamicContextProps,
@@ -58,17 +63,6 @@ const serializeEventsCallbacks = (events) => {
58
63
  return undefined;
59
64
  }
60
65
  };
61
- const serializeWalletConnectors = (walletConnectors) => {
62
- try {
63
- if (!walletConnectors)
64
- return undefined;
65
- return walletConnectors.map((connector) => connector.name);
66
- }
67
- catch (error) {
68
- logger.logger.error('error serializing walletConnectors', error);
69
- return undefined;
70
- }
71
- };
72
66
  const getFrameworkSettings = () => {
73
67
  var _a;
74
68
  return ({
@@ -84,5 +78,4 @@ const getFrameworkSettings = () => {
84
78
  };
85
79
 
86
80
  exports.serializeEventsCallbacks = serializeEventsCallbacks;
87
- exports.serializeWalletConnectors = serializeWalletConnectors;
88
81
  exports.useSendDynamicProps = useSendDynamicProps;
@@ -1,5 +1,4 @@
1
- import { WalletConnectorsMethod } from '@dynamic-labs/wallet-connector-core';
2
- import { DynamicContextProps } from '../../../..';
1
+ import { DynamicContextProps } from '../../../context/DynamicContext';
3
2
  import { DynamicEventsCallbacks } from '../../../shared';
4
3
  type UseSendDynamicHookProps = {
5
4
  settings: DynamicContextProps['settings'];
@@ -7,5 +6,4 @@ type UseSendDynamicHookProps = {
7
6
  };
8
7
  export declare const useSendDynamicProps: ({ settings, environmentId, }: UseSendDynamicHookProps) => void;
9
8
  export declare const serializeEventsCallbacks: (events: DynamicEventsCallbacks | undefined) => string[] | undefined;
10
- export declare const serializeWalletConnectors: (walletConnectors?: WalletConnectorsMethod[]) => string[] | undefined;
11
9
  export {};
@@ -17,6 +17,11 @@ import '../../../../../_virtual/_tslib.js';
17
17
  import '../../../config/ApiEndpoint.js';
18
18
  import { sendDynamicProps } from '../../../data/api/settings/settings.js';
19
19
  import '../../../locale/locale.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import 'react-international-phone';
22
+ import 'viem';
23
+ import 'viem/chains';
24
+ import { serializeWalletConnectors } from '../../functions/serializeWalletConnectors/serializeWalletConnectors.js';
20
25
 
21
26
  const useSendDynamicProps = ({ settings, environmentId, }) => {
22
27
  useEffectOnce(() => {
@@ -54,17 +59,6 @@ const serializeEventsCallbacks = (events) => {
54
59
  return undefined;
55
60
  }
56
61
  };
57
- const serializeWalletConnectors = (walletConnectors) => {
58
- try {
59
- if (!walletConnectors)
60
- return undefined;
61
- return walletConnectors.map((connector) => connector.name);
62
- }
63
- catch (error) {
64
- logger.error('error serializing walletConnectors', error);
65
- return undefined;
66
- }
67
- };
68
62
  const getFrameworkSettings = () => {
69
63
  var _a;
70
64
  return ({
@@ -79,4 +73,4 @@ const getFrameworkSettings = () => {
79
73
  });
80
74
  };
81
75
 
82
- export { serializeEventsCallbacks, serializeWalletConnectors, useSendDynamicProps };
76
+ export { serializeEventsCallbacks, useSendDynamicProps };
@@ -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
  });