@dynamic-labs/sdk-react-core 1.0.0-alpha.9 → 1.0.1

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 (387) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/package.cjs +3 -3
  3. package/package.js +3 -3
  4. package/package.json +12 -11
  5. package/src/index.cjs +8 -1
  6. package/src/index.d.ts +3 -1
  7. package/src/index.js +5 -1
  8. package/src/lib/Main.cjs +3 -1
  9. package/src/lib/Main.js +3 -1
  10. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.cjs +3 -2
  11. package/src/lib/components/Accordion/components/AccordionItem/AccordionItem.js +3 -2
  12. package/src/lib/components/AnimatePresence/AnimatePresence.cjs +3 -2
  13. package/src/lib/components/AnimatePresence/AnimatePresence.js +3 -2
  14. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +3 -2
  15. package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +3 -2
  16. package/src/lib/components/Divider/Divider.cjs +2 -1
  17. package/src/lib/components/Divider/Divider.js +2 -1
  18. package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +3 -2
  19. package/src/lib/components/MenuList/Dropdown/Dropdown.js +3 -2
  20. package/src/lib/components/Modal/Modal.cjs +3 -2
  21. package/src/lib/components/Modal/Modal.js +3 -2
  22. package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +3 -2
  23. package/src/lib/components/NeedHelpSection/NeedHelpSection.js +3 -2
  24. package/src/lib/components/NetworkPicker/NetworkPicker.cjs +5 -4
  25. package/src/lib/components/NetworkPicker/NetworkPicker.js +5 -4
  26. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +2 -1
  27. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +2 -1
  28. package/src/lib/components/NetworkPicker/components/Network/Network.cjs +3 -2
  29. package/src/lib/components/NetworkPicker/components/Network/Network.js +3 -2
  30. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.cjs +2 -1
  31. package/src/lib/components/NetworkPicker/components/NonNetworkSwitchingSupportedControl/NonNetworkSwitchingSupportedControl.js +2 -1
  32. package/src/lib/components/OTPVerificationView/OTPVerificationView.cjs +2 -1
  33. package/src/lib/components/OTPVerificationView/OTPVerificationView.js +2 -1
  34. package/src/lib/components/OverlayCard/OverlayCard.cjs +3 -2
  35. package/src/lib/components/OverlayCard/OverlayCard.js +3 -2
  36. package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs +3 -2
  37. package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js +3 -2
  38. package/src/lib/components/Portal/Portal.cjs +3 -2
  39. package/src/lib/components/Portal/Portal.js +3 -2
  40. package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.cjs +1 -1
  41. package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.js +1 -1
  42. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.cjs +2 -1
  43. package/src/lib/components/SendBalancePageLayout/components/TokenBalanceCard/TokenBalanceCard.js +2 -1
  44. package/src/lib/components/SocialSignIn/SocialSignIn.cjs +4 -3
  45. package/src/lib/components/SocialSignIn/SocialSignIn.js +4 -3
  46. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +3 -2
  47. package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +3 -2
  48. package/src/lib/components/Tooltip/Tooltip.cjs +3 -2
  49. package/src/lib/components/Tooltip/Tooltip.js +3 -2
  50. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +3 -2
  51. package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +3 -2
  52. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.cjs +3 -2
  53. package/src/lib/components/Transition/VerticalDrawerTransition/VerticalDrawerTransition.js +3 -2
  54. package/src/lib/components/UserAddress/UserAddress.cjs +3 -2
  55. package/src/lib/components/UserAddress/UserAddress.js +3 -2
  56. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +2 -1
  57. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +2 -1
  58. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.cjs +2 -1
  59. package/src/lib/components/UserProfile/parts/UserProfileSection/UserProfileSection.js +2 -1
  60. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +2 -1
  61. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +2 -1
  62. package/src/lib/context/AccessDeniedContext/AccessDeniedContext.js +1 -1
  63. package/src/lib/context/AccountExistsContext/AccountExistsContext.js +1 -1
  64. package/src/lib/context/CaptchaContext/CaptchaContext.js +1 -1
  65. package/src/lib/context/DynamicContext/DynamicContext.cjs +8 -2
  66. package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -2
  67. package/src/lib/context/DynamicContext/DynamicContext.js +9 -4
  68. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.cjs +3 -2
  69. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerAuthFlowCallbacks.js +3 -2
  70. package/src/lib/context/DynamicContext/useDynamicContext.cjs +1 -4
  71. package/src/lib/context/DynamicContext/useDynamicContext.d.ts +1 -1
  72. package/src/lib/context/DynamicContext/useDynamicContext.js +1 -4
  73. package/src/lib/context/EmailVerificationContext/EmailVerificationContext.js +1 -1
  74. package/src/lib/context/FundingContext/FundingContext.cjs +35 -27
  75. package/src/lib/context/FundingContext/FundingContext.d.ts +4 -0
  76. package/src/lib/context/FundingContext/FundingContext.js +36 -28
  77. package/src/lib/context/FundingContext/index.d.ts +1 -0
  78. package/src/lib/context/FundingContext/useFunding/index.d.ts +1 -0
  79. package/src/lib/context/FundingContext/useFunding/useFunding.cjs +39 -0
  80. package/src/lib/context/FundingContext/useFunding/useFunding.d.ts +9 -0
  81. package/src/lib/context/FundingContext/useFunding/useFunding.js +35 -0
  82. package/src/lib/context/LoadingContext/LoadingContext.js +1 -1
  83. package/src/lib/context/MockContext/MockContext.cjs +3 -1
  84. package/src/lib/context/MockContext/MockContext.js +3 -1
  85. package/src/lib/context/QrCodeContext/QrCodeContext.cjs +3 -2
  86. package/src/lib/context/QrCodeContext/QrCodeContext.js +3 -2
  87. package/src/lib/context/SendBalanceContext/SendBalanceContext.cjs +3 -2
  88. package/src/lib/context/SendBalanceContext/SendBalanceContext.js +3 -2
  89. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +3 -2
  90. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +3 -2
  91. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.cjs +3 -2
  92. package/src/lib/context/UserFieldEditorContext/UserFieldEditorContext.js +3 -2
  93. package/src/lib/context/UserWalletsContext/UserWalletsContext.cjs +52 -0
  94. package/src/lib/context/UserWalletsContext/UserWalletsContext.d.ts +3 -1
  95. package/src/lib/context/UserWalletsContext/UserWalletsContext.js +45 -0
  96. package/src/lib/context/ViewContext/ViewContext.js +1 -1
  97. package/src/lib/data/api.js +1 -1
  98. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +2 -1
  99. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +2 -1
  100. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  101. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  102. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +2 -1
  103. package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +2 -1
  104. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.cjs +2 -1
  105. package/src/lib/layout/DynamicAuthLayout/HelpContent/PasskeyInfoHelper/PasskeyInfoHelper.js +2 -1
  106. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.cjs +2 -1
  107. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/Item/Item.js +2 -1
  108. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +2 -1
  109. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +2 -1
  110. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +2 -1
  111. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +2 -1
  112. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.cjs +2 -1
  113. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletMoreInfoContent/WalletMoreInfoContent.js +2 -1
  114. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.cjs +2 -1
  115. package/src/lib/layout/DynamicAuthLayout/ToSFooter/ToSFooter.js +2 -1
  116. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.cjs +2 -1
  117. package/src/lib/layout/DynamicAuthLayout/WalletProgressStepper/WalletProgressStepper.js +2 -1
  118. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.cjs +3 -1
  119. package/src/lib/layout/DynamicUserProfileLayout/DynamicUserProfileLayout.js +3 -1
  120. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +2 -1
  121. package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +2 -1
  122. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +2 -1
  123. package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +2 -1
  124. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +2 -1
  125. package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +2 -1
  126. package/src/lib/locale/en/translation.cjs +4 -4
  127. package/src/lib/locale/en/translation.d.ts +2 -2
  128. package/src/lib/locale/en/translation.js +4 -4
  129. package/src/lib/modals/DynamicAuthModal/DynamicAuthModal.cjs +2 -1
  130. package/src/lib/modals/DynamicAuthModal/DynamicAuthModal.js +2 -1
  131. package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +2 -1
  132. package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +2 -1
  133. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +2 -1
  134. package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +2 -1
  135. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.cjs +4 -0
  136. package/src/lib/modals/SignMessageConfirmationModal/getProperErrorMessage.js +4 -0
  137. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.cjs +1 -1
  138. package/src/lib/modals/TransactionConfirmationModal/TransactionConfirmationModal.js +1 -1
  139. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.cjs +2 -1
  140. package/src/lib/modals/UserFieldEditorModal/UserFieldEditorModal.js +2 -1
  141. package/src/lib/shared/types/index.d.ts +9 -0
  142. package/src/lib/styles/index.shadow.cjs +1 -1
  143. package/src/lib/styles/index.shadow.js +1 -1
  144. package/src/lib/utils/functions/createOwnerWallet/createOwnerWallet.cjs +6 -0
  145. package/src/lib/utils/functions/createOwnerWallet/createOwnerWallet.js +6 -0
  146. package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.cjs +1 -1
  147. package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.js +1 -1
  148. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +9 -2
  149. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +9 -2
  150. package/src/lib/utils/hooks/useConnectWallet/updateUserWalletsFromConnectedWallets/index.d.ts +1 -0
  151. package/src/lib/utils/hooks/useConnectWallet/updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.cjs +37 -0
  152. package/src/lib/utils/hooks/useConnectWallet/updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.d.ts +8 -0
  153. package/src/lib/utils/hooks/useConnectWallet/updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.js +33 -0
  154. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +10 -1
  155. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +10 -1
  156. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +5 -2
  157. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +5 -2
  158. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +9 -6
  159. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +9 -6
  160. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +16 -1
  161. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +16 -1
  162. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +6 -1
  163. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +7 -2
  164. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.cjs +34 -5
  165. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.d.ts +33 -1
  166. package/src/lib/utils/hooks/useWalletConnectorEvent/useWalletConnectorEvent.js +34 -5
  167. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +2 -2
  168. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +2 -2
  169. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/errors/ConnectorSetupError.cjs +13 -0
  170. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/errors/ConnectorSetupError.d.ts +4 -0
  171. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/errors/ConnectorSetupError.js +9 -0
  172. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/errors/index.d.ts +1 -0
  173. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/index.d.ts +1 -1
  174. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +3 -5
  175. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.d.ts +0 -3
  176. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +4 -4
  177. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyRequiredConnectorsAreSetup/index.d.ts +1 -0
  178. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs +13 -0
  179. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.d.ts +3 -0
  180. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js +9 -0
  181. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/index.d.ts +1 -0
  182. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.cjs +32 -0
  183. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.d.ts +3 -0
  184. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.js +28 -0
  185. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +7 -0
  186. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +7 -0
  187. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs +1 -0
  188. package/src/lib/utils/hooks/useWalletConnectors/utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js +1 -0
  189. package/src/lib/utils/hooks/useWalletConnectors/utils/updateUserWalletsFromLinkedWallets/index.d.ts +1 -0
  190. package/src/lib/utils/hooks/useWalletConnectors/utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.cjs +34 -0
  191. package/src/lib/utils/hooks/useWalletConnectors/utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.d.ts +8 -0
  192. package/src/lib/utils/hooks/useWalletConnectors/utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.js +30 -0
  193. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +4 -4
  194. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +4 -4
  195. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +3 -2
  196. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +3 -2
  197. package/src/lib/views/AccountExistsView/AccountExistsView.cjs +2 -1
  198. package/src/lib/views/AccountExistsView/AccountExistsView.js +2 -1
  199. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +2 -1
  200. package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +2 -1
  201. package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +2 -1
  202. package/src/lib/views/CollectUserDataView/CollectUserDataView.js +2 -1
  203. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +2 -1
  204. package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +2 -1
  205. package/src/lib/views/CollectUserDataView/UserDataFields/index.cjs +2 -1
  206. package/src/lib/views/CollectUserDataView/UserDataFields/index.js +2 -1
  207. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.cjs +2 -1
  208. package/src/lib/views/CollectUserDataViewLoginWithEmail/CollectUserDataViewLoginWithEmail.js +2 -1
  209. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs +2 -1
  210. package/src/lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js +2 -1
  211. package/src/lib/views/EmailUpdate/EmailUpdate.cjs +2 -1
  212. package/src/lib/views/EmailUpdate/EmailUpdate.js +2 -1
  213. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -1
  214. package/src/lib/views/EmailVerification/EmailVerification.js +2 -1
  215. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +3 -2
  216. package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +3 -2
  217. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +2 -1
  218. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +2 -1
  219. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.cjs +2 -1
  220. package/src/lib/views/LoginView/sections/SocialSignInSection/DynamicSocialSignIn/DynamicSocialSignIn.js +2 -1
  221. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +2 -1
  222. package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +2 -1
  223. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.cjs +2 -1
  224. package/src/lib/views/LoginView/sections/WalletSignInSection/ListItemButton/ListItemButton.js +2 -1
  225. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.cjs +2 -1
  226. package/src/lib/views/LoginView/sections/WalletSignInSection/WalletSignInSection.js +2 -1
  227. package/src/lib/views/LoginView/useLoginView.cjs +5 -0
  228. package/src/lib/views/LoginView/useLoginView.js +5 -0
  229. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +2 -1
  230. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +2 -1
  231. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +2 -1
  232. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +2 -1
  233. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -1
  234. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -1
  235. package/src/lib/views/NoAccess/NoAccess.cjs +2 -1
  236. package/src/lib/views/NoAccess/NoAccess.js +2 -1
  237. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs +2 -1
  238. package/src/lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js +2 -1
  239. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.cjs +2 -1
  240. package/src/lib/views/NoQrNotInstalledView/WalletHelpLink.js +2 -1
  241. package/src/lib/views/Passkey/PasskeyDeviceIcon/PasskeyDeviceIcon.cjs +2 -1
  242. package/src/lib/views/Passkey/PasskeyDeviceIcon/PasskeyDeviceIcon.js +2 -1
  243. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +2 -1
  244. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +2 -1
  245. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +15 -3
  246. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +16 -4
  247. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +2 -1
  248. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +2 -1
  249. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  250. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  251. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +12 -7
  252. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.d.ts +2 -1
  253. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +12 -7
  254. package/src/lib/views/PendingConnectView/PendingConnectView.cjs +2 -1
  255. package/src/lib/views/PendingConnectView/PendingConnectView.js +2 -1
  256. package/src/lib/views/PendingSignatureView/PendingSignatureView.cjs +2 -1
  257. package/src/lib/views/PendingSignatureView/PendingSignatureView.js +2 -1
  258. package/src/lib/views/QrCodeView/QRCode.cjs +3 -2
  259. package/src/lib/views/QrCodeView/QRCode.js +3 -2
  260. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.cjs +2 -1
  261. package/src/lib/views/QrCodeView/QrCodeContainer/QrCodeContainer.js +2 -1
  262. package/src/lib/views/QrCodeView/QrCodeView.cjs +3 -2
  263. package/src/lib/views/QrCodeView/QrCodeView.js +3 -2
  264. package/src/lib/views/SendBalanceView/SendBalanceView.cjs +2 -1
  265. package/src/lib/views/SendBalanceView/SendBalanceView.js +2 -1
  266. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.cjs +2 -2
  267. package/src/lib/views/SendBalanceView/components/TransactionStage/TransactionStage.js +2 -2
  268. package/src/lib/views/SocialRedirectView/SocialRedirectView.cjs +2 -1
  269. package/src/lib/views/SocialRedirectView/SocialRedirectView.js +2 -1
  270. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.cjs +2 -1
  271. package/src/lib/views/SocialWrongAccountView/SocialWrongAccountView.js +2 -1
  272. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +2 -2
  273. package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +2 -2
  274. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs +6 -1
  275. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.d.ts +1 -1
  276. package/src/lib/views/TransactionConfirmationView/helpers/transactionErrorMessage.js +6 -1
  277. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.cjs +3 -2
  278. package/src/lib/views/TransactionConfirmationView/hooks/useTransactionGas/useTransactionGas.js +3 -2
  279. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +2 -1
  280. package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +2 -1
  281. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.cjs +2 -1
  282. package/src/lib/views/WalletCannotBeTransferredView/WalletCannotBeTransferredView.js +2 -1
  283. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.cjs +2 -1
  284. package/src/lib/views/WalletList/SearchNotFoundMessage/SearchNotFoundMessage.js +2 -1
  285. package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +2 -1
  286. package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -1
  287. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -1
  288. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -1
  289. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.cjs +2 -1
  290. package/src/lib/views/WalletSignSpinnerView/WalletSignSpinnerView.js +2 -1
  291. package/src/lib/views/WalletUsedView/WalletUsedView.cjs +2 -1
  292. package/src/lib/views/WalletUsedView/WalletUsedView.js +2 -1
  293. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +2 -1
  294. package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +2 -1
  295. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.cjs +2 -1
  296. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeUserProfile/DynamicBridgeUserProfile.js +2 -1
  297. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.cjs +2 -1
  298. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCard/DynamicBridgeWalletCard.js +2 -1
  299. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +2 -1
  300. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +2 -1
  301. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.cjs +2 -1
  302. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWidgetEmptyCard/DynamicBridgeWidgetEmptyCard.js +2 -1
  303. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +2 -1
  304. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +2 -1
  305. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +2 -1
  306. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +2 -1
  307. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.cjs +3 -1
  308. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.js +3 -1
  309. package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +2 -1
  310. package/src/lib/widgets/DynamicWidget/DynamicWidget.js +2 -1
  311. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.cjs +2 -1
  312. package/src/lib/widgets/DynamicWidget/components/AccountControl/AccountControl.js +2 -1
  313. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +2 -1
  314. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +2 -1
  315. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.cjs +2 -1
  316. package/src/lib/widgets/DynamicWidget/components/Balance/Balance.js +2 -1
  317. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.cjs +2 -1
  318. package/src/lib/widgets/DynamicWidget/components/DotsMenu/DotsMenu.js +2 -1
  319. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.cjs +2 -1
  320. package/src/lib/widgets/DynamicWidget/components/DotsMenuDropdown/DotsMenuDropdown.js +2 -1
  321. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.cjs +2 -1
  322. package/src/lib/widgets/DynamicWidget/components/DynamicNav/DynamicNav.js +2 -1
  323. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +3 -1
  324. package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +3 -1
  325. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +3 -2
  326. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +3 -2
  327. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +3 -2
  328. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +3 -2
  329. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.cjs +3 -2
  330. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetDropdown/DynamicWidgetDropdown.js +3 -2
  331. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.cjs +2 -1
  332. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetVariants/variants/DynamicWidgetModal/DynamicWidgetModal.js +2 -1
  333. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +2 -1
  334. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +2 -1
  335. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.cjs +2 -1
  336. package/src/lib/widgets/DynamicWidget/components/EmailConnectorPendingSignModalContent/EmailConnectorPendingSignModalContent.js +2 -1
  337. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +2 -1
  338. package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +2 -1
  339. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +2 -1
  340. package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +2 -1
  341. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.cjs +2 -1
  342. package/src/lib/widgets/DynamicWidget/components/SingleWalletButtons/SingleWalletButtons.js +2 -1
  343. package/src/lib/widgets/DynamicWidget/components/UnknownWalletInformation/UnknownWalletInformation.cjs +2 -1
  344. package/src/lib/widgets/DynamicWidget/components/UnknownWalletInformation/UnknownWalletInformation.js +2 -1
  345. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.cjs +2 -1
  346. package/src/lib/widgets/DynamicWidget/components/Wallet/Wallet.js +2 -1
  347. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.cjs +2 -1
  348. package/src/lib/widgets/DynamicWidget/components/WidgetPortal/WidgetPortal.js +2 -1
  349. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +3 -2
  350. package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +3 -2
  351. package/src/lib/widgets/DynamicWidget/helpers/helpers.cjs +7 -7
  352. package/src/lib/widgets/DynamicWidget/helpers/helpers.d.ts +1 -1
  353. package/src/lib/widgets/DynamicWidget/helpers/helpers.js +7 -7
  354. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.cjs +2 -1
  355. package/src/lib/widgets/DynamicWidget/prompts/DefaultPromptModal/DefaultPromptModal.js +2 -1
  356. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.cjs +2 -1
  357. package/src/lib/widgets/DynamicWidget/prompts/DetectedNewWalletModal/DetectedNewWalletModal.js +2 -1
  358. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.cjs +2 -1
  359. package/src/lib/widgets/DynamicWidget/prompts/NoQrNotInstalledModalView/NoQrNotInstalledModalView.js +2 -1
  360. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.cjs +2 -1
  361. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchAccountView/SwitchAccountView.js +2 -1
  362. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.cjs +2 -1
  363. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchModal/SwitchOrUseActiveAccountView/SwitchOrUseActiveAccountView.js +2 -1
  364. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.cjs +2 -1
  365. package/src/lib/widgets/DynamicWidget/prompts/PendingAccountSwitchToLinkModal/PendingAccountSwitchToLinkModal.js +2 -1
  366. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.cjs +2 -1
  367. package/src/lib/widgets/DynamicWidget/prompts/PendingConnectionModal/PendingConnectionModal.js +2 -1
  368. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.cjs +2 -1
  369. package/src/lib/widgets/DynamicWidget/prompts/PendingSignModal/DefaultPendingSignModalContent/DefaultPendingSignModalContent.js +2 -1
  370. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +2 -1
  371. package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +2 -1
  372. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +2 -1
  373. package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +2 -1
  374. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +2 -1
  375. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +2 -1
  376. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +2 -1
  377. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +2 -1
  378. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +2 -1
  379. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +2 -1
  380. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +2 -1
  381. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +2 -1
  382. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.cjs +2 -1
  383. package/src/lib/widgets/DynamicWidget/views/ProfileView/ProfileView.js +2 -1
  384. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -1
  385. package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -1
  386. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.cjs +2 -1
  387. package/src/lib/widgets/FundingWidget/views/FundWalletView/FundWalletView.js +2 -1
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * This takes a userWallets and connectedWallets array, and returns a new userWallets array
7
+ * updated to match the connectedWallets array.
8
+ * It will add any missing wallets, update properties that don't match, and remove wallets that aren't
9
+ * in the connectedWallets and is not linked to the user.
10
+ */
11
+ const updateUserWalletsFromConnectedWallets = (userWallets, connectedWallets) => {
12
+ const userWalletsCopy = [...userWallets];
13
+ /** We will use this to find wallets addresses that were removed */
14
+ const newWalletsAddresses = new Set();
15
+ // First pass: add missing wallets and update changed properties
16
+ for (const connectedWallet of connectedWallets) {
17
+ newWalletsAddresses.add(connectedWallet.address);
18
+ const userWallet = userWalletsCopy.find((wallet) => wallet.address === connectedWallet.address);
19
+ // Catch new wallets
20
+ if (!userWallet) {
21
+ userWalletsCopy.push(connectedWallet);
22
+ continue;
23
+ }
24
+ // If already present, just update properties that might have changed
25
+ userWallet.connected = connectedWallet.connected;
26
+ userWallet.network = connectedWallet.network;
27
+ }
28
+ // This filter is to remove a wallet that was previously added to userWallets but is not present
29
+ // among the connected wallets (it should not be removed if it's authenticated to the suer tho)
30
+ return userWalletsCopy.filter((userWallet) =>
31
+ // Keep wallets that are still in the new list
32
+ newWalletsAddresses.has(userWallet.address) ||
33
+ // Or are linked to the current user
34
+ userWallet.authenticated);
35
+ };
36
+
37
+ exports.updateUserWalletsFromConnectedWallets = updateUserWalletsFromConnectedWallets;
@@ -0,0 +1,8 @@
1
+ import { Wallet } from '../../../../shared';
2
+ /**
3
+ * This takes a userWallets and connectedWallets array, and returns a new userWallets array
4
+ * updated to match the connectedWallets array.
5
+ * It will add any missing wallets, update properties that don't match, and remove wallets that aren't
6
+ * in the connectedWallets and is not linked to the user.
7
+ */
8
+ export declare const updateUserWalletsFromConnectedWallets: (userWallets: Wallet[], connectedWallets: Wallet[]) => Wallet[];
@@ -0,0 +1,33 @@
1
+ /**
2
+ * This takes a userWallets and connectedWallets array, and returns a new userWallets array
3
+ * updated to match the connectedWallets array.
4
+ * It will add any missing wallets, update properties that don't match, and remove wallets that aren't
5
+ * in the connectedWallets and is not linked to the user.
6
+ */
7
+ const updateUserWalletsFromConnectedWallets = (userWallets, connectedWallets) => {
8
+ const userWalletsCopy = [...userWallets];
9
+ /** We will use this to find wallets addresses that were removed */
10
+ const newWalletsAddresses = new Set();
11
+ // First pass: add missing wallets and update changed properties
12
+ for (const connectedWallet of connectedWallets) {
13
+ newWalletsAddresses.add(connectedWallet.address);
14
+ const userWallet = userWalletsCopy.find((wallet) => wallet.address === connectedWallet.address);
15
+ // Catch new wallets
16
+ if (!userWallet) {
17
+ userWalletsCopy.push(connectedWallet);
18
+ continue;
19
+ }
20
+ // If already present, just update properties that might have changed
21
+ userWallet.connected = connectedWallet.connected;
22
+ userWallet.network = connectedWallet.network;
23
+ }
24
+ // This filter is to remove a wallet that was previously added to userWallets but is not present
25
+ // among the connected wallets (it should not be removed if it's authenticated to the suer tho)
26
+ return userWalletsCopy.filter((userWallet) =>
27
+ // Keep wallets that are still in the new list
28
+ newWalletsAddresses.has(userWallet.address) ||
29
+ // Or are linked to the current user
30
+ userWallet.authenticated);
31
+ };
32
+
33
+ export { updateUserWalletsFromConnectedWallets };
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
6
  var React = require('react');
7
7
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
8
+ var UserWalletsContext = require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
8
9
  var api = require('../../../data/api.cjs');
9
10
  require('@dynamic-labs/sdk-api');
10
11
  require('../../../shared/logger.cjs');
@@ -22,10 +23,17 @@ require('../../../shared/consts/index.cjs');
22
23
  require('@dynamic-labs/multi-wallet');
23
24
  var shouldManuallyReconnectOnRefresh = require('../../functions/shouldManuallyReconnectOnRefresh/shouldManuallyReconnectOnRefresh.cjs');
24
25
  var getWalletProvider = require('../../functions/getWalletProvider/getWalletProvider.cjs');
26
+ var updateUserWalletsFromConnectedWallets = require('./updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.cjs');
25
27
 
26
28
  const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation, setShowAuthFlow, isBridgeFlow, }) => {
27
29
  const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage.useLocalStorage(localStorage.CONNECTED_WALLETS_INFO, []);
28
- const [connectedWallets, setConnectedWallets] = React.useState([]);
30
+ const [connectedWallets, _setConnectedWallets] = React.useState([]);
31
+ const { setUserWallets } = UserWalletsContext.useInternalUserWallets();
32
+ /** This wrapper is to ensure userWallets is always properly updated alongside connectedWallets */
33
+ const setConnectedWallets = (newWallets) => {
34
+ _setConnectedWallets(newWallets);
35
+ setUserWallets((userWallets) => updateUserWalletsFromConnectedWallets.updateUserWalletsFromConnectedWallets(userWallets, newWallets));
36
+ };
29
37
  const disconnectWallet = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
30
38
  const walletToDisconnect = connectedWallets.find((wallet) => wallet.id === walletId);
31
39
  yield (walletToDisconnect === null || walletToDisconnect === void 0 ? void 0 : walletToDisconnect.connector.endSession());
@@ -79,6 +87,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
79
87
  const walletChain = walletConnector.connectedChain;
80
88
  const walletObject = {
81
89
  address: walletAddress || '',
90
+ authenticated: false,
82
91
  chain: walletChain || '',
83
92
  connected: true,
84
93
  connector: walletConnector,
@@ -1,6 +1,7 @@
1
1
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
2
  import { useState, useCallback, useEffect } from 'react';
3
3
  import { getWalletConnectorByKey, logger } from '@dynamic-labs/wallet-connector-core';
4
+ import { useInternalUserWallets } from '../../../context/UserWalletsContext/UserWalletsContext.js';
4
5
  import { createVisit } from '../../../data/api.js';
5
6
  import '@dynamic-labs/sdk-api';
6
7
  import '../../../shared/logger.js';
@@ -18,10 +19,17 @@ import '../../../shared/consts/index.js';
18
19
  import '@dynamic-labs/multi-wallet';
19
20
  import { shouldManuallyReconnectOnRefresh } from '../../functions/shouldManuallyReconnectOnRefresh/shouldManuallyReconnectOnRefresh.js';
20
21
  import { getWalletProvider } from '../../functions/getWalletProvider/getWalletProvider.js';
22
+ import { updateUserWalletsFromConnectedWallets } from './updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.js';
21
23
 
22
24
  const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation, setShowAuthFlow, isBridgeFlow, }) => {
23
25
  const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage(CONNECTED_WALLETS_INFO, []);
24
- const [connectedWallets, setConnectedWallets] = useState([]);
26
+ const [connectedWallets, _setConnectedWallets] = useState([]);
27
+ const { setUserWallets } = useInternalUserWallets();
28
+ /** This wrapper is to ensure userWallets is always properly updated alongside connectedWallets */
29
+ const setConnectedWallets = (newWallets) => {
30
+ _setConnectedWallets(newWallets);
31
+ setUserWallets((userWallets) => updateUserWalletsFromConnectedWallets(userWallets, newWallets));
32
+ };
25
33
  const disconnectWallet = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
26
34
  const walletToDisconnect = connectedWallets.find((wallet) => wallet.id === walletId);
27
35
  yield (walletToDisconnect === null || walletToDisconnect === void 0 ? void 0 : walletToDisconnect.connector.endSession());
@@ -75,6 +83,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
75
83
  const walletChain = walletConnector.connectedChain;
76
84
  const walletObject = {
77
85
  address: walletAddress || '',
86
+ authenticated: false,
78
87
  chain: walletChain || '',
79
88
  connected: true,
80
89
  connector: walletConnector,
@@ -29,7 +29,7 @@ var useMutation = require('../useMutation/useMutation.cjs');
29
29
  const useCreateDynamicEmbeddedWalletMutation = () => {
30
30
  const { setPrimaryWalletId, internalEvents, setCallback, setUser, user, setShowAuthFlow, } = useInternalDynamicContext.useInternalDynamicContext();
31
31
  const { mutate: createDynamicEmbeddedWalletMutation, isLoading, error, } = useMutation.useMutation(({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
32
- var _a;
32
+ var _a, _b;
33
33
  const createEmbeddedWalletMethodToUse = withAuthenticator
34
34
  ? createEmbeddedWalletWithPasskey.createEmbeddedWalletWithPasskey
35
35
  : createPregeneratedWallet.createPregeneratedWallet;
@@ -39,8 +39,12 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
39
39
  user: user !== null && user !== void 0 ? user : createUserProfile.createUserProfile(decodedJwt),
40
40
  walletConnector: findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(walletConnectorOptions),
41
41
  });
42
+ const turnkeyVerifiedCredentials = (_a = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
43
+ /** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
44
+ const authenticated = Boolean((_b = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached);
42
45
  const passkeyWallet = {
43
46
  address: (yield walletConnector.fetchPublicAddress()) || '',
47
+ authenticated,
44
48
  chain: walletConnector.connectedChain || '',
45
49
  connected: true,
46
50
  connector: walletConnector,
@@ -62,7 +66,6 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
62
66
  index.storeAuthToken(jwt);
63
67
  setUser(createUserProfile.createUserProfile(updatedDecodedJwt));
64
68
  setShowAuthFlow(false);
65
- const turnkeyVerifiedCredentials = (_a = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
66
69
  setCallback('embeddedWalletCreated', {
67
70
  email: (turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.email) || '',
68
71
  verifiedCredential: turnkeyVerifiedCredentials,
@@ -25,7 +25,7 @@ import { useMutation } from '../useMutation/useMutation.js';
25
25
  const useCreateDynamicEmbeddedWalletMutation = () => {
26
26
  const { setPrimaryWalletId, internalEvents, setCallback, setUser, user, setShowAuthFlow, } = useInternalDynamicContext();
27
27
  const { mutate: createDynamicEmbeddedWalletMutation, isLoading, error, } = useMutation(({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) => __awaiter(void 0, void 0, void 0, function* () {
28
- var _a;
28
+ var _a, _b;
29
29
  const createEmbeddedWalletMethodToUse = withAuthenticator
30
30
  ? createEmbeddedWalletWithPasskey
31
31
  : createPregeneratedWallet;
@@ -35,8 +35,12 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
35
35
  user: user !== null && user !== void 0 ? user : createUserProfile(decodedJwt),
36
36
  walletConnector: findPasskeyEmailWalletConnector(walletConnectorOptions),
37
37
  });
38
+ const turnkeyVerifiedCredentials = (_a = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
39
+ /** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
40
+ const authenticated = Boolean((_b = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached);
38
41
  const passkeyWallet = {
39
42
  address: (yield walletConnector.fetchPublicAddress()) || '',
43
+ authenticated,
40
44
  chain: walletConnector.connectedChain || '',
41
45
  connected: true,
42
46
  connector: walletConnector,
@@ -58,7 +62,6 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
58
62
  storeAuthToken(jwt);
59
63
  setUser(createUserProfile(updatedDecodedJwt));
60
64
  setShowAuthFlow(false);
61
- const turnkeyVerifiedCredentials = (_a = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
62
65
  setCallback('embeddedWalletCreated', {
63
66
  email: (turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.email) || '',
64
67
  verifiedCredential: turnkeyVerifiedCredentials,
@@ -79,7 +79,7 @@ const useEmbeddedWallet = () => {
79
79
  });
80
80
  });
81
81
  const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
82
- var _a, _b, _c;
82
+ var _a, _b, _c, _d;
83
83
  const decodedJwt = decodeJwt.decodeJwt(jwt);
84
84
  const turnkeyWallet = findTurnkeyWallet.findTurnkeyWallet(walletConnectorOptions);
85
85
  // if user already has embedded wallet, set it as primary wallet
@@ -98,9 +98,12 @@ const useEmbeddedWallet = () => {
98
98
  setPrimaryWalletId(embeddedWalletVerifiedCredential.id);
99
99
  }
100
100
  }
101
+ /** It's not authenticated if it still hasn't created a passkey */
102
+ const authenticated = Boolean((_b = embeddedWalletVerifiedCredential.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached);
101
103
  const passkeyWallet = {
102
- address: (yield ((_b = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _b === void 0 ? void 0 : _b.fetchPublicAddress())) || '',
103
- chain: ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.connectedChain) || '',
104
+ address: (yield ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.fetchPublicAddress())) || '',
105
+ authenticated,
106
+ chain: ((_d = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _d === void 0 ? void 0 : _d.connectedChain) || '',
104
107
  connected: true,
105
108
  connector: (turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) || {},
106
109
  id: embeddedWalletVerifiedCredential.id,
@@ -108,8 +111,8 @@ const useEmbeddedWallet = () => {
108
111
  return Promise.resolve(passkeyWallet);
109
112
  });
110
113
  const createEmbeddedWallet = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
111
- var _d, _e, _f;
112
- const jwt = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
114
+ var _e, _f, _g;
115
+ const jwt = (_e = getAuthToken.getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
113
116
  const decodedJwt = decodeJwt.decodeJwt(jwt);
114
117
  if (!jwt || !decodedJwt) {
115
118
  throw new Error('User is not logged in');
@@ -120,7 +123,7 @@ const useEmbeddedWallet = () => {
120
123
  const userWaletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(jwt);
121
124
  // if user doesn't have a wallet yet, show the passkey view to create an embedded wallet
122
125
  if (!(userWaletsCredentials === null || userWaletsCredentials === void 0 ? void 0 : userWaletsCredentials.length)) {
123
- if (((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) === 0) {
126
+ if (((_g = (_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0) === 0) {
124
127
  return startPregeneratedWalletCreationFlow(jwt, decodedJwt);
125
128
  }
126
129
  return startEmbeddedWalletCreationFlow();
@@ -75,7 +75,7 @@ const useEmbeddedWallet = () => {
75
75
  });
76
76
  });
77
77
  const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => __awaiter(void 0, void 0, void 0, function* () {
78
- var _a, _b, _c;
78
+ var _a, _b, _c, _d;
79
79
  const decodedJwt = decodeJwt(jwt);
80
80
  const turnkeyWallet = findTurnkeyWallet(walletConnectorOptions);
81
81
  // if user already has embedded wallet, set it as primary wallet
@@ -94,9 +94,12 @@ const useEmbeddedWallet = () => {
94
94
  setPrimaryWalletId(embeddedWalletVerifiedCredential.id);
95
95
  }
96
96
  }
97
+ /** It's not authenticated if it still hasn't created a passkey */
98
+ const authenticated = Boolean((_b = embeddedWalletVerifiedCredential.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached);
97
99
  const passkeyWallet = {
98
- address: (yield ((_b = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _b === void 0 ? void 0 : _b.fetchPublicAddress())) || '',
99
- chain: ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.connectedChain) || '',
100
+ address: (yield ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.fetchPublicAddress())) || '',
101
+ authenticated,
102
+ chain: ((_d = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _d === void 0 ? void 0 : _d.connectedChain) || '',
100
103
  connected: true,
101
104
  connector: (turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) || {},
102
105
  id: embeddedWalletVerifiedCredential.id,
@@ -104,8 +107,8 @@ const useEmbeddedWallet = () => {
104
107
  return Promise.resolve(passkeyWallet);
105
108
  });
106
109
  const createEmbeddedWallet = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
107
- var _d, _e, _f;
108
- const jwt = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
110
+ var _e, _f, _g;
111
+ const jwt = (_e = getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
109
112
  const decodedJwt = decodeJwt(jwt);
110
113
  if (!jwt || !decodedJwt) {
111
114
  throw new Error('User is not logged in');
@@ -116,7 +119,7 @@ const useEmbeddedWallet = () => {
116
119
  const userWaletsCredentials = getUserWalletsFromVerifiedCredentials(jwt);
117
120
  // if user doesn't have a wallet yet, show the passkey view to create an embedded wallet
118
121
  if (!(userWaletsCredentials === null || userWaletsCredentials === void 0 ? void 0 : userWaletsCredentials.length)) {
119
- if (((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) === 0) {
122
+ if (((_g = (_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0) === 0) {
120
123
  return startPregeneratedWalletCreationFlow(jwt, decodedJwt);
121
124
  }
122
125
  return startEmbeddedWalletCreationFlow();
@@ -22,10 +22,25 @@ const useIsTurnkeyWallet = () => {
22
22
  }
23
23
  return turnkeyVC;
24
24
  };
25
+ const getUnclaimedTurnkeyTheSignerOfScw = () => {
26
+ if (!primaryWallet || !user) {
27
+ return false;
28
+ }
29
+ const unclaimedTurnkeyVc = user.verifiedCredentials.find((vc) => {
30
+ var _a, _b;
31
+ return ((_a = vc.walletName) === null || _a === void 0 ? void 0 : _a.startsWith('turnkey')) &&
32
+ ((_b = vc.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached) === false;
33
+ });
34
+ const smartContractWalletWithUnclaimedTurnkeySigner = user.verifiedCredentials.find((vc) => unclaimedTurnkeyVc && vc.signerRefId === unclaimedTurnkeyVc.id);
35
+ return smartContractWalletWithUnclaimedTurnkeySigner;
36
+ };
25
37
  const turnkeyVerifiedCredential = getTurnkeyVerifiedCredential();
38
+ const unclaimedTurnkeyTheSignerOfScw = getUnclaimedTurnkeyTheSignerOfScw();
26
39
  const isTurnkeyWallet = Boolean(turnkeyVerifiedCredential);
40
+ const isUnclaimedTurnkeyTheSignerOfScw = Boolean(unclaimedTurnkeyTheSignerOfScw);
27
41
  const hasTurnkeyVerifiedCredentialAuthenticator = Boolean((_a = turnkeyVerifiedCredential === null || turnkeyVerifiedCredential === void 0 ? void 0 : turnkeyVerifiedCredential.walletProperties) === null || _a === void 0 ? void 0 : _a.isAuthenticatorAttached);
28
- const isTurnkeyWalletWithoutAuthenticator = isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator;
42
+ const isTurnkeyWalletWithoutAuthenticator = (isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator) ||
43
+ isUnclaimedTurnkeyTheSignerOfScw;
29
44
  return {
30
45
  hasTurnkeyVerifiedCredentialAuthenticator,
31
46
  isTurnkeyWallet,
@@ -18,10 +18,25 @@ const useIsTurnkeyWallet = () => {
18
18
  }
19
19
  return turnkeyVC;
20
20
  };
21
+ const getUnclaimedTurnkeyTheSignerOfScw = () => {
22
+ if (!primaryWallet || !user) {
23
+ return false;
24
+ }
25
+ const unclaimedTurnkeyVc = user.verifiedCredentials.find((vc) => {
26
+ var _a, _b;
27
+ return ((_a = vc.walletName) === null || _a === void 0 ? void 0 : _a.startsWith('turnkey')) &&
28
+ ((_b = vc.walletProperties) === null || _b === void 0 ? void 0 : _b.isAuthenticatorAttached) === false;
29
+ });
30
+ const smartContractWalletWithUnclaimedTurnkeySigner = user.verifiedCredentials.find((vc) => unclaimedTurnkeyVc && vc.signerRefId === unclaimedTurnkeyVc.id);
31
+ return smartContractWalletWithUnclaimedTurnkeySigner;
32
+ };
21
33
  const turnkeyVerifiedCredential = getTurnkeyVerifiedCredential();
34
+ const unclaimedTurnkeyTheSignerOfScw = getUnclaimedTurnkeyTheSignerOfScw();
22
35
  const isTurnkeyWallet = Boolean(turnkeyVerifiedCredential);
36
+ const isUnclaimedTurnkeyTheSignerOfScw = Boolean(unclaimedTurnkeyTheSignerOfScw);
23
37
  const hasTurnkeyVerifiedCredentialAuthenticator = Boolean((_a = turnkeyVerifiedCredential === null || turnkeyVerifiedCredential === void 0 ? void 0 : turnkeyVerifiedCredential.walletProperties) === null || _a === void 0 ? void 0 : _a.isAuthenticatorAttached);
24
- const isTurnkeyWalletWithoutAuthenticator = isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator;
38
+ const isTurnkeyWalletWithoutAuthenticator = (isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator) ||
39
+ isUnclaimedTurnkeyTheSignerOfScw;
25
40
  return {
26
41
  hasTurnkeyVerifiedCredentialAuthenticator,
27
42
  isTurnkeyWallet,
@@ -308,6 +308,11 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
308
308
  // start pooling oauth result
309
309
  shouldPool.current = true;
310
310
  poolOauthResult(provider, state);
311
+ // if this is mobile, set a longer timeout to allow the user to login to the provider in the browser
312
+ let authWindowTimeout = sessionTimeout;
313
+ if (utils.isMobile()) {
314
+ authWindowTimeout = authWindowTimeout * 3;
315
+ }
311
316
  authWindowInterval.current = setInterval(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
312
317
  var _g;
313
318
  shouldPool.current = false;
@@ -319,7 +324,7 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
319
324
  clearInterval(authWindowInterval.current);
320
325
  setIsProcessing(false);
321
326
  onSettled === null || onSettled === void 0 ? void 0 : onSettled();
322
- }), sessionTimeout);
327
+ }), authWindowTimeout);
323
328
  }
324
329
  });
325
330
  return {
@@ -2,7 +2,7 @@ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
2
  import { useState, useRef } from 'react';
3
3
  import { OauthResultStatus } from '@dynamic-labs/sdk-api';
4
4
  import { SocialOAuthErrorCode } from '@dynamic-labs/types';
5
- import { SocialAccountAlreadyExistsError, NoAccessError } from '@dynamic-labs/utils';
5
+ import { isMobile, SocialAccountAlreadyExistsError, NoAccessError } from '@dynamic-labs/utils';
6
6
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
7
7
  import { getOAuthResult, verifyOAuth, signInOAuth } from '../../../data/api.js';
8
8
  import { useUpdateUserProfileByJWTCallback } from '../useUpdateUserProfileByJWTCallback/useUpdateUserProfileByJWTCallback.js';
@@ -304,6 +304,11 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
304
304
  // start pooling oauth result
305
305
  shouldPool.current = true;
306
306
  poolOauthResult(provider, state);
307
+ // if this is mobile, set a longer timeout to allow the user to login to the provider in the browser
308
+ let authWindowTimeout = sessionTimeout;
309
+ if (isMobile()) {
310
+ authWindowTimeout = authWindowTimeout * 3;
311
+ }
307
312
  authWindowInterval.current = setInterval(() => __awaiter(void 0, void 0, void 0, function* () {
308
313
  var _g;
309
314
  shouldPool.current = false;
@@ -315,7 +320,7 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
315
320
  clearInterval(authWindowInterval.current);
316
321
  setIsProcessing(false);
317
322
  onSettled === null || onSettled === void 0 ? void 0 : onSettled();
318
- }), sessionTimeout);
323
+ }), authWindowTimeout);
319
324
  }
320
325
  });
321
326
  return {
@@ -3,13 +3,42 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var useIsomorphicLayoutEffect = require('../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.cjs');
7
6
 
7
+ /**
8
+ * Hook for handling events from a WalletConnector or an array of WalletConnectors.
9
+ * This hook allows you to specify an event to listen to and a handler function that will be called
10
+ * whenever the event is emitted. The handler will receive the event arguments followed by the instance
11
+ * of the WalletConnector that emitted the event.
12
+ *
13
+ * @template Event - The type of the event to listen for, which should be a key of WalletConnectorEventTypes.
14
+ *
15
+ * @param eventEmitters - The WalletConnector instance(s) to attach the event listener to.
16
+ * If an array is provided, the event listener is attached to all provided connectors.
17
+ * @param eventName - The name of the event to listen for.
18
+ * @param handler - The callback function to execute when the event is emitted.
19
+ * The arguments to the callback are the arguments emitted with the event, followed by the WalletConnector instance
20
+ * that emitted the event.
21
+ *
22
+ * @returns {void} This hook does not return anything.
23
+ *
24
+ * @example
25
+ * // Example usage of useWalletConnectorEvent
26
+ * const { primaryWallet } = useDynamicContext();
27
+ *
28
+ * useWalletConnectorEvent(
29
+ * primaryWallet?.connector,
30
+ * 'accountChange',
31
+ * ({ accounts }, connector) => {
32
+ * console.group('accountChange');
33
+ * console.log('accounts', accounts);
34
+ * console.log('connector that emitted', connector);
35
+ * console.groupEnd();
36
+ * },
37
+ * );
38
+ */
8
39
  const useWalletConnectorEvent = (eventEmitters, eventName, handler) => {
9
40
  const callbackRef = React.useRef(handler);
10
- useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
11
- callbackRef.current = handler;
12
- }, [handler]);
41
+ callbackRef.current = handler;
13
42
  React.useEffect(() => {
14
43
  if (!eventEmitters)
15
44
  return;
@@ -24,7 +53,7 @@ const useWalletConnectorEvent = (eventEmitters, eventName, handler) => {
24
53
  const uniqueEventEmitters = Array.from(new Set(eventEmittersArray));
25
54
  const unsubscribeCallbacks = uniqueEventEmitters.map((emitter) => {
26
55
  const callback = (...args) => {
27
- callbackRef.current(emitter, ...args);
56
+ callbackRef.current(...args, emitter);
28
57
  };
29
58
  emitter.on(eventName, callback);
30
59
  return () => emitter.off(eventName, callback);
@@ -8,5 +8,37 @@ type ArgumentMap<T extends object> = {
8
8
  [K in keyof T]: T[K] extends (...args: any[]) => void ? Parameters<T[K]> : T[K] extends any[] ? T[K] : any[];
9
9
  };
10
10
  type EventArg<Event extends keyof WalletConnectorEventTypes> = ArgumentMap<WalletConnectorEventTypes>[Extract<Event, keyof WalletConnectorEventTypes>];
11
- export declare const useWalletConnectorEvent: <Event_1 extends keyof WalletConnectorEventTypes = keyof WalletConnectorEventTypes>(eventEmitters: WalletConnector | WalletConnector[] | undefined, eventName: Event_1, handler: (connector: WalletConnector, ...args: EventArg<Event_1>) => void) => void;
11
+ /**
12
+ * Hook for handling events from a WalletConnector or an array of WalletConnectors.
13
+ * This hook allows you to specify an event to listen to and a handler function that will be called
14
+ * whenever the event is emitted. The handler will receive the event arguments followed by the instance
15
+ * of the WalletConnector that emitted the event.
16
+ *
17
+ * @template Event - The type of the event to listen for, which should be a key of WalletConnectorEventTypes.
18
+ *
19
+ * @param eventEmitters - The WalletConnector instance(s) to attach the event listener to.
20
+ * If an array is provided, the event listener is attached to all provided connectors.
21
+ * @param eventName - The name of the event to listen for.
22
+ * @param handler - The callback function to execute when the event is emitted.
23
+ * The arguments to the callback are the arguments emitted with the event, followed by the WalletConnector instance
24
+ * that emitted the event.
25
+ *
26
+ * @returns {void} This hook does not return anything.
27
+ *
28
+ * @example
29
+ * // Example usage of useWalletConnectorEvent
30
+ * const { primaryWallet } = useDynamicContext();
31
+ *
32
+ * useWalletConnectorEvent(
33
+ * primaryWallet?.connector,
34
+ * 'accountChange',
35
+ * ({ accounts }, connector) => {
36
+ * console.group('accountChange');
37
+ * console.log('accounts', accounts);
38
+ * console.log('connector that emitted', connector);
39
+ * console.groupEnd();
40
+ * },
41
+ * );
42
+ */
43
+ export declare const useWalletConnectorEvent: <Event_1 extends keyof WalletConnectorEventTypes = keyof WalletConnectorEventTypes>(eventEmitters: WalletConnector | WalletConnector[] | undefined, eventName: Event_1, handler: (...args: [...EventArg<Event_1>, import("@dynamic-labs/wallet-connector-core").WalletConnectorCore.WalletConnector]) => void) => void;
12
44
  export {};
@@ -1,11 +1,40 @@
1
1
  import { useRef, useEffect } from 'react';
2
- import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js';
3
2
 
3
+ /**
4
+ * Hook for handling events from a WalletConnector or an array of WalletConnectors.
5
+ * This hook allows you to specify an event to listen to and a handler function that will be called
6
+ * whenever the event is emitted. The handler will receive the event arguments followed by the instance
7
+ * of the WalletConnector that emitted the event.
8
+ *
9
+ * @template Event - The type of the event to listen for, which should be a key of WalletConnectorEventTypes.
10
+ *
11
+ * @param eventEmitters - The WalletConnector instance(s) to attach the event listener to.
12
+ * If an array is provided, the event listener is attached to all provided connectors.
13
+ * @param eventName - The name of the event to listen for.
14
+ * @param handler - The callback function to execute when the event is emitted.
15
+ * The arguments to the callback are the arguments emitted with the event, followed by the WalletConnector instance
16
+ * that emitted the event.
17
+ *
18
+ * @returns {void} This hook does not return anything.
19
+ *
20
+ * @example
21
+ * // Example usage of useWalletConnectorEvent
22
+ * const { primaryWallet } = useDynamicContext();
23
+ *
24
+ * useWalletConnectorEvent(
25
+ * primaryWallet?.connector,
26
+ * 'accountChange',
27
+ * ({ accounts }, connector) => {
28
+ * console.group('accountChange');
29
+ * console.log('accounts', accounts);
30
+ * console.log('connector that emitted', connector);
31
+ * console.groupEnd();
32
+ * },
33
+ * );
34
+ */
4
35
  const useWalletConnectorEvent = (eventEmitters, eventName, handler) => {
5
36
  const callbackRef = useRef(handler);
6
- useIsomorphicLayoutEffect(() => {
7
- callbackRef.current = handler;
8
- }, [handler]);
37
+ callbackRef.current = handler;
9
38
  useEffect(() => {
10
39
  if (!eventEmitters)
11
40
  return;
@@ -20,7 +49,7 @@ const useWalletConnectorEvent = (eventEmitters, eventName, handler) => {
20
49
  const uniqueEventEmitters = Array.from(new Set(eventEmittersArray));
21
50
  const unsubscribeCallbacks = uniqueEventEmitters.map((emitter) => {
22
51
  const callback = (...args) => {
23
- callbackRef.current(emitter, ...args);
52
+ callbackRef.current(...args, emitter);
24
53
  };
25
54
  emitter.on(eventName, callback);
26
55
  return () => emitter.off(eventName, callback);
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var data = require('../../../views/WalletList/data.cjs');
7
- var verifyMagicIsSetup = require('./utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs');
7
+ var verifyRequiredConnectorsAreSetup = require('./utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs');
8
8
 
9
9
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, networkConfigurations, walletBook, walletConnectV1Bridge, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
10
10
  const walletConnectorOptions = React.useMemo(() => {
@@ -44,7 +44,7 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
44
44
  React.useEffect(() => {
45
45
  if (!projectSettings || walletConnectorOptions.length === 0)
46
46
  return;
47
- verifyMagicIsSetup.verifyMagicIsSetup(projectSettings, walletConnectorOptions.map(({ walletConnector }) => walletConnector));
47
+ verifyRequiredConnectorsAreSetup.verifyRequiredConnectorsAreSetup(projectSettings, walletConnectorOptions.map(({ walletConnector }) => walletConnector));
48
48
  }, [walletConnectorOptions, projectSettings]);
49
49
  return { walletConnectorOptions };
50
50
  };
@@ -1,6 +1,6 @@
1
1
  import { useMemo, useEffect } from 'react';
2
2
  import { getWallets } from '../../../views/WalletList/data.js';
3
- import { verifyMagicIsSetup } from './utils/verifyMagicIsSetup/verifyMagicIsSetup.js';
3
+ import { verifyRequiredConnectorsAreSetup } from './utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js';
4
4
 
5
5
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, networkConfigurations, walletBook, walletConnectV1Bridge, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
6
6
  const walletConnectorOptions = useMemo(() => {
@@ -40,7 +40,7 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
40
40
  useEffect(() => {
41
41
  if (!projectSettings || walletConnectorOptions.length === 0)
42
42
  return;
43
- verifyMagicIsSetup(projectSettings, walletConnectorOptions.map(({ walletConnector }) => walletConnector));
43
+ verifyRequiredConnectorsAreSetup(projectSettings, walletConnectorOptions.map(({ walletConnector }) => walletConnector));
44
44
  }, [walletConnectorOptions, projectSettings]);
45
45
  return { walletConnectorOptions };
46
46
  };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var utils = require('@dynamic-labs/utils');
6
+
7
+ class ConnectorSetupError extends utils.DynamicError {
8
+ constructor(providerName, connectorName) {
9
+ super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`);
10
+ }
11
+ }
12
+
13
+ exports.ConnectorSetupError = ConnectorSetupError;
@@ -0,0 +1,4 @@
1
+ import { DynamicError } from '@dynamic-labs/utils';
2
+ export declare class ConnectorSetupError extends DynamicError {
3
+ constructor(providerName: string, connectorName: string);
4
+ }
@@ -0,0 +1,9 @@
1
+ import { DynamicError } from '@dynamic-labs/utils';
2
+
3
+ class ConnectorSetupError extends DynamicError {
4
+ constructor(providerName, connectorName) {
5
+ super(`${providerName} is enabled but ${connectorName} is not in your walletConnectors list. See https://docs.dynamic.xyz/react-sdk/wallet-connectors for more information.`);
6
+ }
7
+ }
8
+
9
+ export { ConnectorSetupError };